针对web应用安全中csrf漏洞两种典型的攻击方式:即输入和执行,这种简单模式下的攻击手段以及中途包含确认页面的攻击方法。

  图解什么是csrf漏洞

  我们先进行约束,比如存在csrf漏洞的网站叫webA攻击者webB,受害者userA它访问的是webA,也就是webA对于受害者user来说它是一个可信的网站。用户通过浏览器登录了网站A后,输入了账号密码,登录成功,确认通过,这个时候,这个网站的认证信息产生的cookie就会保存在用户user的电脑,用户user在没有退出登录网站A的情况下,去访问了恶意网站B,B 构造了一个恶意的请求,要求访问第三方网站,也就是信任网站,这个第三方是相对于B来说的,访问第三方网站A,发出一个请求,用户user接收到了这个请求根据B在第四步的要求,浏览器带着2认证通过的cookie信息来访问A,这个时候网站A就无法确认这个请求是由用户user主动发起还是由恶意网站发起,或者其他访问方式发起,无法判断这个信息。但是由于用户user在第一步已经成功登录了网站,此时它的cookie信息已经保存,在第四步访问恶意请求以后这个网站已经是登录情况下,第四步构造的恶意请求就会在这个执行。假如这里是要删用户user的帖子,那它在访问这个网站以后网站A里面发布的帖子就会自动删除。

  实例1:家用路由器CSRF

  路由器可以以这样的方式登录,一般情况下账号admin,密码admin登录地址是192.168.1.1,如果以上面的图解进行讲解,用户user在访问网站的时候访问了恶意的网站B,因为攻击者已经拆解到了它的默认账号和密码,默认信息(ip),那用户user就不用再登录路由器,现在我们构造一个这样的信息,修改DHCP服务器,比如它的DHCP服务范围,默认网关已经dns信息,这个时候如果网关和dns信息都改成一个恶意的服务器地址,那用户user在访问这个网站以后,他的路由器里面的信息就会被篡改,篡改后有什么效果呢?比如dns服务器地址被改到了攻击者指定的恶意服务器,那这个时候,用户上网,通过域名访问的所有请求都可以在那台恶意服务器上时事的看到。比如我们要登录网银,那这个时候登录网银的账号和密码就有可能被攻击者截取。

<img src=http://admin:admin@192.168.1.1></img>

<img src=http://192.168.1.1/userRpm/LanDhcpServerRpm.htm?dhcpserver=1&ip1=192.168.1.100&ip2=192.168.1.199&Lease=120&gateway=0.0.0.0&domain=&dnsserver=8.8.8.8&dnsserver2=0.0.0.0&Save=%B1%A3+%B4%E6></img>

  实例2

  在演示环境里测试一下更改密码的操作。

  当前密码是password,修改成admin,可以看到password changed

  如果说当前用户已经登录这个网站,我们知道它修改密码的方式是用get修改,作为攻击者,怎么来构造这个参数呢?

  假设攻击者构造了这样一个链接,让被攻击者来访问。用户密码由admin改成了12345678

  http://192.168.20.141/dvwa/vulnerabilities/csrf/?password_current=admin&password_new=12345678&password_conf=12345678&Change=Change#

  被攻击者访问这个链接后会出现什么问题呢?

  在登录状态下,被攻击者访问了这个链接后,密码就会从admin改成了12345678,可以看到登录成功。

  从这个案例中我们了解到虽然csrf不能获取到用户的cookie信息,但它的攻击效果或杀伤力还是非常大的。

原文链接:http://www.maiziedu.com/wiki/websafety/forgery/

