Web
记一次文件上传 Bypass WAF实战
2018-10-30 16:24

前言


10月初秋某周末,夜微凉,一鼠标,一键盘,一杯枸杞茶还散发着余温。时间是凌晨1点06分,在一顿乱搜索加乱拼凑的情况下,意外绕过了某盾云WAF加360网站卫士防护的网站,我觉得应该记录下这个有趣的故事。

PS:目标站是SRC平台上的一个小站,截至投稿前,已将漏洞提交并验证已经修复,各位表哥就不用费心去找有没有打码漏点的图暴露了目标站点,再去做测试啥的了。


信息收集


域名:http://xxx.xxx.cn/

服务器:Windows2008 R2

中间件:IIS7.5 (404报错)

脚本:

php(通过分别访问index.asp、index.php、index.aspx、index.jsp)

数据库:mysql(猜的)

访问主页页面如下:

微信图片_20181030154647.jpg

微信图片_20181030154654.jpg

以上报错界面为iis7/7.5

接下来登录框SQL注入尝试一下

微信图片_20181030154827.jpg

微信图片_20181030154831.jpg

如上拦截说明存在云WAF,绕过云WAF的思路为找到真实IP,方法有如下:

1、查找域名历史解析。(测试未果)

2、注册邮件。(并没有注册功能)

测试了一段时间寻找真实IP未果,夜很静,心很凉。一口枸杞茶入我心,理理思路,顺手翻翻基础笔记,发现了网站渗透终极心法。

微信图片_20181030155015.jpg

故此处先放一放WAF,接下来的思路是先找学号或者工号进行爆破,看能不能登录管理界面进行下一步测试,只是单一个登录前台可以测试的内容很有限。

科学上网谷歌hack语法跑一下

Site:xxx.cnintext:工号  (查找所有有关域名包含工号的内容)

微信图片_20181030155112.jpg

还好没让我失望,找到了工号为1420的账户,此为另一个子站的信息,但工号应该是通用的。

通过工号位数可以定义字典进行爆破,登录处无验证码。


★ 登陆爆破 ★


上述获取了工号信息,以下进行定义字典

微信图片_20181030155328.jpg

此处定义了90个进行爆破测试,由于存在云WAF,爆破时需调低线程及加大发包间隔时间。

微信图片_20181030155334.jpg

如上成功爆破出工号密码相同的账号

用户:1422

密码:1422

进行登录

微信图片_20181030155634.jpg

微信图片_20181030155637.jpg


★ 文件上传 ★


如上成功登录了教师的管理界面,寻找上传点,找到了一个fckeditor编辑器。如下

微信图片_20181030155641.jpg

Fckeditor漏洞如下:

1、遍历目录,此处测试不存在。

2、文件名+iis6解析漏洞,此处为iis7。

3、upload.php任意文件上传,测试不存在。

4、fckeditor 2.6.4 任意文件上传漏洞,测试未复现

且在测试上传时,发现只要存在php等危险后缀就会被该WAF拦截

微信图片_20181030160041.jpg

★ BypassWAF ★

5.1Bypass 云WAF

于是在上述拦截后,我一顿乱搜索,发现以下构造畸形请求包的方法

在boundary=空格----WebKitForxxxxxxxx

即可绕过云WAF,如下

微信图片_20181030160307.jpg

此时发现已经绕过了云WAF,但此时的报错页面999NO Hacking 是360网站卫士的拦截报错。我一摸我的枸杞茶都凉了,但还是得继续啊,于是又一通乱搜索。


5.1Bypass 360网站卫士

还是让我找到了方法filename=”log.回车php”

微信图片_20181030160431.jpg

如上,已经绕过了云WAF及网站卫士,但是由于FCKeditor不支持上传该后缀文件,故返回202,如支持的后缀会返回如下

微信图片_20181030160600.jpg

链接:http://xxx.xxx.cn/uploadfiles/images/image/oo(1).gif

访问则是可爱的emoji

微信图片_20181030160727.jpg

当然扯了半天不可能只是为了上传这个emoji的,在测试了fck无法突破时,还发现了另外一处上传点。

★ 网站getshell ★

另一处上传点如下,上传附件的

微信图片_20181030160730.jpg

使用上述的方法成功绕过,上传了php脚本,激动人心的时刻。

微信图片_20181030160734.jpg

返回路径为:/uploadfiles/upfiles/201810230102325065.php

拼接访问:http://xxx.xxx.cn/uploadfiles/upfiles/201810230102325065.php

微信图片_20181030161155.jpg

纳尼?没上传成功吗?于是访问http://xxx.xxx.cn/uploadfiles/    

存在

微信图片_20181030161249.jpg

再访问http://xxx.xxx.cn/uploadfiles/upfiles/   

不存在

微信图片_20181030161406.jpg

在这里纠结测试了很久,甚至都登上了另外一个账号去看发布的通告,但通告里确实没有附件的,都快怀疑实际并未上传成功了。但后来一个小细节,让我有了发现,如下

微信图片_20181030161410.jpg

Referer:http://xxx.xxx.cn/newe2014/


拼接访问:http://xxx.xxx.cn/newe2014/uploadfiles/upfiles/201810230102325065.php

微信图片_20181030161413.jpg

完美的空白页面,免杀的客户端shell,通过神器进行连接测试

微信图片_20181030161622.jpg

成功获取网站webshell


★ 成功获取权限 ★


收集查看系统的信息,发现虽然有360主机卫士,但没有打补丁,依据当年的计算机基础操作知识,小小提权一下。

微信图片_20181030161940.jpg

微信图片_20181030161943.jpg

微信图片_20181030161945.jpg

由于服务器是在内网,需建立代理才能进行连接

微信图片_20181030162112.jpg

如上,成功Bypass云WAF获取该服务器权限。




★ 版权声明 ★

本文系作者授权合天智汇发表,未经许可,不得转载。

本文仅用于普及网络安全知识,提高小伙伴的安全意识的同时介绍常见漏洞的特征等,若读者因此做出危害网络安全的行为后果自负,与合天智汇以及原作者无关,特此声明。

上一篇:没有了
下一篇:Tomcat样列目录session操控漏洞
版权所有 合天智汇信息技术有限公司 2013-2021 湘ICP备14001562号-6
Copyright © 2013-2020 Heetian Corporation, All rights reserved
4006-123-731