XSS-Game level 5

简介: 第五关过滤了 <script> 和 on 事件 , 使用 a 标签绕过

第五关过滤了 <script> 和 on 事件 , 使用 a 标签绕过


image.png



源码中,过滤了大小写,替换了 <script 标签 和 on 事件 , 并将参数拼接到 value的值


image.png



使用 htmlspecialchars() 过滤标签 , 但未重新赋值给 $str , 所以不会造成影响

image.png

我们使用 a 标签绕过 , payload

"><a href="javascript:alert(5)">aaa</a>

左边的双引号用来闭合 value属性的左双引号 , 左边的尖括号 '>' 用来闭合input标签

<input name=keyword  value="'.$str3.'">    //拼接前
<input name=keyword  value=""> <a href="javascript:alert(5)">aaa</a> ">
 //拼接后

点击 aaa 标签 触发弹窗 , 过关

image.png


相关文章
Minesweeper game(Plain version)--C
Minesweeper game(Plain version)--C
40 0
|
4月前
|
搜索推荐 Docker 容器
生信分析代码之前还好好的,怎么就报错了 Error in Ops. data. frame(guide_loc, panel_loc) :'==' only defined for equally-sized data frames
执行 `DimPlot` 函数时遇到错误 `;Error in Ops. data. frame(g guides_loc, panel_loc) : &#39;==&#39; only defined for equally-sized data frames`。解决方案和办法
1195 0
生信分析代码之前还好好的,怎么就报错了 Error in Ops. data. frame(guide_loc, panel_loc) :'==' only defined for equally-sized data frames
|
开发工具 Android开发 git
Android Studio完美解决 you are about to commit crlf line separators,warning: CRLF will be replaced by LF
Android Studio完美解决 you are about to commit crlf line separators,warning: CRLF will be replaced by LF
1098 1
Android Studio完美解决 you are about to commit crlf line separators,warning: CRLF will be replaced by LF
XSS-Game level 10
第十关过滤了尖括号 > < , 并且隐藏了输入框 , 使用事件绕过,并使输入框取消隐藏
XSS-Game level 10
XSS-Game level 11
第十一关通过 Referer , 利用事件绕过
121 0
XSS-Game level 11
XSS-Game level 9
第九关过滤的很严 , 使用编码绕过
107 0
XSS-Game level 9
|
JavaScript
XSS-Game Level 2
第二关将结果拼接到了value属性中 , 我们插入JS脚本时手动闭合双引号即可
122 0
XSS-Game Level 2
XSS-Game level 6
第六关未过滤大小写 , 使用大小写绕过
108 0
XSS-Game level 6