pikachu---xss

存储型xss

 提交的信息都会存储到数据库中,请求页面后也会把这些数据都显示到页面上:

那么我们尝试让他存储payload,点击提交发现成功解析:

并且在之后内次访问这个页面的时候,这个payload都会被解析。

 DOM型xss

DOM型xss就是利用js通过修改DOM节点来改变html的特点,payload传入后直接由js通过DOM来讲payload写入前端代码,实现解析,并不需要和服务器进行交互。

输入一些值,什么也没返回,只有一句话:what do you see?。尝试查看页面中输入框元素,发现有个提示: 

 我们在看一下what do you see元素,发现了提示中的代码,于是尝试按照提示中的闭合:

 然后点击what do you see元素,发现成功弹出警示框,注入成功。

DOM型xss-x

这个不同于上一个的是,他是需要和服务器交互的,但是与上一个相同的点是,他也是利用js,通过DOM节点来改变前端html的内容,只不过他不是在客户端页面直接进行更改,而是在服务器端更改的。

我们尝试输入,发现多出了几句话,点击这几句话查看其代码,发现“就让往事都随风吧” 也是将输入内容放入href中,只不过其使用了domxss()这个函数。

尝试payload:

' onclick="alert('xss')"

 点击“请说出你的伤心往事”提交之后,点击:“有些费尽心机····”出现“就让往事都随风吧”之后,查看这个元素就能看到payload已经插入到了代码里面,点击“就让往事都随风吧”,发现警示框已经弹出,成功注入。

 

### 关于 XSS 漏洞及其防御方法在 Pikachu Web 应用中的体现 #### XSS 漏洞概述 跨站脚本攻击 (Cross-Site Scripting, XSS) 是一种常见的安全漏洞,允许攻击者向其他用户的浏览器注入恶意脚本。这种类型的攻击通常发生在应用程序未充分验证或转义用户输入的情况下。 #### Pikachu Web 应用简介 Pikachu 是一款用于学习和实践各种 Web 安全漏洞的平台[^3]。该应用提供了多个具有不同难度级别的关卡来模拟真实的 Web 安全挑战,其中包括针对 XSS 的练习环境。 #### XSS 漏洞实例分析 在一个典型的 Pikachu XSS 练习场景中,假设存在一个留言板功能,在此模块内如果开发者未能正确处理用户提交的内容,则可能导致反射型 XSS 或存储型 XSS 发生: - **反射型 XSS**: 当用户通过 URL 参数传递未经过滤的数据给服务器端程序时,这些数据被立即返回并显示到页面上而没有经过适当编码。 - **存储型 XSS**: 用户提交的信息保存到了数据库或其他持久化介质里,并且当其他访客浏览含有此类信息的文章列表页或者其他公共区域的时候触发执行。 例如,在 Pikachu 中可能存在如下 PHP 代码片段展示了一个简单的留言表单处理逻辑错误: ```php <?php // 假设 $_GET['msg'] 来自用户输入且没有任何防护措施 echo "<div>" . $_GET['msg'] . "</div>"; ?> ``` 上述代码直接输出了来自 GET 请求参数 `msg` 的值而不做任何检查或转换操作,这就给了潜在攻击者机会去构造特殊字符序列从而实现 JavaScript 注入效果。 #### 防御策略建议 为了有效防止 XSS 攻击的发生,应当采取以下几种主要手段之一或多组合使用[^1]: - 对所有来自于客户端的数据都应视为不可信源;无论是 HTML 属性还是标签内部文本均需严格遵循上下文敏感的方式来进行实体化转码; - 使用现代框架自带的安全机制如 Laravel Blade Templates 自动逃逸变量输出特性减少手写模板带来的风险; - 设置 HTTP 头部 Content Security Policy(CSP),定义哪些资源是可以加载以及执行的具体规则集,进一步缩小可能遭受攻击面; - 实施严格的输入验证流程,拒绝不符合预期模式的一切请求体内容,比如只接受字母数字组成的字符串作为昵称字段等等。 综上所述,通过对 Pikachu 平台的学习与实验能够加深对于 XSS 类别威胁的理解程度的同时掌握有效的缓解技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值