Mallory

CSRF 攻击原理及防护

≡放荡痞女 提交于 2021-02-12 08:18:14
   CSRF 的英文全称是 cross-site request forgery ,缩写也称 XSCF,也被称之为“one click attack” 或者 session riding;   CSRF 和 XSS 非常的像,但是它们是有很大的区别的,并且攻击方式也不一样;XSS 是利用站点内的信任用户,而 CSRF 是通过伪装来自信任用户的请求来利用信任的网站;与 XSS 相比, CSRF 攻击往往不怎么流行也很难防范,所以它的危险性相对更高;   常用的防御方法:1)、验证 http referer 字段;2)、在请求地址中添加 token 并验证;3)、在 http 头中自定义属性并验证; 验证 http referer 字段   根据 http 协议,在 http 头中有一个字段叫 referer ,它记录了该 http 请求的来源地址,在通常情况下,访问一个安全受限页面的请求来自于同一个网站,比如需要访问 http://bank.example/withdraw?account=bob&amount=1000000&for=Mallory,用户必须先登录 bank.example ,然后通过点击页面上的按钮来触发转账事件,这时候,该转账请求的 http referer 值就会是转账所在页面的 url,通常以 bank.example 域名开头的地址

WEB安全总结之读懂CSRF

孤者浪人 提交于 2020-08-05 06:29:29
CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解: 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。 CSRF攻击介绍及防御 CSRF攻击攻击原理及过程如下: 1. 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A; 2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A; 3. 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B; 4. 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A; 5. 浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。 CSRF攻击实例 受害者 Bob 在银行有一笔存款

Diffie-Hellman密钥协商算法

假如想象 提交于 2020-05-01 05:10:08
一、概述 Diffie-Hellman密钥协商算法主要解决秘钥配送问题,本身并非用来加密用的;该算法其背后有对应数学理论做支撑,简单来讲就是构造一个复杂的计算难题,使得对该问题的求解在现实的时间内无法快速有效的求解( computationally infeasible )。 理解Diffie-Hellman密钥协商的原理并不困难,只需要一点数论方面的知识既可以理解,主要会用到简单的模算术运算、本原根、费马小定理、离散对数等基础数论的知识。在 现代密码学中的基础数论知识梳理 中已经对这些知识做了必要的总结。 二、从何而来 DH密钥协商算法在1976年在Whitfield Diffie和Martin Hellman两人合著的论文 New Directions in Cryptography (Section Ⅲ PUBLIC KEY CRYPTOGRAPHY)中被作为一种公开秘钥分发系统( public key distribution system )被提出来。原文的叙述过程比较简单,但基本阐述了算法的原理以及其可行性。 在该论文中实际上提出了一些在当时很有创新性的思想。原论文重点讨论两个话题: (1)在公网通道上如何进行安全的秘钥分派。 (2)认证(可以细分为消息认证和用户认证)。 为了解决第一个问题,原文提出两种方法:公钥加密系统( public key

CSRF 跨站点请求伪造

核能气质少年 提交于 2020-01-07 02:48:49
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 跨站点请求伪造(Cross-Site Request Forgery,CSRF)是一种常见的攻击手段,我们先来了解什么是 CSRF。如图12-3所示,首先是浏览器请求安全网站,于是可以进行登录,在登录后,浏览器会记录一些信息,以 Cookie 的形式进行保存,然后在不关闭浏览器的情况下,用户可能访问一个危险网站,危险网站通过获取 Cookie 信息来仿造用户的请求,进而请求安全网站,这样就给网站带来很大的危险。 CSRF攻击实例 受害者 Bob 在银行有一笔存款,通过对银行的网站发送请求 http://bank.example/withdraw?account=bob&amount=1000000&for=bob2 可以使 Bob 把 1000000 的存款转到 bob2 的账号下。通常情况下,该请求发送到网站后,服务器会先验证该请求是否来自一个合法的 session,并且该 session 的用户 Bob 已经成功登陆。 黑客 Mallory 自己在该银行也有账户,他知道上文中的 URL 可以把钱进行转帐操作。Mallory 可以自己发送一个请求给银行:http://bank.example/withdraw?account=bob&amount=1000000&for=Mallory。但是这个请求来自