CSRF : Cross-site request forgery  跨站请求伪造
 
所用到的工具:
Firefox浏览器及其插件     HackBar(快速构造URL)     和     Tamper Data(抓包改包)  温馨提示Tamper Data安装好后位于火狐浏览器的菜单栏-工具内。菜单栏需在浏览器窗体顶部右键选中后展示,最新版默认为隐藏状态。
 
 
 
初始信息:
DVWA默认账户     admin     密码     password
登录后先通过DVWA Security页面设置DVWA的安全等级,Low最低。若发生安全等级设置失败的情况可清理浏览器的历时记录、选中并删除cookie信息。重启浏览器后再进行尝试。
图1
正常业务流程效果及发包信息
 
LOW
使用Tamper Data抓包
图2
所发送的数据包URL
?password_new=password
&password_conf=password
&Change=Change#
 
在Tamper Data响应数据包上单击右键点击reply in  browser 重放
图3
弹出如图所示窗体  把password相关两处字段修改为test后提交。网页显示成功修改密码结果。
退出账户重新登录测试新修改的密码test可用。证明存在CSRF漏洞,可以伪造用户修改密码的请求。
 
构造CSRF页面
<html>
<head>
<meta charset="utf-8">
<title>CSRF测试</title>
</head>
<body>
<input type="hidden" name="password_new" value="password" />
<input type="hidden" name="password_conf" value="password" />
<input type="hidden" name="Change" value="Change" />
<input type="submit" value="下载美女图片" />
</form>
</body>
</html>
 
利用下载美女图片按钮引诱受害者点击^_^!  不过真实情况一般使用frame嵌套静默执行让受害者察觉不到页面跳转
点击下载图片按钮后即发送修改密码请求包并跳转至密码修改成功页面。
 
图4
 
medium.
 
图5
尝试使用low等级所构造的页面已无效。抓包对比发现正常报文和CSRF页面报文区别在于referer参数。
使用Tamper Data的改包功能拦截修改CSRF测试页面所生产的请求包,发现referer参数中包含被攻击站点的域名(此处为IP地址)即可。
我们在用于攻击的站点127.0.0.1下新建一个目录192.168.3.88使得受害者浏览我们构造的CSRF页面时发出的请求包所包含的referer信息内包含192.168.3.88字段,以使得被攻击服务器接受我们的密码修改请求。
 
图6
 
 
high.
发现low等级和medium等级构造的页面都失效了,使用Tamper Data抓包发现正常的请求包中出现了token字段。
我们构造的页面无法获取到token字段信息。当同一网站存在XSS漏洞是存在利用XSS漏洞来伪造请求的可能。后续将进行补充。
 
impossible.
安全的等级,这一等级修改密码需要填写当前用户正在使用的密码。彻底堵住了漏洞。
另外可以使用验证码,不过会降低用户体验。
 
 
参考资料:邪恶的CSRF
 

