[理论-学习]Web安全-XSS-基础08

声明:

由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。

笔记内容来源于各类网课。

环境:

XSS Challenges Stage #4:http://xss-quiz.int21h.jp/ , Firefox浏览器,BurpSuite

一、概述

隐藏提交参数中的XSS。

二、表单隐藏域和SVG

        隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的。当表单被提交时,隐藏域就会将信息用你设置时定义的名标和值发送到服务器上。

        SVG意为可缩放矢量图形(Scalable Vector Graphics)。SVG使用XML格式定义图像。SVG文件可通过以下标签嵌入HTML文档:
<embed><object> 或者<iframe> 。也可以使用<svg>标签插入。

利用svg中的事件(例如onload)触发JS脚本。

<svg onload=alert(1); />

 更多关于svg的信息

三、XSS探测过程

1. 正常的数据提交

提交数据123abc。

2. 代码审查

通过代码审查和POST请求分析,发现一个隐藏域,和两个数据回显的地方。

我们通过BurpSuite进行抓包,依次尝试是否有注入点。

首先是对p1参数

强制识别为字符串,无法进行注入。

然后是对p2参数

强制识别为字符串,无法注入。

最后是对p3参数

我们的脚本成功注入input的value属性中。我们使用闭合引入script和闭合引入事件都可实现XSS。

我们尝试使用闭合引入script进行触发。

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

成功执行JS脚本。 

3. 构造Payload

我们可使用BurpSuite抓包,使p3为如下值:

p3 = hackme"> <script>alert(document.domain);</script>

 

成功嵌入JS脚本、并执行。

或者使用svg标签尝试注入脚本。

p3=hackme"> <svg onload=alert(document.domain)>

 同样成功注入JS脚本,并执行。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值