CSRF跨站请求伪造

CSRF漏洞原理

  1. 漏洞网站 => a 站点 存在csrf漏洞的 (http://192.168.0.31/bluecms/user.php?act=my_info)

  2. 恶意网站 => B 站点 ( http://127.0.0.1/csrf.html )

  1. 用户登录a站,浏览器保存有 cookie

  2. 用户去访问b站,b站中的js脚本对a站的某个功能接口发起请求

  3. 浏览器会把a站的cookie填充到请求包中,让这次接口请求可以完成

  4. 用户在不知情的时候,访问了不相关的功能接口,且数据不确定

借助了用户的cookie来完成某个固定的操作。简单来说就是借助用户a站的cookie 在用户访问b站后 修改a站内容

CSRF的局限性:

  1. 攻击的点都是a网站中已经存在的功能, 不能执行其他代码或者功能

  2. 只能借助用户的cookie,无法获取到用户的cookie

3.这个数据包可以重复发送

有的网站一个数据包 只能使用一次 再次发送时 会提示数据包异常 不在处理数据包的请求

数据包需要携带某个特定的数据(出现在body里 或者是请求头)

如何清除网站cookie

1.手动在用户页面点击退出

2.关掉浏览器 (有些网站长久保存cookie 关掉浏览器也有 例如bilibili)

对比xss漏洞:

xss漏洞: 漏洞网站 => 将恶意代码插入到漏洞网站中 (代码执行 ,执行js代码)

csrf: 借助用户的权限完成攻击

一定要诱导用户去访问恶意网站,才能完成

钓鱼, 难度非常大

组合漏洞利用 通过xss稳定触发csrf

如果无法诱导用户访问b站点 可以再用户常访问的c站通过xss漏洞插入csrf恶意代码 就是在用户访问c站时盗用a站的cookie

管理员优先级别高.

# csrf漏洞的挖掘思路

a 网站已知的功能

  1. 功能的接口会传传递那些参数 ( 修改用户信息\ 修改收货地\ 支付接口\ 绑定邮箱)

  2. 这个数据包可以重复发送

通过请求包,构建恶意攻击代码

<form id="a" action="http://192.168.0.31/bluecms/user.php">

</form>

<script>

document.findElementByID("a").submit();

</script>

构建恶意代码需要前端编写能力 可以尝试burp的工具

burp会自动生成代码

默认使用的ajax来完成请求发送

ajax 用来完成网络请求的模块

copy html 后把这段代码插入到要让用户访问的b站 就可修改数据

test in browser burp会帮你生成一个网址 自己开代理点击这个网址 就可简单尝试这个漏洞

存在限制:

​ 以前csrf非常难防 现在浏览器会对js请求进行限制。通过js发起请求时,没法直接完成交互

​ Access-Control-Allow-Origin: 拦下了攻击

​ 访问不同源的站点时,需要看目标站点是否允许用户访问。通过另一个站修改这个站内的数据

​ burpsuit

http://192.168.0.31 服务器同意 burpsuit来访问,才可以访问成功

限制的js直接发送请求。

如果被拦 可通过form表单发起请求

修改body的内容

然后再次test in bro 访问这个网址 点击按钮 会发现数据已经更改(攻击成功)

可以在代码后加上 form.submit(); 点击链接 会完成自动提交

如何预防CSRF

可以强行用验证码(强制用户必须和应用进行交互,但是体验性太差了) 请求中加随机Token值

实战靶场

不同版本的cms源码有问题。可能不通用。

从后台往前台找 =>

信任机制 => 后台使用 => 企业内部人员

webshell:

​ 通过web应用管理操作系统。

​ eval($_REQUEST['8']); 执行用户传入的代码

​ webshell 管理工具

http://newcsrf.zs.aqlab.cn/uploads/fl.php 8

需要根据网站的编写语言, 需要使用对应的语言写后门文件

php 的一句话木马

java (jsp) java的一句话木马

蚁剑\哥斯拉\冰蝎 (webshell 管理工具)

相关推荐
程序员清洒3 小时前
Flutter for OpenHarmony:GridView — 网格布局实现
android·前端·学习·flutter·华为
VX:Fegn08953 小时前
计算机毕业设计|基于ssm + vue超市管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
毕设源码-赖学姐3 小时前
【开题答辩全过程】以 高校学科竞赛管理系统安全开发为例,包含答辩的问题和答案
安全
麦聪聊数据3 小时前
智慧医疗数据互联互通:使用 QuickAPI 构建实时诊疗数据交换层
数据库·sql·安全
0思必得03 小时前
[Web自动化] 反爬虫
前端·爬虫·python·selenium·自动化
LawrenceLan4 小时前
Flutter 零基础入门(二十六):StatefulWidget 与状态更新 setState
开发语言·前端·flutter·dart
秋秋小事4 小时前
TypeScript 模版字面量与类型操作
前端·typescript
2401_892000524 小时前
Flutter for OpenHarmony 猫咪管家App实战 - 添加提醒实现
前端·javascript·flutter
Yolanda944 小时前
【项目经验】vue h5移动端禁止缩放
前端·javascript·vue.js
广州华水科技6 小时前
单北斗GNSS形变监测一体机在基础设施安全中的应用与技术优势
前端