sqli-labs less24 POST- Second Order Injections *Real treat* -Stored Injections (二次注入)

Posted superkrissv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqli-labs less24 POST- Second Order Injections *Real treat* -Stored Injections (二次注入)相关的知识,希望对你有一定的参考价值。

技术分享图片

简单登陆浏览一遍后,发现是一个登陆注册修改密码的应用

审查一下代码

登陆页面的username,password使用了转义

技术分享图片

注册页面的参数也进行了转义处理

技术分享图片

但是在修改password的页面,直接从session中获取了username

这样就有了一个问题,username是在注册时被创建的,虽然进行了转义,但是没有做输入字符的限制

技术分享图片

看一下修改密码的sql语句

$sql = "UPDATE users SET PASSWORD=‘$pass‘ where username=‘$username‘ and password=‘$curr_pass‘ ";

如果username=admin‘#就会构成,#号后面的变成了注释,那么我们就修改了admin的密码

UPDATE users SET PASSWORD=$pass where username=admin‘# and password=$curr_pass

来测试一下

技术分享图片

成功注册,数据库中也添加了对应的数据

技术分享图片

技术分享图片

也可以正常的登陆

技术分享图片

然后我们来修改密码

技术分享图片

为了方便观察,将sql语句输出一下

技术分享图片

技术分享图片

 提示密码修改成功

技术分享图片

这样我们就将admin的密码修改为123456

可以在数据库中确认一下

技术分享图片

 

以上是关于sqli-labs less24 POST- Second Order Injections *Real treat* -Stored Injections (二次注入)的主要内容,如果未能解决你的问题,请参考以下文章

sqli-labs less11-12(post型union注入)

Sqli-Labs less23-24

sqli-labs less34 POST- Bypass AddSlashes (POST型绕过addslashes() 函数的宽字节注入)

sqli-labs less13 POST - Double Injection - Single quotes- String -twist (POST型单引号变形双注入)

sqli-labs less45 POST -Error based -String -Stacked Blind(POST型基于盲注的堆叠字符型注入)

sqli-labs less19 POST - Header Injection - Referer field - Error based (基于头部的Referer POST报错注入)