前言
该文章主要描述了addslashes()函数常见的编码绕过的情况
2020-01-07
天象独行
函数addslashes()作用是返回在预定义字符之前添加反斜杠的字符串。预定义字符是单引号(')双引号(")反斜杠(\)NULL。比如下图,这样就造成了得结果是我们无法在注入的过程当中使用单引号(’)。在字符行注入的时候是比较头疼的一件事情。下面我们讨论一下一些情况可以绕过addslashes()函数。
测试代码如下:
1
2
3
4
过滤函数和类---addslashes()函数5
6
7
8
addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。预定义字符是单引号(')双引号(")反斜杠(\)NULL
9 10 Username :
11 Password :
12
13 14 <?php15 function deep_addslashes($str)16 {17 if(is_array($str))18 {19 foreach($str as $key=>$val)20 {21 $str[$key] = deep_addslashes($val);22 }23 }24 else25 {26 $str = addslashes($str);27 }28 return $str;29 }30 $username = $_POST[