今天我爱编程网小编为大家带来了有什么 绕过 htmlentities 进行 xss 攻击的方法吗,希望能帮助到大家,一起来看看吧!
本文目录一览:

求教ThinkPHP 有自带的防止XSS的代码么
你好,据我所知,ThinkPHP并没有自带的防止XSS的代码.不过,在PHP上,要想防止XSS,其实很简单,只需要调用一个函数即可:htmlspecialchars()
在你的要求输入字符的位置,调用htmlspecialchars()函数即可.
希望我的回答能够对你有所帮助.

有什么 绕过 htmlentities 进行 xss 攻击的方法吗
函数:htmlentities(string,quotestyle,character-set)
参数二是可选的。
规定如何编码单引号和双引号。
ENT_COMPAT - 默认。仅编码双引号或不成对的单引号。
ENT_QUOTES - 编码双引号和单引号。
ENT_NOQUOTES - 不编码任何引号。
参数三也可选的,是转换的字符集类型。
有这么一种情形:当我们使用这个函数的时候,使用了参数二。设置了过滤掉双引号很单引号这些东西(或许不编码)就容易出现XSS。
如:
<?php
echo htmlspecialchars($_GET[url], ENT_QUOTES);
?>
替换掉url里面的单引号和双引号,看起来是过滤的不错的,但是如果这个url没有出现单引号或双引号呢?或者双引号和单引号以另外的情况出现呢(二次编码)?
关于二次编码:
<script>alert(document.cookie)</script>
如UTF-7编码后的
+ADw-SCRIPT+AD4-alert(document.cookie)+ADw-/SCRIPT+AD4-
最终为:
%2bADw-SCRIPT%2bAD4-alert(document.cookie)%2bADw-%2fSCRIPT%2bAD4-
可以考虑用于对付那些没有设置字符集,并且过滤了 <>的情况。
修复php漏洞xss改那个文件
我爱编程网(https://www.52biancheng.com)小编还为大家带来修复php漏洞xss改那个文件的相关内容。
<?php
$aa=$_GET['dd'];
echo $aa."123";//这里没有经过过滤就可以显示出来,导致的
?>
过滤原理:
首先要想执行js脚本那就让html解析那些是js脚本,诸如:
<script type="text/javascript">alert("这里会被js执行");</script>
所以要过滤<script>标签和</script>
或者过滤‘<’和‘>’这两个符号
实现:
<?php
$aa=$_GET['dd'];
$aa=str_replace('<','<',$aa);
$aa=str_replace('>','>',$aa);//以上两句是直接过滤'<'和'>'缺点其他便签不能用
/*定向过滤<script>*/
/*
$aa=str_replace('<script>','<script>',$aa);
$aa=str_replace('</script>','</script>',$aa);
*/
echo $aa."123";//这里没有经过过滤就可以显示出来,导致的
?>
总的来说就是过滤些"非法"标签
我爱编程网以上就是我爱编程网整理的有什么 绕过 htmlentities 进行 xss 攻击的方法吗相关内容,想要了解更多信息,敬请查阅我爱编程网。更多相关文章关注我爱编程网:
www.52biancheng.com免责声明:文章内容来自网络,如有侵权请及时联系删除。