网站地图    收藏   

主页 > 后端 > 网站安全 >

PHP双字节、宽字节编码漏洞 - 网站安全 - 自学p

来源:自学PHP网    时间:2015-04-17 13:03 作者: 阅读:

[导读] 用一个demo.php显示效果,代码如下:?phpheader(Content-Type:text/html;Charset=gb2312);echo $_GET[str]; //受污染的,但还有gpcechi br/;echo addslashes($_GET[str]); //调用addslashes函数......

用一个demo.php显示效果,代码如下:
 
<?php
header("Content-Type:text/html;Charset=gb2312");
echo $_GET["str"];               //受污染的,但还有gpc
echi "<br/>";
echo addslashes($_GET["str"]);    //调用addslashes函数过滤有害字符
?>
此时gpc=on。先看结果

1) http://127.0.0.1/demo.php?str=php

PHP 双字节、宽字节编码漏洞

2) http://127.0.0.1/demo.php?str=php'

PHP 双字节、宽字节编码漏洞

3) http://www.2cto.com /demo.php?str=%d5'

PHP 双字节、宽字节编码漏洞

实例2中,php被gpc和addslashes过滤了,但3却没有。

这个%d5'也可以写出%d5%27。当提交%d5'时 ' 会被转义,整个字符为 %d5\',\的编码为5c。

而%d5%5c高8位合并编码为汉字誠,\被我们非法利用,最终%d5'经转义合并编码为“誠' ”进入sql不做过滤。

作者:lcx.cc

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论