[BT]小迪安全2023学习笔记(第27天:Web攻防-SQL数据类型注入)

第27天

数字和字符串

在SQL中,数字可以不需要单引号,但是字符串需要单引号闭合(不然识别不了)

搜索型

SQL查询语句在字符串有单引号的基础上可能还加入了类似%的通配符,也需要考虑将其闭合

编码型

提交的数据是编码后的值,网站接收后解码再交给SQL执行,需要考虑对Payload进行编码后提交
例如有些网站url传递的参数喜欢用md5或者base64编码后再进行访问

加密型

网站对输入的信息进行了加密,在SQL端解密后进行查询

编码型和加密型都只相当于多了一步数据格式变换,其注入方法依旧不变

对于可能是Base64编码后的SQL注入:

python sqlmap.py -u "URL地址?id=NA==" --tamper=base64encode.py

可以看到网站id值是Base64值,因此使用--tamper参数带上可以对注入点进行Base64编码攻击的脚本

宽字节注入

在平常注入攻击时经常使用单引号闭合前面的SQL查询语句,但是如果网站对符号进行了转义(在符号前面加\

也就是:' -> \'

这时就可以使用宽字节注入了,原理是中文乱码字符或者繁体字在存储时占用两个字节,而\只占用一个字节,因此如果是 �'(乱码字符编码是%df)

那么SQL转义后就是 �\'\的空间被前面的乱码字符占用了,因此本身就被屏蔽掉了不能发挥作用

python sqlmap.py -u "URL地址?id=1" --tamper=unmagicquotes.py

使用--tamper参数带上自动进行绕过转义的攻击脚本

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值