开发手册 欢迎您!
软件开发者资料库

跨站请求伪造(CSRF)

跨站点请求伪造 - 从基本到高级概念的简单和简单步骤学习安全测试,其中包括简介,社会工程,枚举,嗅探器,麻痹软件,协议基础,编码,密码学,同源策略,Cookie,基本CIA三合会,OWASP十大安全威胁,网络攻击,缓冲区溢出,会话劫持,自动化笔测试工具。

CSRF攻击迫使经过身份验证的用户(受害者)向易受攻击的Web应用程序发送伪造的HTTP请求,包括受害者的会话cookie,攻击者可以强制受害者的浏览器生成请求,以便易受攻击的应用感知为来自受害者的合法请求.

在简单的图表的帮助下,让我们了解这个漏洞的威胁代理,攻击向量,安全弱点,技术影响和业务影响.

csrf

示例

这是一个经典的例子CSRF

第1步让我们说,易受攻击的应用程序将状态更改请求作为纯文本发送而不进行任何加密.

http://bankx.com/app ?action = transferFund&amount = 3500&destinationAccount = 4673243243

第2步现在,黑客构建了一个请求,通过将请求嵌入到存储在攻击者控制下的各个站点上的图像中,将钱从受害者的帐户转移到攻击者的帐户;

举手

第1步让我们通过将Java脚本嵌入到图像中来执行CSRF伪造.下面列出了问题的快照.

csrf1

第2步现在我们需要模拟传输到1x1图像并让受害者点击相同.

 csrf2

第3步提交消息后,消息显示如下突出显示.

csrf3

第4步现在,如果受害者单击以下URL,则执行传输,可以使用burp suite拦截用户操作.我们可以通过在Get消息中找到转移,如下所示

csrf3

第5步现在点击刷新后,会显示课程完成标记.

预防机制

  • 可以通过在隐藏字段中创建唯一标记来避免CSRF,该字段将在HTTP请求的正文中发送,而不是在更容易暴露的URL中发送.

  • 强制用户重新进行身份验证或证明他们是用户以保护CSRF.例如,CAPTCHA.