Pikachu-xss防范措施 - href输出 & js输出

总体原则: 输入做过滤,输出做转义

过滤:根据业务需要进行过滤,如:输入点要求输入手机号,则只允许输入手机号格式的数字;

转义:所有输出到前端的数据,都根据输出点进行转义,比如输出到html中进行html实体转义,输入到 JS 里面的进行 JS 转义。

href输出

从页面代码上看出,这是个href 标签,并且做了href特殊字符转换

构造payload ,

javascript:alert(1)

要想防止href 标签的xss : 一、可以做输入限定,只允许http 、https 的头的输入;二、结合输入限定后再做特殊字符转义。

JS 输出

查看后端代码

核心点是:$ms == 'tmac'

所以要构造payload, 先闭合引号 用 X' 闭合 script 用 </script> , 单独一组script包着alert,再来一个script对应结尾的 /script 所以整个报文就是:

X'</script><script>alert(1)</script><script>

得到攻击结果

相关推荐
时光追逐者8 分钟前
WaterCloud:一套基于.NET 8.0 + LayUI的快速开发框架,完全开源免费!
前端·microsoft·开源·c#·.net·layui·.netcore
小小李程序员1 小时前
CSS3渐变
前端·css·css3
赵锦川2 小时前
css相关:input输入框中加入搜索图标
java·前端·javascript
yunduor9095 小时前
从零开始搭建UVM平台(九)-加入reference model
前端
莘薪5 小时前
HTML的修饰(CSS) -- 第三课
前端·css·html·框架
某公司摸鱼前端7 小时前
uniapp 上了原生的 echarts 图表插件了 兼容性还行
前端·uni-app·echarts
2401_857297917 小时前
秋招内推--招联金融2025
java·前端·算法·金融·求职招聘
BHDDGT7 小时前
react-问卷星项目(5)
前端·javascript·react.js
小白求学18 小时前
CSS滚动条
前端·css
与妖为邻8 小时前
房屋水电费记账本:内置的数组数据击按钮不能删除,页面手动添加的可以删除
前端·javascript·css·html·localstorage·房租水电费记账本