1.寻找注入点
初始页面无id参数
添加?id=1页面返回正常
添加'
测试页面回显正常
添加"
测试页面报错,可能存在SQL注入漏洞
分析报错语句:
"1"")LIMIT 0,1
处有错误
去掉我们输入的"
原语句可能为:
SELECT * FROM table WHERE id = ("1") LIMIT 0,1
继续测试,分析报错语句得出需要闭合"
构造 接着构造 and "1
页面返回正常
构造 and "0
页面无回显
两次测试页面返回不一样
存在SQL注入漏洞
因为页面会回显数据所以使用union注入
2.开始注入
用order by子句确定列数
根据前面的报错信息分析出需要闭合双引号和括号才能使用order by 子句,构造出如下语句
") order by 4%23
页面报错为找到第4列
说明语句执行成功
将4改成3页面正常回显,说明此表有3列
更前面的id参数使前面的查询结果为空,接着构造union语句爆出回显点
") union select 4,5,6%23
此时爆出了回显点5和6的位置
此时在回显点的位置使用内置库查询就可以查出所有信息了