首页 > 后端开发 > 正文

有什么 绕过 htmlentities 进行 xss 攻击的方法吗

2024-11-24 23:57:54 | 我爱编程网

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

本文目录一览:

有什么 绕过 htmlentities 进行 xss 攻击的方法吗

求教ThinkPHP 有自带的防止XSS的代码么

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

有什么 绕过 htmlentities 进行 xss 攻击的方法吗

有什么 绕过 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('<','&lt;',$aa);
$aa=str_replace('>','&gt;',$aa);//以上两句是直接过滤'<'和'>'缺点其他便签不能用
/*定向过滤<script>*/
/*
$aa=str_replace('<script>','&lt;script&gt;',$aa);
$aa=str_replace('</script>','&lt;/script&gt;',$aa);
*/
echo $aa."123";//这里没有经过过滤就可以显示出来,导致的
?>

总的来说就是过滤些"非法"标签

我爱编程网

以上就是我爱编程网整理的有什么 绕过 htmlentities 进行 xss 攻击的方法吗相关内容,想要了解更多信息,敬请查阅我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“有什么 绕过 htmlentities 进行 xss 攻击的方法吗”相关推荐