栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

CodeIgniter-为什么使用xss_clean

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CodeIgniter-为什么使用xss_clean

xss_clean()很广泛,而且很愚蠢。此功能的90%不能阻止xss。比如找这个词

alert

却没有
document.cookie
。没有黑客会使用
alert
他们的漏洞,他们会使用xss劫持cookie或读取CSRF令牌来制作XHR。

但是,运行

htmlentities()
htmlspecialchars()
与之冗余是多余的。其中A的情况下
xss_clean()
解决这一问题,
htmlentities($text,ENT_COMPAT, 'UTF-8')
失败如下:

<?phpprint "<img src='$var'>";?>

一个简单的poc是:

http://localhost/xss.php?var =
http:

//domain/some_image.gif’%20onload = alert(/ xss /)

这会将

onload=
事件处理程序添加到image标签。一种停止这种形式的xss的方法是
htmlspecialchars($var,ENT_QUOTES);

或在这种情况下
xss_clean()
也可以防止这种情况。

但是,引用xss_clean()文档:

当然,没有什么是百分百的万无一失的,但是我无法使任何东西通过过滤器。

话虽如此,XSS

output problem
不是 一个
inputproblem
。例如,此函数无法考虑变量已在
<script>
标签或事件处理程序中。它还不会停止基于DOM的XSS。您需要考虑 如何使用数据
才能使用最佳功能。过滤输入中的所有数据是一个 坏习惯 。它不仅不安全,而且还会破坏数据,从而使比较变得困难。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/594793.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号