SQL注入绕过某waf的详细过程。
0x00起因
看到大家都有绕waf的payload,想了想,这样下去不行啊。总不能找人家要吧,于是我开启了电脑,开始我的bypass之路。
0x01过程
准备完毕后,开始,首先判断注入and 1=1
Ok,2=2试试。
也不行,然后试试and -1=-1
然后是-1=-11
Ok判断绕过,于是咱们开始order by
拦截了,那么删除1试试
没有拦截,初步判断,他这里是检测数字,那么我们尝试/*!1*/
ok绕过,然后剩下的字段我就不截图了,得到字段是3,使用union来获取内容。
拦截,怎么看看他的拦截点在哪,
可以看出,拦截点不在于数字,union或者select必有一个
ok没有拦截,那么我们可以大概的猜到,他判断的是union select组合了。那么,突破点也在他们中间。用火狐的插件试试
失败,那么我们就要用到mysql了,因为咱们注入的时候首先要知道的是他mysql中能不能执行这个语句,然后在尝试。
发现可以查到,但是狗拦截了,于是只能尝试一些字符//,\\,--,/*!,/**/,()等等,开始在mysql里面加
成功,尝试绕过
失败,尝试一些字符看看能不能干扰他的绕过。
利用5位数字来尝试绕过。
OK成功,尝试获取database()
失败他可能检测了我们的这个database()获取过程,那么我们可以用/*!*/尝试
OK成功。其实这个安全狗在注入的时候只能过滤get注入,我们可以尝试post,我直接贴出payload
作者:顾辰博客
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。