Pikachu中 Xss的简单防御剖析 --小文文
xss的防范措施总原则:
输入做过滤,输出做转义
过滤:比如对输入的东西做要求,如输入手机号,只能输入数字
转义∶所有输出到前端的数据都根据输出点进行转义,比如输出到html中进行html实体转义,输入到JS里面的进行js转义。
输入过滤
第一part + 防御
例子:输入内容<script>alert(‘123’)</script>


说明:我们输入的<script></script>被过滤掉了

这里使用,实现简单的防御
//preg_replace正则表达式对<script进行替换为空,也就是过滤掉
$message=preg_replace('/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/', '', $_GET['message']);
第二part 严谨的防御++
防御 大小写 输入内容:<SCRIPT>alert(‘123’)</SCRIPT>

点击submit,有下图所示:

利用escapeHTML()函数,实现防御

防御核心
//这里会使用正则对<script进行替换为空,也就是过滤掉,修改方式是:添加escape()函数
$message=escape(preg_replace('/<(.*)

本文详细剖析了Pikachu中针对XSS攻击的防御措施,包括输入过滤、正则表达式替换、HTML转义、JavaScript编码、长度控制、模板引擎安全设置、避免内联事件和拼接HTML等方法,旨在提高网站的安全性。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



