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>

得到攻击结果

相关推荐
FreeBuf_14 分钟前
恶意Chrome扩展窃取钱包登录凭证并实施自动化交易
前端·chrome·自动化
Mr_sun.14 分钟前
Day02——基础数据开发-服务管理前端
前端·状态模式
qq_124987075316 分钟前
基于微信小程序的垃圾分类信息系统(源码+论文+部署+安装)
java·前端·spring boot·后端·微信小程序·小程序·计算机毕业设计
琹箐17 分钟前
AntDesign AFormItem中表单元素嵌套及校验
前端·javascript·vue.js
梦65023 分钟前
VUE3简单实现九宫格点击抽奖
前端·javascript·vue.js
郑州光合科技余经理26 分钟前
中台架构实战:同城O2O系统二次开发与部署指南
java·大数据·开发语言·前端·后端·架构·php
人道领域30 分钟前
JavaWeb从入门到进阶(HTML)
前端·html
爱吃山竹的大肚肚36 分钟前
Nginx 最核心和常用的命令
java·运维·服务器·前端·nginx
光影少年1 小时前
next.js与纯react区别
前端·javascript·react.js
派大鑫wink1 小时前
【Day31】Web 开发入门:HTTP 协议详解(请求 / 响应、状态码、请求头)
前端·网络协议·http