记一次绕过安全狗的渗透

2019-07-16 15:15:46 58 7027

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可以弹回来,但是无法执行命令,各位大佬有什么思路也可以赐教一下小弟,技术有限,也只能做到这里了。

自评 TCV:1

关于作者

pureqh16篇文章95篇回复

评论58次

要评论?请先  登录  或  注册