首页 > 数据库技术 > 详细

Sqli labs less 17

时间:2021-09-02 08:15:55      阅读:19      评论:0      收藏:0      [点我收藏+]

less 16的考点是登录后在修改密码界面注入而并非登录时注入。

1.在username和password输入1,1;1,1‘‘测试,验证失败

技术分享图片

 

 2.根据代码查询,

$uname = check_input($_POST[uname]);  
$passwd = $_POST[passwd];

@$sql = "SELECT username, password FROM users WHERE username= $uname LIMIT 0,1";

$result = mysql_query($sql);
$row = mysql_fetch_array($result);

if($row)
{
    $row1 = $row[username];   
    $update="UPDATE users SET password = ‘$passwd‘ WHERE username=‘$row1‘";
    mysql_query($update);
    
    if (mysql_error())
        print_r(mysql_error());

    echo <img src="../images/flag1.jpg"/>;    
}
else  
    echo <img src="../images/slap1.jpg"/>;
从源码中可以看到:接收到用户POST的unamepasswd后,首先根据uname查询数据库的usernamepassword,若uname存在则用passwd替换password,若不存在则显示slap1.jpg。这就是为什么之前试的几条都失败了。
当用户名正确后,页面便能够返回Mysql错误信息,这就可以利用子查询注入在错误信息中返回想要的数据。
username=admin new password=1‘
技术分享图片

 

 

Sqli labs less 17

原文:https://www.cnblogs.com/chensicha/p/15206601.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!