20、注入篇--绕过与防范措施

绕过 过滤

注释符绕过

​ MYSQL中的注释符

  • 单行注释:–空格 或 #
  • 多行注释:/* 多行注释的内容*/

可以利用 or ‘1’ = '1 闭合单引号

剔除了or和and的绕过

  • MySQL去大小写不敏感
  • MySQL支持十六进制
  • and --> && or–> ||
  • 内联注释 (内联中的语句会当作sql语句执行) /*! 内联注释*/

策略

  • 大小写变形
  • 使用注释的方式 an/**/d
  • 双写绕过 anandd
  • 符号替换 and --> && or–> ||

去除空格的绕过

​ 使用URL编码 空格的URL编码为%20 %09(tab键)

使用SQLmap

​ sqlmap -u “URL” --hex --dbs --batch

  • –hex 对payload进行16进制编码
  • –batch 默认选项

剔除union和select的绕过

​ 大小写绕过 双写绕过

防范措施

代码层面

  1. 对输入进行严格的转义和过滤
  2. 使用预处理和参数化
  3. 白名单
  4. 黑名单
  5. 规范输出
  6. 敏感字符过滤

网络层面

  1. 通过WAF设备
  2. 云端防护

PHP转义+过滤

预处理+参数化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值