渗透测试CISP-PTE-系列学习笔记
第一章 渗透测试CISP-PTE:Web安全简介
第二章 渗透测试CISP-PTE:信息收集
第三章 渗透测试CISP-PTE:漏洞扫描
第四章 渗透测试CISP-PTE:HTTP请求流程
第五章 渗透测试CISP-PTE:SQL注入
第六章 渗透测试CISP-PTE:暴力破解
第七章 渗透测试CISP-PTE:XSS
第八章 渗透测试CISP-PTE:CSRF
文章目录
前言
CSRF(Cross-Site Request Forgery)攻击,也称为“跨站请求伪造”,是一种常见的Web应用程序安全漏洞。该攻击利用了Web应用程序的信任机制,通过伪造用户的身份,迫使用户在他们不知情的情况下执行某些操作。
攻击者通常通过在恶意网站上放置一个特殊的链接或图片,或者通过发送包含恶意代码的电子邮件等方式来发送特殊的请求。当用户点击这些链接或打开这些图片时,他们的浏览器会向目标网站发送请求,由于浏览器通常会自动发送保存的用户凭证,目标网站将会以为这是用户的合法请求,并执行相应的操作。
CSRF攻击的危害很大,攻击者可以利用用户的信任执行一些恶意操作,例如更改用户的密码、发送恶意邮件、转移资金等。为了防范CSRF攻击,开发人员可以使用一些防护措施,如生成随机的令牌、验证请求来源、限制敏感操作等。
CSRF-攻击原理
跨站请求伪造:利用受害者尚未失效的身份认证信息,诱骗其点击恶意链接或 访问包含攻击代码的页面,攻击者盗用受害者的身份,以受害者的身份进行一些非法操作,csrf能够使用受害者的账户发送邮件,获取你的敏感信息等
1.概要-原理步骤
- 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
- 在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功;
- 用户未退出网站A的情况下,在同一浏览器中(同源策略) 访问网站B;
- 网站B接收到用户请求后,返回攻击代码,并发出一个请求要求访问第三方站点A;
- 浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。
网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致网站B的恶意代码被执行。
2.CSRF和XSS的差别
●XSS:
攻击者发现XSS漏洞——构造代码——发送给受害人——受害人打开——攻击者获取受害人的cookie——完成攻击
攻击者需要登录后台完成攻击
●CSRF:
攻击者发现CSRF漏洞——构造代码——发送给受害人——受害人打开——受害人执行代码——完成攻击
攻击是管理员(目标用户或受害者)自己实现的,攻击者只负责了构造代码
csrf和xss最大的区别在于,csrf并没有盗取cookie而是直接利用
二、CSRF漏洞类型
1.GET型CSRF
这种类型的CSRF一般是由于程序员安全意识不强造成的。GET类型的CSRF利用非常简单,只需要一个HTTP请求,所以,一般会这样利用:<img src=http://漏洞地址>
在访问含有这个img的页面后,成功向http://漏洞地址,发出了一次HTTP请求。所以,如果将该网址替换为存在GET型CSRF的地址,就能完成攻击了。
2.POST型CSRF
这种类型的CSRF危害没有GET型的大,利用起来通常使用的是一个自动提交的表单,如:
<form action=http://漏洞地址 method=POST>
<input type="text" name="xx" value="11" />
</form>
<script> document.forms[0].submit(); </script>
访问该页面后,表单会自动提交,相当于模拟用户完成了一次POST操作。
3.常见的CSRF方式
●<img>
标签属性
<img src=“http://漏洞地址”>
●<script>标
签属性
<script src=“http://漏洞地址”>
●<iframe>
标签属性
<iframe src=“http://漏洞地址”>
●JavaScript方法-Image对象
<script>
var foo = new Image();
foo.src = “http://漏洞地址”
</script>
三、漏洞利用案例
1.GET型
●利用img构造一个html,受害者被诱导访问这个html时,以受害者的身份发送了一个修改信息的请求。
●当服务器针对GET请求头的Referer有所限制时(例如,限制Referer中必须包含服务器的IP地址),如下所示,将构造的html命名为服务器IP地址.html,这是执行html的get请求时其Referer才符合条件。
2.Post型
针对post型由于需要有点击这个动作,所以在html的head加入JS代码,实现页面访问成功的同时就执行点击操作,如图1
post请求包含多个参数,其CSRF poc代码(即图中2)可以使用Burpsuite使用Engegement tools来生成
#总结
以上就是今天要讲的内容,本文仅仅简单介绍了CSRF攻击原理、漏洞类型以及典型的漏洞利用案例等。后续将从文件上传、文件包含、命令执行等环节进行详细介绍。