关于SQL注入,绕过逗号过滤

关于SQL注入,绕过逗号过滤

  • 前言
  • 题目
    • 测试
  • 解题
    • 1.union联合注入
    • 2.盲注
  • 总结

前言

最近在i春秋遇到一道sqli题目,觉得很有意思,总结一下与大家分享。
“百度杯”CTF比赛 九月场,SQLi

题目

如下,注入点是id参数:
在这里插入图片描述

测试

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

测试发现,逗号后面的内容都消失了。结论:不能使用带逗号的sql语句进行注入。存在盲注。

解题

可以使用两种方法注入。union联合注入盲注

1.union联合注入

使用join代替逗号。如下:
在这里插入图片描述
剩下的就是常规手段了,利用information_schema库,爆出库、表、列名。最终如下:
在这里插入图片描述

2.盲注

这个方法就有意思了。
关于SQL注入,绕过逗号过滤_第1张图片

经测试,存在bool型盲注。利用substring函数和ascii函数搞。。。substring函数无需逗号

写脚本,先猜库名:
关于SQL注入,绕过逗号过滤_第2张图片

表名:
关于SQL注入,绕过逗号过滤_第3张图片
列名:
关于SQL注入,绕过逗号过滤_第4张图片
flag:
关于SQL注入,绕过逗号过滤_第5张图片

总结

1.join代替逗号
2.substring函数无需逗号
3.注意小括号的闭合
4.注释不能用#和–+,要用%23,也就是#的url编码。

你可能感兴趣的:(网络,CTF,web安全,安全,sql)