xss靶场实战(xss-labs-master靶场)

xss-labs-master靶场链接:https://pan.baidu.com/s/1X_uZLF3CWw2Cmt3UnZ1bTw?pwd=gk9c

提取码:gk9c

xss-labs level 1修改 url 地址中的name=<script>alert(1)</script>,便可以通关

level 2 在搜索框中输入的 JS 代码无法执行

查看网页源码可以发现表单提交的参数被存储在了value属性中

修改闭合方式来闭合value值,插入 js 代码便能执行

"><script>alert(1)</script>

level 3 和上一关的情况差不多,输入值包含在value属性中

测试发现">无法闭合属性值,可能是符号被转义

构造 poc 对响应包中的value属性进行闭合,提交后再次点击搜索框便会弹出弹窗

' οnclick='alert(1)

level 4 查看第四关响应包,可以发现后台对尖括号<>进行了过滤

箭头 2 处却是把<和>删除了但是,事件触发却不需要使用这两个符号。

直接使用事件闭合,注意这关的闭合符为双引号,提交后点击搜索框便会弹窗

" οnclick="alert(1)

" οnfοcus=javascript:alert('xss') "

level 5 查看响应包,可以发现<script>标签中被添加了一个下划线,变成了

<scr_ipt>,导致 JS 代码无法别识别

可以不使用<script>,使用链接标签中的javascript:伪协议来执行 JS 代码,点击插入的链接便会弹窗

"><a href="javascript:alert(1)">

"> <a href=javascript:alert('xss') > <"

level 6 和上一关类似,这次除了<script>标签,<a>标签的href值也会插入一个下划线

而且<img>标签的src属性和onerror属性也会被插入下划线

通过大小写转换可以绕过过滤

"><a hrEF="javascript:alert(1)">

level 7 查看响应包,可以看到后台对script字符串进行了过滤

通过双写script字符串可以绕过过滤

"><scscriptript>alert(1)</scscriptript>

level 8[编码绕过]

从响应包可以看出,系统对表单中的双引号、尖括号进行了转义,在script字符串中插入了下划线(<和>被编码在 href 属性值中script字符被插入了_字符破坏语义)

构造 poc 插入<a>标签的href标签中,利用伪协议执行 JS 代码弹窗:

javascript:alert(1)

将 poc 进行 HTML 实体编码后提交,点击链接后便会弹窗

https://config.net.cn/tools/HtmlEncode.html

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#10

8;&#101;&#114;&#116;&#40;&#49;&#41;

用来闭合引号的引号也被编码。

onfocus 一类的事件也被破坏尝试大小写绕过,也失败我们可以将要提交的 js 代码转成实体

level 9[检测关键字]用第 8 关的方式说链接不合法弹框的信息里面包含http://就可以了

提交的参数值插入到了标签的 value 属性值中

但是在标签的 href 属性中却并没有出现该参数值,

而是显示的 "您的链接不合法?有没有!"这样的字符串。

有可能是将我们的代码进行了过滤

只有包含正常的 url 地址才能添加到 href 属性值中构造一个有正常 url 地址的恶意代码:

java&#115;&#99;&#114;&#105;&#112;&#116;:alert('xsshttp://')

弹框的信息里面包含http://就可以了

相关推荐
qbbmnnnnnn几秒前
【WebGis开发 - Cesium】如何确保Cesium场景加载完毕
前端·javascript·vue.js·gis·cesium·webgis·三维可视化开发
f8979070701 小时前
layui动态表格出现 横竖间隔线
前端·javascript·layui
鱼跃鹰飞1 小时前
Leecode热题100-295.数据流中的中位数
java·服务器·开发语言·前端·算法·leetcode·面试
二十雨辰2 小时前
[uni-app]小兔鲜-04推荐+分类+详情
前端·javascript·uni-app
霸王蟹2 小时前
Vue3 项目中为啥不需要根标签了?
前端·javascript·vue.js·笔记·学习
小白求学12 小时前
CSS计数器
前端·css
Anita_Sun2 小时前
🌈 Git 全攻略 - Git 的初始设置 ✨
前端
lucifer3113 小时前
深入解析 React 组件封装 —— 从业务需求到性能优化
前端·react.js
等什么君!3 小时前
复习HTML(进阶)
前端·html
儒雅的烤地瓜3 小时前
JS | 如何解决ajax无法后退的问题?
前端·javascript·ajax·pushstate·popstate事件·replacestate