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

相关推荐
Amd79412 分钟前
Nuxt.js 应用中的 webpack:compiled 事件钩子
前端·webpack·开发·编译·nuxt.js·事件·钩子
生椰拿铁You21 分钟前
09 —— Webpack搭建开发环境
前端·webpack·node.js
狸克先生32 分钟前
如何用AI写小说(二):Gradio 超简单的网页前端交互
前端·人工智能·chatgpt·交互
baiduopenmap1 小时前
百度世界2024精选公开课:基于地图智能体的导航出行AI应用创新实践
前端·人工智能·百度地图
loooseFish1 小时前
小程序webview我爱死你了 小程序webview和H5通讯
前端
菜牙买菜1 小时前
让安卓也能玩出Element-Plus的表格效果
前端
请叫我欧皇i1 小时前
html本地离线引入vant和vue2(详细步骤)
开发语言·前端·javascript
533_1 小时前
[vue] 深拷贝 lodash cloneDeep
前端·javascript·vue.js
guokanglun1 小时前
空间数据存储格式GeoJSON
前端
zhang-zan2 小时前
nodejs操作selenium-webdriver
前端·javascript·selenium