XSS-libs

靶场下载地址:https://github.com/do0dl3/xss-labs

下载完成后解压到phpstudy的根目录下,访问就可以

第一关

参数name

存在alert函数,插入:<script>alert(1)</script>,会调用该函数,然后就会返回弹窗。

构造: ?name=<script>alert(1)</script>

就会有一个弹窗显示,确定后就来到第二关(取消也会)。

第二关

一个搜索框,参数是keyword

先和上一题插入看一下

但是没有找到相关内容,可能进行了过滤,看源代码

可以看到我插入的keyword值的左右符号不能够闭合。

正常的应该是: <input name=keyword value=""><script>alert(1)</script>">

使用">把前面的<和"进行闭合。

所以得到的payloud:?keyword="><script>alert</script>

第三题

尝试<script>alert(111)</script>

查看源代码

发现我传入的<>不见了,被转义了

可以采用鼠标单击事件,从而来调用alert函数

onclick在点击所定义的事件时就会被调用

所以οnclick=alert(111)

再用'闭合掉。

构造:?keyword='οnclick=alert(111)//

传参成功后点击搜索框就会触发单击事件

第四题

使用<script>alert(111)</script>进行尝试

输入的<>符合被过滤了

尝试双写绕过

还是不可以,尝试鼠标单击事件

构造:?keyword="οnclick=alert(111)//&submit=搜索

用鼠标点击搜索框

成功

第五题

同样是尝试<script>alert(111)</script>

可以看到前一个script标签被改写成scr_ipt

尝试onclick

同样被过滤了

使用其他标签<a></a>

标签<a></a>可以使用,使用JS伪协议( javascript:alert(1) )绕过,javascript: 后面的代码当成 javascript来执行,从而调用alert函数

再把前面的闭合掉

最终payloud:?keyword="><a href=javascript:alert(1)>11</a>//&submit=搜索

可以看到插入成功,点击插入的11就会成功

相关推荐
岳哥i7 分钟前
前端项目接入单元测试手册
前端·单元测试
小彭努力中11 分钟前
138. CSS3DRenderer渲染HTML标签
前端·深度学习·3d·webgl·three.js
栈老师不回家31 分钟前
Element UI 组件库详解【Vue】
前端·vue.js·ui
前端青山39 分钟前
webpack进阶(一)
前端·javascript·webpack·前端框架·node.js
前端与小赵44 分钟前
什么是Sass,有什么特点
前端·rust·sass
栈老师不回家1 小时前
axios 请求跨域问题
前端·vue.js
前端拾光者1 小时前
前端数据可视化思路及实现案例
前端·数据库·信息可视化
沉默璇年1 小时前
react中Fragment的使用场景
前端·react.js·前端框架
前端熊猫2 小时前
transform学习
前端·学习·html
GISer_Jing2 小时前
React渲染流程与更新diff算法
前端·javascript·react.js