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

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

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

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

href输出

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

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

构造payload ,

javascript:alert(1)

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

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

JS 输出

查看后端代码

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

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

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

X' 
 
kuberctl工具汇总
go中阶乘实现时递归及迭代方式的比较
【2024年最新】AI教程-AI大模型知识,零基础入门到精通