csrf漏洞攻击手段和影响详解的更多相关文章

  1. 程序员常用的3大Web安全漏洞防御解决方案:XSS、CSRF及SQL注入(图文详解)

    https://blog.csdn.net/ChenRui_yz/article/details/86489067 随着互联网的普及,网络安全变得越来越重要,程序员需要掌握最基本的web安全防范,下面 ...

  2. Web攻防系列教程之跨站脚本攻击和防范技巧详解

    摘要:XSS跨站脚本攻击一直都被认为是客户端Web安全中最主流的攻击方式.因为Web环境的复杂性以及XSS跨站脚本攻击的多变性,使得该类型攻击很 难彻底解决.那么,XSS跨站脚本攻击具体攻击行为是什么 ...

  3. 局部变量表中Slot复用对垃圾回收的影响详解

    看两段代码 1. package com.jvm; public class Test { public static void main(String[] args) { { byte[] plac ...

  4. Java反序列化漏洞详解

      Java反序列化漏洞从爆出到现在快2个月了,已有白帽子实现了jenkins,weblogic,jboss等的代码执行利用工具.本文对于Java反序列化的漏洞简述后,并对于Java反序列化的Poc进 ...

  5. CSRF的攻击与防御(转)

    add by zhj:CSRF之所有发生,是因为http请求中会自动带上cookies,我的解决办法是:前端不要将数据放在cookie中,而是放在其它本地存储 (HTML5中称之为Web Storag ...

  6. 基础知识:CSRF漏洞

    CSRF漏洞概述 CSRF漏洞是跨站请求伪造攻击,能够对攻击用户的增.删.改,不能攻击查.为什么呢?根据其原理,攻击者是发一个链接给用户,用户点击这个链接而执行危险的操作,信息并不会返回到攻击者的电脑 ...

  7. CSRF(跨站请求伪造攻击)漏洞详解

    Cross-Site Request Forgery(CSRF),中文一般译作跨站点 请求伪造.经常入选owasp漏洞列表Top10,在当前web漏洞排行中,与XSS和SQL注入并列前三.与前两者相比 ...

  8. xss 和 csrf攻击详解

    在那个年代,大家一般用拼接字符串的方式来构造动态 SQL 语句创建应用,于是 SQL 注入成了很流行的攻击方式.在这个年代, 参数化查询 已经成了普遍用法,我们已经离 SQL 注入很远了.但是,历史同 ...

  9. 【网络安全】CSRF攻击详解

    目录 什么是CSRF攻击 CSRF攻击的流程 常见的CSRF攻击类型 CSRF漏洞测试 预防CSRF攻击 参考 什么是CSRF攻击 CSRF(Cross-Site Request Forgery)的全 ...

随机推荐

  1. 20145209 2016-2017-2 《Java程序设计》第9周学习总结

    20145209 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC ...

  2. c++中string (MFC)

    题目:UVALive - 6439    https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid= ...

  3. MVC保存二进制到数据库,并显示文件的方法(图片显示)

    通过两篇文章解决了数据库存储图片并显示到View的方法: http://blog.sina.com.cn/s/blog_6da396a50101639u.htmlhttp://www.cnblogs. ...

  4. POJ青蛙的约会

    青蛙的约会 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 114412   Accepted: 23446 Descript ...

  5. ORB-SLAM(九)LocalMapping

    LocalMapping作用是将Tracking中送来的关键帧放在mlNewKeyFrame列表中:处理新关键帧,地图点检查剔除,生成新地图点,Local BA,关键帧剔除.主要工作在于维护局部地图, ...

  6. 使用GC 初始化DG(将备份集复制到目标端再初始化)

    概述 当前环境中有一个GC节点,一套RAC 11.2.0.4的数据库,一个已经使用GC进行在线初始化好的dg环境,需要模拟在远端使用rman备份集进行初始化DG的操作.   恢复环境 当前环境中 已经 ...

  7. 测试开发的成长之路 - 自动化一站式平台(UI、接口)

    前言 在自动化测试过程中,随着对接的自动化需求不断增加,测试用例数量显著上升,参与自动化测试的人也越来越多,多人协作就会碰到很多问题,包括脚本.数据.版本.项目整合.持续集成等,而且也增加了后期维护的 ...

  8. (C#)代理模式

    1.代理模式 为其他对象提供代理以控制对这个对象的访问. 远程代理:为一个对象在不同的地址空间提供举报代表.这样可以隐藏一个对象在不同地址空间的事实. 虚拟代理:是依据需要创建开销很大的对象.通过它来 ...

  9. JavaScriptSerializer的实现-常用JsonHelper类

    最近开始自己写自己的项目了,终于鼓起勇气迈出了自己认为的这一大步! 先来通用的helper类和大家分享一下 ,第一个是Object转为json序列的类,这个网上有很多,但我实践了一下大部分都不能用的, ...

  10. vscode开发智能合约

    开发工具 EOS 开发终极神器-vscode (你绝对找不到的干货) lome · 2018年04月19日 · 最后由 18636292520 回复于 2018年09月15日 · 15672 次阅读 ...