DVWA系列之17 CSRF攻击介绍与实施
CSRF(Cross-Site Request Forgery)跨站点请求伪造,这种攻击方式的特点是:攻击者盗用你的身份,以你的名义进行某些非法操作。CSRF能够使用你的帐户发送邮件,获取你的敏感信息,甚至盗走你的财产。
当我们打开或登录某个网站后,在浏览器与网站之间将会产生一个会话,在这个会话没有结束时,你就可以利用你的权限对网站进行某些操作,如:发表文章、发送邮件、删除文章等。当这个会话结束后,你再进行某些操作的时候,Web应用程序可能会提示“您的会话已过期”、“请重新登录”等提示。
比如当我们登录网上银行后,浏览器就已经与可信的站点建立了一个经过认证的会话。之后,所有通过这个经过认证的会话发送请求,都被视为可信的动作,例如转账、汇款等操作。当我们在一段时间内不进行操作后,经过认证的会话可能会断开,再次进行转账、汇款操作时,这个站点可能会提示你:您的身份已过期,请重新登录、会话已结束等信息。
CSRF攻击正是建立在会话之上的,比如当你登录了网上银行,正在进行转账业务,这时你的某个QQ好友(攻击者)发来一条消息(URL),这条消息是攻击者精心构造的转账业务代码,而且与你所登录的是同一家网络银行,你可能认为这个网站是安全的,然而当你打开了这条URL后,你帐户中的余额可能会全部丢失。
下面我们就来实施一次CSRF攻击。进入DVWA,选择low级别,可以看到这里的CSRF测试是要进行更改管理员密码的操作。默认的管理员密码是password,为了能够直观地查看管理员密码,我们在开始菜单中找到AppServ,执行其中的“MySQL Command Line Client”,进入MySQl操作界面。执行“use dvwa;”命令打开dvwa数据库,执行“select user,password from users where user = ‘admin’;”命令,可以查看到目前的admin用户密码的md5值。
下面我们在CSRF的页面中将管理员密码改为123,可以查看到md5值随之改变。
此时我们仔细观察浏览器地址栏中的URL:
http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=123&password_conf=123&Change=Change# |
如果黑客获知了这个URL,那么是否就可以随意更改管理员密码呢?比如构造下面这个URL,是否就可以将管理员密码修改为abc?
http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=abc&password_conf=abc&Change=Change# |
如果黑客是在自己的电脑上直接执行这个URL,那么肯定是无效的。原因是必须要具有管理员的权限,才可以修改密码。也就是前面所介绍的,必须要先以管理员身份与网站之间建立好一个会话之后,才可以执行修改密码的操作。
那么黑客就可以构造一个网页,将上面这段代码放入网页中,然后诱骗管理员打开这个页面,如果此时管理员恰好正在对网站进行操作,在管理员的浏览器与网站之间建立好了会话,那么上面这段代码就会生效。
比如我们在一台已经搭建好Web环境的虚拟机(IP地址192.168.80.132)中编写一个名为csrf.html的网页,代码如下:
<img src=mm.jpg> <iframe src="http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=abc&password_conf=abc&Change=Change#" frameborder="0" ;0" /> |
然后在已经登录进入DVWA的状态下,在本地的浏览器中打开这个网页http://192.168.80.132/csrf.html:
此时就会发现管理员密码已经被自动修改为了abc:
这就是一次典型的CSRF攻击,由此可见CSRF的两个主要特点:
CSRF攻击建立在浏览器与Web服务器的会话中;
欺骗用户访问URL。
DVWA系列之17 CSRF攻击介绍与实施相关推荐
- 前端安全系列(二):如何防止CSRF攻击?
背景 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点.在移动互联网时代,前端人员除了传统的 XSS.CSRF 等安全问题之外,又时常遭遇网络劫持 ...
- 「安全系列之CSRF」如何防范csrf攻击
背景 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点.在移动互联网时代,前端人员除了传统的 XSS.CSRF 等安全问题之外,又时常遭遇网络劫持 ...
- 前端安全系列:如何防止CSRF攻击?
背景 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点.在移动互联网时代,前端人员除了传统的 XSS.CSRF 等安全问题之外,又时常遭遇网络劫持 ...
- 所有表单对象_Laravel 表单方法伪造与 CSRF 攻击防护
1.表单方法伪造 有时候,我们可能需要手动定义发送表单数据所使用的 HTTP 请求方式,而 HTML 表单仅支持 GET 和 POST 两种方式,如果要使用其他的方式,则需要自己来定义实现. HTTP ...
- PHP开发中csrf攻击的简单演示和防范
CSRF的全名为Cross-site request forgery,它的中文名为 跨站请求伪造(伪造跨站请求[这样读顺口一点])CSRF是一种夹持用户在已经登陆的web应用程序上执行非本意的操作的攻 ...
- SpringBoot 如何防御 CSRF 攻击?
作者 | 江南一点雨 责编 | 欧阳姝黎 CSRF 就是跨域请求伪造,英文全称是 Cross Site Request Forgery. 这是一种非常常见的 Web 攻击方式,其实是很好防御 ...
- CSRF攻击实验 ——合天网安实验室学习笔记
实验链接 本实验以PHP和Mysql为环境,展示了CSRF攻击的原理和攻击过程.通过实验结果结合对攻击代码的分析,可更直观清晰地认识到Web安全里这种常见的攻击方式. 链接:http://www.he ...
- 【应用安全之xss二】xss攻击介绍和防范(前端)
本文我们会讲解 XSS ,主要包括: XSS 攻击的介绍 XSS 攻击的分类 XSS 攻击的预防和检测 XSS 攻击的总结 XSS 攻击案例 XSS 攻击的介绍 在开始本文之前,我们先提出一个问题,请 ...
- 前端安全之CSRF攻击
个人博客 文章目录 注意点 几种常见的 CSRF 攻击: 1. GET 类型的 CSRF 攻击 2. POST 类型的 CSRF 攻击 3. 链接类型的 CSRF CSRF 特点 防护策略 同源检测 ...
最新文章
- Centos7设置Tomat开机自启
- Js取float型小数点后两位数的方法
- 微信小程序实现点击不同view标签,移动到一行
- OpenMP之双重for循环并行计算改进
- SSM-水果商城-导入项目-学习-2
- Kubernetes Jobs - 运行处理任务指南
- 合并出错:svn Working copy and merge source not ready for reintegration
- IDEA maven库里 添加自定义jar包
- SVN安装和使用详细教程
- 典型相关分析(CCA)原理及例子
- 软件项目经理应具备的素质和条件_软件项目经理的素质能力要求
- mysql 加锁 索引_MySQL 加锁处理分析
- 各型号iPhone的屏幕参数 逻辑分辨率 物理分辨率 - iOS Device Display Summary - 更新到iPhone 13系列
- 微信怎样设置聊天显示的字体大小?简单技巧!微信如何调整字体的大小?
- 链游的趋势和前景:团队开始专注于建设 进入 6-12 个月重新整合期
- 除了高额房贷,美国购房者仍面临其他“财政危机”
- 虚拟机创作ubuntu18的ISO镜像
- FP-Tree频繁模式树算法
- java交换kv的值_以.kv语言描述OSC
- 2022必撸八股!198道K8s/Docker/DevOps面试真题大汇总
热门文章
- Linux文本界面设置网络,fedora17下通过文本界面配置网络
- 栈判断字符串是否为中心对称_数据结构和算法入门之判断括号字符串的合法性(valid parentheses)...
- 子元素是字典列表转成字典
- 通过正则表达式分句提取中文内容
- mysql中sql命令大小写吗_sql语句大小写有关系吗?
- openvino与cv2不兼容怎么办_焓湿图软件电脑不兼容怎么办
- 四层负载均衡与七层负载均衡
- Json格式的netconf转成NormalizedNode
- 【面向对象】基本概念
- 2021下半年软考分数线会有变动吗?