
Abstract使用工具Burp Suite抓包尝试解决BUU-Basic SQL的基础题SQLI-Labs 14学习几种注入方法。欢迎各位提出宝贵意见很高兴能帮助到您Tips) 字符注入点后端代码$id $_GET[id]; $sql SELECT * FROM users WHERE id($id) LIMIT 0,1;数字注入点后端代码$id $_GET[id]; $sql SELECT * FROM users WHERE id$id LIMIT 0,1;Page One 基础注入1 GET注入 报错型 字符注入1 用Burp抓包如图2 提示输入id作为参数便构造url表单参数以此确认 id 为注入点如图3 判断注入类型尝试加入 观察到响应包有报错报文提示 包裹由此确认是 的字符型注入观察插入后的后端sql语句如图select ... from ... where id1 limit 0,1观察到该SQL语句尾部有LIMIT限制结果将其注释处理观察插入后的后端sql语句#后的被注释掉如图select ... from ... where id1# limit 0,14 判断查询列数1或2或3响应包均有内容其他均无内容由此推断3列如图5 使用union联合查询查找外显点观察到2和3列可以外显数据如图6 查找当前使用的数据库如图7 查找网站使用的所有数据库如图8 观察到数据库ctftraining和flag关联性大优先选择来查表查列找到flag如图2 GET注入 报错型 数字注入1 提示 id 为注入点尝试加入 观察到响应包有报错报文提示 多余由此报文确认 是多余的符号故不是字符注入是数字注入观察插入后的后端sql语句如图select ... from ... where id1观察到该SQL语句尾部有LIMIT限制结果将其注释处理观察插入后的后端sql语句#后的被注释掉如图select ... from ... where id1 # limit 0,1并且按照下列形式插入同样可证明是数字注入如图2 本题和一的区别在于注入类型不同其他思路相同如图3 GET注入 报错型 字符注入1 提示 id为注入点尝试加入 观察到响应包有报错由报文确认是 ) 字符注入如图2 此题和一的区别在于是 ) 字符注入其他思路相同如图4 GET注入 报错型 字符注入1 提示 id 为注入点尝试输入 或 ) 均无反应 响应包有报错由报文确认是 字符注入如图2 本题和一的区别在于是 ) 符号注入其他思路相同如图