XSS bypass思路及payload

XSS bypass思路及payload

1、特殊标签

常见的a标签、img标签被拦截的很多,可以尝试其他标签进行绕过。这里以svg标签为例。
SVG(Scalable Vector Graphics)是一种基于XML的二维矢量图格式,和我们平常用的jpg/png等图片格式所不同的是SVG图像在放大或改变尺寸的情况下其图形质量不会有所损失,并且我们可以使用任何的文本编辑器打开SVG图片并且编辑它,目前主流的浏览器都已经支持SVG图片的渲染。

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
   <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
   <script>alert(1)</script>
</svg>

由于SVG是支持通过脚本语言来动态访问和修改SVG的任何内容,这点和HTML中的DOM类似,或者说完全一致。因为SVG中的所有标签和属性都已经对应了已经定义的DOM,而这种脚本语言就是JavaScript,所以我们在SVG中插入JavaScript脚本是完全能够被解析的。

2、恶意 pdf 执行 xss

1、启动迅捷 PDF 编辑器打开一个 PDF 文件,或者使用“创建 PDF 文件”功能,通过将其他文档和资源转换为“可移植文档格式”来创建 PDF 文件。
2、单击左侧的“页面”标签,选择与之对应的页面缩略图,然后从选项下拉菜单中选择“页面属性”命令
在这里插入图片描述
3、在“页面属性”对话框单击“动作”标签,再从“选择动作”下拉菜单中选择“运行 JavaScript”命令,然后单击【添加】按钮,弹出 JavaScript 编辑器对话框
在这里插入图片描述
4、在弹出的“JavaScript 编辑器”对话框中输入代码:
在这里插入图片描述
在这里插入图片描述

单击【确定】按钮保存 PDF 文件。
这里需要注意的是:Adobe 支持自身的 JavaScript 对象模型,例如 alert(‘xss’)必须被 APP 对象调用,因此变成了 app.alert(‘xss’)。这意味着,利用 JavaScript 进行攻击时只能使用 Adobe 所支持的功能。

5、关闭软件,直接打开刚才保存的 PDF 文件,JavaScript 代码即被执行。经过测试最新版本的 360 浏览器和谷歌浏览器支持。
现在,尝试把 PDF 文件嵌入到网页中并试运行。创建一个 HTML 文档,代码如下:

<html>
<body>
<objectdata="test.pdf" width="100%" heigh="100%"type="application/pdf"></object>
</body>
</html>

除了把 JavaScript 嵌入 PDF 文件中执行,还可以利用基于 DOM 的方法执行 PDF XSS。

3、利用文件名构造xss

可以通过上传文件的文件名构造存储型xss:在这里插入图片描述
上传成功:
在这里插入图片描述

4、jsfuck绕过过滤

一次项目中遇到了服务对传入的数据均作了大写处理,则ALERT(1)等js的方法会无法识别。此时可以尝试通过利用jsfuck来进行绕过
同时如果:,//,\,. 会受到影响,但是其他敏感字符东西",',[,],{,}并不会受到影响。
所以,我们需要利用这些白名单字符构建 payload。很快我们便想到了jsfuck.com网站。
http://www.jsfuck.com/
在这里插入图片描述

总结

以上是个人的一些绕过思路,后续如果有新的姿势也会补充,希望各位朋友能够批评、补充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
XSS漏洞是一种常见的网络安全漏洞,攻击者可以通过在网页中注入恶意的脚本代码来获取用户的敏感信息或者执行恶意操作。手工构造XSS payload是指攻击者通过编写特定的恶意代码来利用XSS漏洞。 在构造XSS payload时,攻击者通常会利用一些特殊的字符或者代码来绕过网站的过滤机制,使恶意代码能够被执行。一些常见的XSS payload包括但不限于以下几种: 1. `<script>alert('XSS')</script>`:这是最简单的XSS payload,它会在网页中弹出一个提示框。 2. `<img src="x" onerror="alert('XSS')">`:这个payload利用了`<img>`标签的`onerror`事件,当图片加载失败时会执行其中的代码。 3. `<svg/onload=alert('XSS')>`:这个payload利用了SVG标签的`onload`事件,当SVG图像加载完成时会执行其中的代码。 4. `javascript:alert('XSS')`:这个payload利用了JavaScript伪协议,直接在URL中执行JavaScript代码。 需要注意的是,构造XSS payload是一种攻击行为,严禁利用这些技术进行非法攻击。本文提到的payload仅供学习和研究用途,请遵守法律法规,不要进行任何违法行为。 #### 引用[.reference_title] - *1* *2* *3* [反射型XSS、存储型XSS和DOM型XSS的简介及XSS常见payload构造及变形](https://blog.csdn.net/bwxzdjn/article/details/123645177)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值