当前位置: 首页 > news >正文

记一次flask框架环境综合渗透测试

PART.01 登入过程

  1. 访问靶场地址http://101.43.22.226/?name=2023,框架为Flask。

img2. 测试存在ssti注入。

img3. 直接执行以下命令。

http://101.43.22.226/?name={% for c in [].class.base.subclasses() %}

{% if c.name == ‘catch_warnings’ %}

{% for b in c.init.globals.values() %}

{% if b.class == {}.class %}

{% if ‘eval’ in b.keys() %}

{{b[‘eval’(‘import(“os”).popen(“whoami”).read()’) }}

{% endif %}

{% endif %}

{% endfor %}

{% endif %}

{% endfor %}

img4. 测试目标可以出网,直接执行命令反弹shell和上线msf。

  1. 对当前机器进行信息搜集,存在双网卡172.25.1.3和10.10.10.100。
  2. 添加路由。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传7.对10.10.10.0段存活主机进行扫描,

img8. 存活主机有10.10.10.101、10.10.10.102、10.10.10.200 和10.10.10.201。其中,200,201这两台机器开放了445端口,在此探测是否存在永恒之蓝漏洞。

img9. 对200这台机器进行漏洞利用。由于不确定200这台机器是否出网,所以payload要设置成正向shell,最后成功获取到这台机器的权限。

imgimg10. 因为10.10.10.100这台机器是可以出网的,将它作为我们的跳板机。远程下载frp,搭建socks5代理。

img11. 对10.10.10.101进行端口扫描,开放22和80端口,访问80的web服务。

img12. 测试存在文件,文件包含漏洞(不存在远程文件包含)。

img13. 经过fuzz读取到配置文件config.php,从中获取到数据库的账户密码。

img14. base64解码后的数据库用户名为catcat,密码为wannatobeacat。但是由于数据库还是不能连接,因此想到了密码复用——使用ssh,登录上catcat的账户。

img15. 当前用户权限较低,尝试提权。使用pspy扫描后发现,root用户每分钟会执行一次backup.sh,且当前用户catcat可以修改此文件。

img16. 在backup.sh文件中添加 chmod 4475 /bin/bash,执行bash -p后成功提权。

img17. 对10.10.10.102机器进行扫描,发现开放了22和5000端口。访问5000后发现,其是web服务。

img18. 存在用户名枚举,但是未爆破出密码,sql注入也不存在。

img19. 这里发现用的框架为Express。通常情况下,用的是mongdb数据库,尝试nosql注入。参考链接如下:

[https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/NoSQL%20Injection#exploits](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/NoSQL Injection#exploits)

  1. 修改payload。

注意:需改动未Content-Type: application/json。

{“user”: {“KaTeX parse error: Expected 'EOF', got '}' at position 10: ne": null}̲, "password": {…ne”: null}}

21.成功进入后台。

img

PART.02 渗透过程

  1. 新建文章。

img2. 提交后服务报错,从报错信息中获取到了网站的物理路径。

img3. 存在上传功能点测试,返回非法的XML格式,并且发现数据库的请求头也是/articles/xml。查看是否存在xxe漏洞。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传4. 尝试读取/etc/passwd文件,成功读取后确定存在xxe漏洞。

img5. 就刚才获取到的网站物理路径,读取配置文件server.js的内容。

img6. 执行命令反弹shell到主机10.10.10.100。

imgimg7. 发现当前用户可以凭借root权限执行/bin/check文件。

img8. 查看/bin/check文件,引用os.py。

img9. 此处直接修改os.py文件内容,以sudo的权限执行check文件即可提权(由于此处获取交互式shell就会系统停顿,所以没有继续提权)。

  1. 主机10.10.10.201开放了比较多的端口,首先访问80端口,但其web服务需要进行验证,利用弱口令admin,admin成功进入后台。

img11. 存在文件上传功能点,但是无论上传任何格式都能够成功返回,只是无法找到上传的路径。

img12.此处提示样本会上传到文件共享服务器,测试团队将手动审查上传的内容,构造SCF文件以索取ntlm hash,并将文件上传到目标服务器。

img13. 在跳板机上安装Respondr,并对其进行监听。

img14. 成功抓取到NTLMv2 Hash。

img15. 使用hashcat破解。

hashcat -m 5600 hash.txt rockyou.txt

img16. 破解出密码为tobyallison31。此外,目标机器开放了5985端口,使用evil-winrm进行连接。

img17. 生成正向木马bind.exe,上传到该目标机器后获取到meterpreter。

img18. 查看powershell的历史记录,发现他下载并开启了Goservice服务,我们可以替换文件来进行提权。

img19. 暂时停止服务。

imgimg20. 将bind.exe上传到目录,并重命名为service.exe。

img21. 重新启动GoService服务。

img22. 成功返回一个meterpreter且权限为system权限。

img

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

相关文章:

记一次flask框架环境综合渗透测试

PART.01 登入过程 访问靶场地址http://101.43.22.226/?name2023,框架为Flask。 2. 测试存在ssti注入。 3. 直接执行以下命令。 http://101.43.22.226/?name{% for c in [].class.base.subclasses() %} {% if c.name ‘catch_warnings’ %} {% for b in c.i…...

博弈论学习笔记(2)——完全信息静态博弈

前言 这部分我们学习的是完全信息静态博弈,主要内容包括博弈论的基本概念、战略式博弈、Nash均衡、Nash均衡解的特性、以及Nash均衡的应用。 零、绪论 1、什么是博弈论 1)博弈的定义 博弈论:研究决策主体的行为发生直接相互作用时候的决策…...

【COMP304 LEC4 LEC5】

LEC 4 1. Truth-Functionality Propositional logic 的connectives(连接词)are truth-functional 但是,有时候的描述不是true-functional的,比如:"Knowing that", "It is necessary that",&quo…...

表白墙(服务器)

目录 0.需求 1.创建Maven项目 2.给pom.xml内引入三个依赖 3.完善目录,并补充web.xml中的内容 4.编写代码 后端代码 ​编辑前端代码 5.引入数据库 创建message表 创建工具类 往MessageServlet类中添加方法 0.需求 前面写好了表白墙页面,但存…...

在 Mac 中卸载 Node.js

在 Mac 中卸载 Node.js,可以选择以下两种方法: 使用命令行卸载 Node.js 第一步:打开终端,输入以下命令显示 Node.js 的安装路径: which node 执行该命令后,会显示安装路径:/usr/local/bin/n…...

Hafnium构建选项及FVP模型调用

安全之安全(security)博客目录导读 目录 一、Hafnium构建选项 二、FVP模型调用 一、Hafnium构建选项 本节解释了在支持基于FF-A的SPM (SPMD位于EL3, SPMC位于S-EL1、S-EL2或EL3)的情况下进行构建时涉及的TF-A构建选项:...

第44天:前端及html、Http协议

前端 前端是所有跟用户直接打交道的都可以称之为是前端,比如:PC页面、手机页面、平板页面、汽车显示屏、大屏幕展示出来的都是前端内容。 前端的用处: 学了前端以后我们就可以做全栈工程师(会后端、会前端、会DB、会运维等),能够写一些简单的…...

shell_63.Linux产生信号

Linux 系统信号 信号 值 描述 1 SIGHUP 挂起(hang up)进程 2 SIGINT 中断(interrupt)进程 3 SIGQUIT 停止(stop)进程 9 …...

互联网摸鱼日报(2023-11-01)

互联网摸鱼日报(2023-11-01) 36氪新闻 毫末智行张凯:2023年高阶智能辅助驾驶市场迎来大爆发 ​撕开三星、金士顿市场,国产老牌存储器企业出海三年,营收翻三倍|insight全球 给医生一双“透视眼”,「锦瑟医疗」专注开…...

AR的光学原理?

AR智能眼镜的光学成像系统 AR眼镜的光学成像系统由微型显示屏和光学镜片组成,可以将其理解为智能手机的屏幕。 增强现实,从本质上说,是将设备生成的影像与现实世界进行叠加融合。这种技术基本就是通过光学镜片组件对微型显示屏幕发出的光线…...

语义分割 实例分割的异同点

语义分割和实例分割是计算机视觉领域中两个相关但不同的任务,它们都涉及对图像像素进行分类和标记,但关注的对象和目标有所不同。 目标对象: 语义分割:语义分割的目标是将图像中的每个像素标记为对应的语义类别,即将…...

C++学习初探---‘C++面向对象‘-继承函数重载与运算符重载

文章目录 前言继承继承是什么?三种访问权限的继承: 函数重载与运算符重载函数重载运算符重载可重载运算符&不可重载运算符 前言 第三次学习记录,依旧是C面向对象的内容。 继承 继承是什么? C中的继承是一种面向对象编程&am…...

Linux下搭建SRS服务器环境

搭建环境 Ubuntu的Linux环境srs 安装源码:源码地址为:GitHub - ossrs/srs at 3.0release 搭建步骤 下载srs源码 git clone GitHub - ossrs/srs: SRS is a simple, high-efficiency, real-time video server supporting RTMP, WebRTC, HLS, HTTP-FLV,…...

pytest 使用(一)

pytest 使用pytest,默认的测试用例的规则以及基础应用pytest测试用例的运行方式pytest执行测试用例的顺序是怎样的呢?如何分组执行(冒烟,分模块执行,分接口和web执行)pytest跳过测试用例 b站课程链接 使用…...

基于秃鹰算法的无人机航迹规划-附代码

基于秃鹰算法的无人机航迹规划 文章目录 基于秃鹰算法的无人机航迹规划1.秃鹰搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用秃鹰算法来优化无人机航迹规划。 1.秃鹰搜索算法 …...

08. 按键输入

08. 按键输入 按键原理图代码编写GPIO驱动代码按键驱动代码主函数 加上清除BSS段,代码不运行 按键原理图 按键KEY0连接到了UART1_CTS上。默认情况下,KEY0为高,当按下KEY0后,UART1_CTS为低电平 代码编写 在bsp下创建一个key和一个…...

YOLOv8-pose关键点检测:模型轻量化创新 |轻量高性能网络PPLCNet助力backbone

💡💡💡本文解决什么问题:轻量高性能网络PPLCNet替换YOLOv8 backbone PPLCNet | GFLOPs从9.6降低至6.6, mAP50从0.921下降至0.901,mAP50-95从0.697提升至0.752 Yolov8-Pose关键点检测专栏介绍:https://blog.csdn.net/m0_63774211/category_12398833.html ✨✨✨手…...

大数据笔记-关于Cassandra的删除问题

Cassandra是Facebook开源的一个NoSQL数据库,它除了具备一般的NoSQL分布式数据库特点以外,最大的一个特点是去中心化架构设计,这和Hadoop HDFS/HBase等不一样,比如HDFS分为NameNode和DataNode,而Cassandra集群中所有节点…...

Qt自定义文件选择框

文章目录 前言一、头文件二、源文件三、qss文件四、效果 前言 在开发过程中,经常遇到使用文件选择框的情况,qt默认的文件选择框,样式可能与开发的桌面程序差异比较大.此时,我们可以自定义文件选择框,设置其样式,尽量做到样式统一. 一、头文件 #ifndef CUSTOMFILEDIALOG_H #d…...

金蝶云星空创建自动下推并保存公共服务

文章目录 金蝶云星空创建自动下推并保存公共服务创建公共方法按单下推数据按明细行下推数据调用下推操作 调用公共方法 金蝶云星空创建自动下推并保存公共服务 创建公共方法 按单下推数据 /// <summary>/// 获取单据转换数据包/// </summary>public DynamicObjec…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...