Sqli-labs Less-33 宽字节注入 嵌套查询 绕过addslashes()函数转义

 
更多

关键代码

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";
print_r(mysql_error());

此处过滤使用函数addslashes()

addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

预定义字符是:

  • 单引号(’)
  • 双引号(”)
  • 反斜杠(\)

提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。

addslashes()函数和我们在32关实现的功能基本一致的,所以我们依旧可以利用%df进行绕过。

Notice:使用addslashes(),我们需要将mysql_query设置为binary的方式,才能防御此漏洞。

mysql_query("SET character_set_connection=gbk,character_set_result=gbk,character_set_client=binary",$conn);

本关和上一关的payload是一样的,举例如下

http://127.0.0.1/sql/Less-33/?id=-1%df’ union select 1,database(),3–+

 

打赏

本文固定链接: https://www.cxy163.net/archives/4963 | 绝缘体

该日志由 绝缘体.. 于 2020年04月09日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Sqli-labs Less-33 宽字节注入 嵌套查询 绕过addslashes()函数转义 | 绝缘体
关键字: , , , ,

Sqli-labs Less-33 宽字节注入 嵌套查询 绕过addslashes()函数转义:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter