安全狗绕过的五种方法

(一)内联注释(/*![12345]*/)绕过方法:

  • /*!select*/: 相当于没有注释
  • /*!12345select*/: 当12345小于当前mysql版本号的时候,注释不生效,当大于版本号的时候注释生效。
  • /*![]*/: []中括号中的数字若填写则必须是5位

(二)

解析:

  • 图中两处 /*!88888www.hacker.wang*/ 即可绕狗 :88888 肯定大于当前啊版本号,所以注释内容不执行,等于没有加这句话,不影响程序运行。
  • 下面的表名要换成16进制。
  • 注意database()中间有个空格

 

(三)第三种绕过方法,精通mysql语法,自然懂的绕过方法

解析:

  • --:表示注释,在mysql中真正的注释是"-- ",这里必须有个空格,否则不是注释,%0a是换行的url编码,换号后,表示重新查询,前面的注释对后面的语句将不再影响,这也要注意,
  • database空格()这里,中间有个空格

 

 

 (四)第四种绕过方法,特殊的URL编码绕过安全狗

解析:

  • 此处%!a是一个错误的url编码,但这个编码比较特殊,可以绕狗,其他则不行。
  • 这里的table_name 要 改成 table_name in (0x7573657273) 这种格式
  • database() 中间有个空格 database空格()

 

(五):第五种绕过方法,url另类传参绕过安全狗

这里红色框处,当url参数出现两个同名参数时,将取最后一个参数的值,所以这里会取后面的tel的值,前面传参/*,后面*/闭合:

绕过分析:安全狗误以为/**/是注释的内容所以全部忽略。

 

 

 

 

 

 

mysql版本判断特性

/*!44509select*/ 

视频链接

大数据包编码绕过注入

https://www.bilibili.com/video/BV1JK4y1P7cC/?spm_id_from=333.337.search-card.all.click&vd_source=bdcba18e32d89b5b99852f93ea0c2b77

/*!  */  绕过

https://www.bilibili.com/video/BV1a7411G7h5/?spm_id_from=333.788.recommend_more_video.4&vd_source=bdcba18e32d89b5b99852f93ea0c2b77

文章链接

绕过安全狗的五种方法,你都学会了吗? - 知乎 (zhihu.com)