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 管理工具)

相关推荐
烛衔溟32 分钟前
TypeScript 接口的基本使用 —— 定义对象形状
前端·javascript·typescript
铁皮饭盒1 小时前
成为AI全栈 - 第3课:路由 RESTful Elysia 状态码 设计规范
前端·后端·全栈
顾昂_1 小时前
Web 性能优化完全指南
前端·面试·性能优化
其实防守也摸鱼2 小时前
CTF密码学综合教学指南--第九章
开发语言·网络·python·安全·网络安全·密码学·ctf
前端程序媛-Tian2 小时前
前端 AI 提效实战:从 0 到 1 打造团队专属 AI 代码评审工具
前端·人工智能·ai
支付宝体验科技2 小时前
Ant Design Pro v6.0.0 发布
前端
T畅N2 小时前
审批流设计器(前端)
前端·elementui·vue·html·流程图·js
AlunYegeer3 小时前
JAVA,以后端的视角理解前端。在全栈的路上迈出第一步。
java·开发语言·前端
学网安的肆伍3 小时前
【043-WEB攻防篇】PHP应用&SQL注入&符号拼接&请求方法&HTTP头&JSON&编码类
sql·安全·php
IT_陈寒3 小时前
Redis这个内存杀手,差点让我们运维半夜追杀我
前端·人工智能·后端