Sqli-labs Less-42 堆叠注入

    pass_change.php关键代码 $username= $_SESSION["username"]; $curr_pass= mysql_real_escape_string($_POST['current_password']); $pass= mysql_real_escape_string($_POST['password']); $re_pass= mysql_real_escape_string($_POST['re_password']); $sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' "; pdate更新数据后,经过mysq...阅读全文
    作者:绝缘体.. | 分类:MySQL, PHP, 数据库, 编程语言 | 阅读: | 标签:, , , ,

    Sqli-labs Background-8 堆叠注入

    Stacked injections:堆叠注入。从名词的含义就可以看到应该是一堆sql语句(多条)一起执行。而在真实的运用中也是这样的,我们知道在mysql中,主要是命令行中,每一条语句结尾加 ; 表示语句结束。这样我们就想到了是不是可以多句一起使用。这个叫做stacked injection。 0x01 原理介绍 在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在 ; 结束一个sql语句后继续构造下一条语...阅读全文
    作者:绝缘体.. | 分类:html, MySQL, PHP, 数据库, 编程语言 | 阅读: | 标签:, , , ,

    Sqli-labs Less-35 addslashes()函数失效了

    35关和33关是大致的一样的,唯一的区别在于sql语句的不同。 function check_addslashes($string) { $string = addslashes($string); return $string; } $id=check_addslashes($_GET['id']); mysql_query("SET NAMES gbk"); $sql="SELECT * FROM users WHERE id=$id LIMIT 0,1"; 区别就是id没有被’ “符号包括起来,那我们就没有必要去考虑check_addslashes()函数的意义了,...阅读全文
    作者:绝缘体.. | 分类:MySQL, 数据库 | 阅读: | 标签:, , , ,

    Sqli-labs Background-7 宽字节注入

    Less-32,33,34,35,36,37六关全部是针对’和\的过滤,所以我们放在一起来进行讨论。 我们在此介绍一下宽字节注入的原理和基本用法。 原理:mysql在使用GBK编码的时候,会认为两个字符为一个汉字,例如%aa%5c就是一个汉字(前一个ascii码大于128才能到汉字的范围)。我们在过滤 ‘ 的时候,往往利用的思路是将 ‘ 转换为 \’ (转换的函数或者思路会在每一关遇到的时候...阅读全文
    作者:绝缘体.. | 分类:html, MySQL, 数据库, 编程语言 | 阅读: | 标签:, , , ,