CSRF-DVWA_1.9-笔记的更多相关文章

  1. CSRF漏洞实战靶场笔记

    记录下自己写的CSRF漏洞靶场的write up,包括了大部分的CSRF实战场景,做个笔记. 0x01 无防护GET类型csrf(伪造添加成员请求) 这一关没有任何csrf访问措施 首先我们登录tes ...

  2. DVWA笔记之三:CSRF

    CSRF与XSS不同,它称为跨站请求伪造,它是利用其他页面的恶意脚本来加载访问或操作存在CSRF的漏洞的可信网站. 1.Low级别 核心代码如下: <?php  if( isset( $_GET ...

  3. csrf学习笔记

    CSRF全称Cross Site Request Forgery,即跨站点请求伪造.我们知道,攻击时常常伴随着各种各样的请求,而攻击的发生也是由各种请求造成的. CSRF攻击能够达到的目的是使受害者发 ...

  4. 学习笔记之csrf

    CBV 添加 csrf 第一种: 指定方法方面添加 装饰器 @memethod_decorator(xxx) 第二种 全部添加: 注意 在类名前: @method_decorator(xxx,name ...

  5. Python Django框架笔记(四):数据分页和CSRF跨站点请求伪造

    (一)数据分页  可以参考  https://docs.djangoproject.com/en/2.0/topics/pagination/ 模板:如果只要显示 1.2.3.4.5.6....的话, ...

  6. PHP代码审计笔记--CSRF漏洞

    0x01 前言 CSRF(Cross-site request forgery)跨站请求伪造.攻击者盗用了你的身份,以你的名义向第三方网站发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻 ...

  7. 信息安全学习笔记--CSRF

      一.CSRF简介   CSRF(Cross-site request forgery)跨站请求伪造,也被称为“one click attack”或者“session riding”,通常缩写为CS ...

  8. CSRF学习笔记之CSRF的防御【00x4】

    referer 验证 根据HTTP协议,在http请求头中包含一个referer的字段,这个字段记录了该http请求的原地址.通常情况下,执行转账操作的post请求www.bank.com/trans ...

  9. CSRF学习笔记之CSRF的攻击与防御以及审计【00x3】

    Hight.php完整代码如下: <?php if (isset($_GET['Change'])) { // Turn requests into variables $pass_curr = ...

  10. CSRF学习笔记之CSRF的攻击与防御以及审计【00x1 】

    +++++++++++++++++++++++++++ + 00x1 实现简单的攻击 + 00x2 代码审计漏洞的源头 +++++++++++++++++++++++++++ 00x1 简单的csrf ...

随机推荐

  1. 【leetcode】1243. Array Transformation

    题目如下: Given an initial array arr, every day you produce a new array using the array of the previous ...

  2. JavaScript分支结构Ⅰ—IF-ELSE

    ㈠程序 ⑴程序的流程控制 程序=数据+算法 ⑵程序的三种结构: ①顺序结构 ②分支结构 ③循环结构 ㈡IF结构 ⑴什么是分支结构? 程序在运行过程中,根据不同的条件,选择执行某些语句 ⑵什么是IF结构 ...

  3. [LibreOJ 3124]【CTS2019】氪金手游【容斥原理】【概率】【树形DP】

    Description Solution 首先它的限制关系是一个树形图 首先考虑如果它是一个外向树该怎么做. 这是很简单的,我们相当于每个子树的根都是子树中最早出现的点,概率是容易计算的. 设DP状态 ...

  4. Codeforces 1213D Equalizing by Division

    cf题面 中文题意 给n个数,每次可以把其中一个数字位运算右移一位(即整除以二),问要至少操作几次才能让这n个数中有至少k个相等. 解题思路 这题还有个数据范围更小的简单版本,n和k是50,\(a_i ...

  5. 【转载】多网卡的7种bond模式原理

    多网卡的7种bond模式原理 Linux 多网卡绑定 网卡绑定mode共有七种(0~6) bond0.bond1.bond2.bond3.bond4.bond5.bond6 常用的有三种 mode=0 ...

  6. JavaScript插件制作-tab选项卡

    JavaScript插件制作练习-鼠标划过选项卡切换图片 <!DOCTYPE html> <html> <head> <meta charset=" ...

  7. Apicloud_(项目)网上书城01_前端搭建

    [本文皆在记录自己开发Apicloud项目过程,不具备教学水平性文章] 参考书籍<30天App开发从0到1> Apicloud_(项目)网上书城01_前端页面开发 传送门 Apicloud ...

  8. springboot的优点

    2013年12月12日,spring发布了4.0版本.这个本来只是作为Java平台上的控制反转容器的库,经过将近10年的发展已经成为了一个巨无霸产品.不过其依靠良好的分层设计,每个功能模块都能保持较好 ...

  9. docker-compose常用命令(持续更新...)

    build 构建或重建服务 help 命令帮助 kill 杀掉容器 logs 显示容器的输出内容 port 打印绑定的开放端口 ps 显示容器 pull 拉取服务镜像 restart 重启服务 rm ...

  10. virtualbox安装xp虚拟机缺少驱动

    下载驱动精灵完全版,自带万能驱动