csrf漏洞攻击手段和影响详解

时间:2021-07-29 10:25:27

  针对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里面发布的帖子就会自动删除。

csrf漏洞攻击手段和影响详解

  实例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

csrf漏洞攻击手段和影响详解

  如果说当前用户已经登录这个网站,我们知道它修改密码的方式是用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漏洞攻击手段和影响详解

  从这个案例中我们了解到虽然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&lpar;跨站请求伪造攻击&rpar;漏洞详解

    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. &lbrack;转&rsqb;JavaScript程序编码规范

    原文:http://javascript.crockford.com/code.html 作者:Douglas Crockford 译文:http://www.yeeyan.com/articles/ ...

  2. viewmodel

    [ExtJS5学习笔记]第十节 Extjs5新增特性之ViewModel和DataBinding 2015-05-29     96 本文地址:http://blog.csdn.net/susheng ...

  3. 关于Swift中实现Lazy initialize的方式

    在oc中我们通过 -(CardMatchingGame *)game { if(!_game) _game=[[CardMatchingGame alloc] initWithCardCount:[s ...

  4. linux的slect的脚本适用于交互

    [rhuang@localhost ~]$ vi os.sh #!/bin/bash echo "What is your favourite OS?" select var in ...

  5. Python内置函数&lpar;51&rpar;——hasattr

    英文文档: hasattr(object, name) The arguments are an object and a string. The result is True if the stri ...

  6. &lbrack;django1&period;6&rsqb;跑批任务错误&lpar;2006&comma; &&num;39&semi;MySQL server has gone away&&num;39&semi;&rpar;

    有个django的定时任务的需求,调用django的orm来对数据库进行数据处理.  在交互环境下直接启动pyhton脚本没有问题,放在定时任务中时候,总是出现 (2006, 'MySQL serve ...

  7. js编码解码 punyCode

    ;(function(w) { var PunycodeModule = function () { function IdnMapping() { this.utf16 = { decode: fu ...

  8. 001 python基础实战

    报名了阿里大学的AI,一直没有学习,今天开始正式学习. 今天是第一节,Python的基础编程实战,里面包含两个示例. 一:任务实现文件的批量重命名. 1.创建一个目录 2.程序 #!/usr/bin/ ...

  9. Oracle update语句更新值来自另一张表中的数据

    task 任务表 role 角色表 两表之间必须有关联的字段 update task t set t.roleName = ( select r.name from role r where r.id ...

  10. ubuntu设置ssh登录

    1.为ubuntu添加root用户(其实Ubuntu中的root帐号默认是被禁用了的,所以登陆的时候没有这个账号),打开初始账号,输入命令:sudo passwd root,设置root的密码 2.切 ...