SQL注入进阶

2019-07-29  本文已影响0人  温柔倾怀

绕过条件过滤

条件过滤,顾名思义就是黑名单机制,过滤掉符合条件的语句。因此我们要想办法绕过过滤,用其他方法来实现注入。


绕过UNION&SELECT过滤

union all select

绕过函数过滤

addslashes() 函数在指定的预定义字符前添加反斜杠。

  这些预定义字符是:单引号 (')、双引号 (")、反斜杠 (\)、NULL

mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。

  下列字符受影响:\x00、\n、\r、\、’、"、\x1a

浅析白盒审计中的字符编码及SQL注入
https://www.leavesongs.com/PENETRATION/mutibyte-sql-inject.html
遇到一个有趣的逻辑漏洞
https://www.leavesongs.com/PENETRATION/findpwd-funny-logic-vul.html


绕过伪静态

  伪静态:伪静态通俗点说就是假的静态页面,也就是通过各种技术手段,让动态页面的URL看上去和静态页面的一样。

  .htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。

  我们这里利用.htaccess文件,配置重写引擎,来实现伪静态的效果。

参考资料:
Htaccess:http://www.zzbaike.com/wiki/Htaccess
Apache/RewriteRule:http://www.zzbaike.com/wiki/Apache/RewriteRule


搜索型注入

搜索型注入,就是指注入点存在于搜索功能上,很多网站都有提供搜索功能,这里也可能存在注入的。

SELECT * FROM users WHERE id='$id'
SELECT * FROM users WHERE username like '%$uname%' order by id


is_numeric过滤

PHP常用的过滤类函数

is_numeric()函数用于检测变量是否为数字或数字字符串
 如果将二进制或十六进制数据传递至is_numeric()函数,则也会返回为true,即被is_numeric()函数检测是数字

利用dns进行盲注


参考文章

绕过WAF继续SQL注入常用方法 https://www.freebuf.com/articles/web/36683.html
tamper脚本编写:https://blog.csdn.net/qq_29277155/article/details/52266478
[MySQL数据库5.X版本基本手工注入总结] https://www.2cto.com/article/201208/151503.html?pavyra=d3nh03


部分汇总

上一篇 下一篇

猜你喜欢

热点阅读