米斯特白帽培训讲义 漏洞篇 CSRF

简介: 米斯特白帽培训讲义 漏洞篇 CSRF 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。

米斯特白帽培训讲义 漏洞篇 CSRF

讲师:gh0stkey

整理:飞龙

协议:CC BY-NC-SA 4.0

CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

CSRF 攻击的原理就是攻击者创建一个链接,受害者点击它之后就可以完成攻击者想要的操作,这些操作一般是删除文章,创建用户之类。比如某网站的删除文章链接是http://www.xxx.com/post/<id>/delete,那么攻击者可以直接构造出来发给有权限的人,它点击之后就可以将文章删除。当然,攻击者也可以使用当下流行的短网址服务来伪造 URL,避免受到怀疑。

与传统的认知相反, POST 方式并不能防止 CSRF,这是因为浏览器中的 JS 拥有发送 POST 请求的能力。比如攻击者可以编写一个带表单的页面,包含目标 URL 和所有所需字段,然后再用 JS 代码提交表单。之后把这个表单放到网络上可以访问的地方,再把这个链接发给受害者,诱导他点击。

所以这个东西也叫作“One Click”,意思就是说,整个攻击只通过一次点击来完成。换个角度,通过两次相关步骤来完成的操作就不会有这个问题。

利用

我们可以使用 OWASP 的 CSRF-Tester 来半自动利用 CSRF 漏洞,还可以生成用于利用的 exp 页面。

要注意的是,它不会为你判断是否存在 CSRF 漏洞,想想也知道,一个网站上的一次完成的操作简直太多了,那所有这些操作都存在 CSRF 漏洞吗?并不是,只有重要的,不可挽回的操作才能算 CSRF 操作,而这个是机器判断不了的。所以你首先要知道哪里有 CSRF 漏洞,才能使用工具。

我们用它来利用 yzcms,这是一款开源的 CMS。我们首先访问后台:

我们点击右上方的添加管理员:

当我们创建的时候,浏览器会向服务器发请求。我们就可以伪造这个请求,构造出 exp 页面,然后让已经登录的管理员去访问这个页面,就能成功创建管理员。

我们打开工具,我们看到工具一打开,就监听了本机的 8008 端口:

我们需要将浏览器的代理配置为127.0.0.1:8008。然后点击Start Recording,它会开始抓取请求。

这时我们返回 CMS 页面,模拟创建一个管理员:

我们可以看到它捕获到了若干请求,POST 的那个就是创建管理员的请求。我们点击这个请求那一行,观察下方的Form Parameters,没有任何的 Token 验证。

参数的值可以任意修改。我们看一看底下的Report Type,这个就是构造方式,可以选择使用<form><iframe><img>、AJAX、或者<a>来构造。这里我们选择 Forms。之后我们点击右边的Generate HTML,选择一个地方来保存。

我们可以把这个文件发给受害者,让他打开。也可以放到网上把链接发给受害者。我们试着打开它,当我们打开之后,我们可以看到,成功添加了我们所需的管理员。

相关文章
|
2月前
|
安全 数据安全/隐私保护
CSRF漏洞利用工具 -- CSRFTester
CSRF漏洞利用工具 -- CSRFTester
29 0
|
2月前
|
安全 数据安全/隐私保护
31、CSRF漏洞介绍
31、CSRF漏洞介绍
20 0
|
2月前
|
安全 数据安全/隐私保护
小课堂 -- CSRF漏洞介绍
小课堂 -- CSRF漏洞介绍
18 0
|
2月前
|
安全 数据安全/隐私保护
第二轮学习笔记:CSRF跨站请求伪造漏洞
第二轮学习笔记:CSRF跨站请求伪造漏洞
15 0
|
安全 数据安全/隐私保护
CSRF漏洞利用工具 -- CSRFTester
CSRF漏洞利用工具 -- CSRFTester
281 0
CSRF漏洞利用工具 -- CSRFTester
|
11月前
|
存储 安全 JavaScript
实战漏洞挖掘-csrf+存储selfxss漏洞组合拳
前一阵子在疯狂学习,看了很多文章,也学习到了不少,所以也尝试着去挖一挖洞,把学习到的思路引入到实际中。在挖某网站的时候,发现了一枚CSRF+存储型selfxss的漏洞组合拳成功打到cookie。
116 0
|
11月前
|
存储 安全 PHP
WEB常见漏洞之CSRF(靶场篇)
WEB常见漏洞之CSRF(靶场篇)
334 0
|
11月前
|
安全 JavaScript 前端开发
WEB常见漏洞之CSRF(基础原理篇)
WEB常见漏洞之CSRF(基础原理篇)
131 1
|
11月前
|
存储 JSON 安全
一文深入了解CSRF漏洞
1.1. 定义 跨站请求伪造 (英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding ,通常缩写为 CSRF 或者 XSRF , 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟 跨站脚本(XSS) 相比, XSS 利用的是用户对指定网站
342 0
|
安全 数据安全/隐私保护
第二轮学习笔记:CSRF跨站请求伪造漏洞
第二轮学习笔记:CSRF跨站请求伪造漏洞
63 0
第二轮学习笔记:CSRF跨站请求伪造漏洞