addslashes注入漏洞与mb_addslashes
来源:互联网 发布:淘宝自然流量提升 编辑:程序博客网 时间:2024/05/21 21:46
由于addslashes无视目标字符串的编码,直接按照二进制字节对字符串添加下划线,会导致很多注入隐患。
比如说gbk环境下,有一个宽字符是"\xbf\x27"。虽然它不在gbk的编码范围内,但是会把它当成宽字符解析,攻击者可以通过构造url参数等方式传进来。传统的addslashes函数会直接无视掉"\xbf"而直接对后面的"\x27"加下划线,结果变成了"\xbf\x5c\x27"。这样前面两个字节构成宽字符,后面的"\x27"就会单独被解析。
防止注入的话,能够预编译是最好,不能的话应该按照当前的编码,用mb前缀的字符串处理函数手写一个。
比如下面这个:
function mb_addslashes($str, $enco){ $retstr = ""; $len = mb_strlen($str, $enco); for($i = 0; $i < $len; $i++) { $chr = mb_substr($str, $i, 1, $enco); if($chr == "\0") $retstr .= "\\0"; else if($chr == "'") $retstr .= "\\'"; else if($chr == "\"") $retstr .= "\\\""; else if($chr == "\\") $retstr .= "\\\\"; else $retstr .= $chr; } return $retstr;}
0 0
- addslashes注入漏洞与mb_addslashes
- addslashes注入漏洞与mb_addslashes
- addslashes:会导致SQL注入漏洞
- php中addslashes函数与sql防注入
- GBK字符集下addslashes函数的注入漏洞及BUG的解决办法
- XSS漏洞与SQL注入漏洞解决方案
- get_magic_quotes_gpc 与 addslashes 讨论
- get_magic_quotes_gpc与addslashes
- addslashes与mysql_real_escape_st…
- strip_tags与htmlspecialchars,addslashes
- SQL注入漏洞与参数化查询
- php sql注入漏洞与修复
- sql注入漏洞与如何解决
- PHP字符编码绕过漏洞--addslashes、mysql_real_escape漏洞
- PHP字符编码绕过漏洞--addslashes、mysql_real_escape漏洞
- PHP字符编码绕过漏洞--addslashes、mysql_real_escape漏洞
- PHP防sql注入方法 htmlspecialchars addslashes
- addslashes和mysql_real_escape_string防mysql注入
- LogMath
- vs2012站点创建及部署
- as代码在IE中查看技巧
- 对checkpoint not completed的理解
- 学习日记之组合模式和Effective C++
- addslashes注入漏洞与mb_addslashes
- 纯as的深复制
- Ubuntu 12.04中文输入法的安装
- as一些安全限制
- 【学习笔记】对一致性哈希的简单理解
- win7 将资源管理器固定到任务栏
- 字符串跟整型数 拼接成字符串(字符串格式化方法)
- 關於在Flash中使用嵌入字體的問題
- javase的复习------------------15