渗透测试模拟实战-tomexam网络考试系统
渗透测试,也称为“pentest”或“道德黑客”,是一种模拟攻击的网络安全评估方法,旨在识别和利用系统中的安全漏洞。这种测试通常由专业的安全专家执行,他们使用各种技术和工具来尝试突破系统的防御,如网络、应用程序、主机和服务。目标是评估系统的安全状况,并提供关于如何修复发现的问题的建议。
渗透测试可以分为几种类型,包括:
1. 黑盒测试:测试者对目标系统的信息了解最少,就像真正的攻击者一样。
2. 白盒测试:测试者对目标系统有完全的了解,包括代码、架构和设计。
3. 灰盒测试:测试者对目标系统有一定了解,介于黑盒和白盒测试之间。
4. 盲测:测试者在事先未通知的情况下进行测试,以评估组织的实时响应能力。
5. 内部测试:从内部网络进行测试,以评估内部防御机制的有效性。
渗透测试是维护网络安全的重要组成部分,可以帮助组织识别并修复潜在的安全漏洞,减少被恶意攻击的风险。然而,进行渗透测试时必须遵守法律和道德规范,确保所有活动都在授权范围内进行。
---------------
tomexam环境部署:
jspstudy2016、 tomexam靶场环境 安全工具


管理员登录:
admin admin
http://10.0.0.101:8080/tomexam/login.jsp

工具漏洞扫描
1、快速使用fscan、appscan、nessus、nmap、awvs、goby、7kb、破壳、御剑等
web漏洞扫描工具:appscan、awvs(Acunetix)、Netsparker.
系统漏洞扫描工具:nessus
信息收集:
域名:fofa、谷歌、百度、零零信安等搜索引擎、DNS历史记录、DNS备案号查询、https证书
敏感信息:谷歌搜索,社工库检索、威胁情报、天眼查、零零信安、7kb、破壳、dirsearch
IP地址:有CDN通过fofa标签找到真实ip、文件的hash值、网站证书、dns历史记录
网站指纹:wappalyzer插件、御剑web指纹识别、在线平台
端口:nmap、masscan、fscan、goby
目录扫描:7kb、破壳、御剑
旁站信息:fofa、masscan、k8、goby、fscan
旁注:facan
D:\在线工具包v0.3.1公测版\storage\fscan>.\fscan64.exe -h 10.0.0.101
start infoscan
(icmp) Target 10.0.0.101 is alive
[*] Icmp alive hosts len is: 1
10.0.0.101:8080 open
10.0.0.101:80 open
10.0.0.101:135 open
10.0.0.101:3306 open
10.0.0.101:8009 open
10.0.0.101:84 open
10.0.0.101:86 open
10.0.0.101:139 open
10.0.0.101:89 open
10.0.0.101:90 open
10.0.0.101:445 open
10.0.0.101:1433 open
[*] alive ports len is: 12
start vulscan
[*] WebTitle: http://10.0.0.101 code:400 len:39 title:None
[*] NetInfo:
[*]10.0.0.101[->]oldboy-f74d04fe[->]10.0.0.101
[+] 10.0.0.101 MS17-010 (Windows Server 2003 3790 Service Pack 2)
[*] WebTitle: http://10.0.0.101:8080 code:200 len:2416 title:Directory Listing For /
[*] WebTitle: http://10.0.0.101:90 code:200 len:2416 title:Directory Listing For /
[+] mssql:10.0.0.101:1433:sa 123456
[*] WebTitle: http://10.0.0.101:84 code:200 len:239 title:Hacked Me
[+] http://10.0.0.101:84 poc-yaml-iis-put-getshell
[*] WebTitle: http://10.0.0.101:86 code:200 len:41578 title:XYCMS中心小学建站系统
[*] WebTitle: http://10.0.0.101:89 code:200 len:173580 title:Shop7z网上购物系统-国内顶级的专业网上购物系统开发服务商
[+] http://10.0.0.101:86 poc-yaml-iis-put-getshell
[+] http://10.0.0.101:89 poc-yaml-iis-put-getshell
已完成 12/12
[*] 扫描结束,耗时: 18.0463107s
服务端口爆破:超级弱口令检查工具(SNETCracker)、Bruter(弱口令漏洞)

用御剑扫描后台目录;对扫描出来的网站目录进行访问检测(列目录漏洞)

指纹信息:通过指纹信息找漏洞(中间件)

工具探测漏洞略过。。
手工探测漏洞
bp与xary联合使用:
1、bp设置顶级代理;xary反向监听。
1-1、打开bp设置顶级代理:

1-2、xary配置config.yaml文件填写网站地址及端口;
# 被动代理配置
hostname_allowed: [10.0.0.101]
port_allowed: [8080]

1-3、xary输入命令运行:
xray.exe webscan --listen 127.0.0.1:7777 --html-output lan2024.html
这个命令将启动Xray进行Web扫描,监听本地主机的7777端口,并将扫描结果以HTML格式保存到一个名为
lan2024.html的文件中

即bp放一次包xary自动检测一次漏洞;
1-1、登陆页面探测漏洞:
1-1.1随意输入账户和密码查看登录提示:

不存在不安全提醒:

1-1.2、bp抓包查看请求包:
存在明文密码漏洞(https明文密码不算漏洞)

1-1.3、切换到管理员模式bp抓包进行暴力破解:(验证码可重复使用、弱口令密码)


开启选项里的重定向功能


1-2、注册页面探测漏洞

1-2.1、注册个新账号:
(注册页面用户名存在不安全提示,登录密码没有密码长度限制及复杂度限制)

1-2.1、尝试xss漏洞,调整字符限制;(未测试出xss)


1-3、登录后修改个人资料页面探测漏洞
1-3.1修改个人资料,邮箱位置插入xss代码(存在xss漏洞)


1-3.2、修改个人资料,形象图片位置查看源代码,发现文件上传模块连接:(webshell漏洞)

访问源代码里的链接:
http://10.0.0.101:8080/tomexam/inc/upload/postfile.html
可直接上传文件(限制照片格式)


抓包查看响应包,观察上传文件服务器端保存文件的格式:

多次上传:
upload/20240606/tes_20240606214251421.jpg
upload/20240606/tes_20240606214420656.jpg
upload/20240606/tes_20240606214435484.jpg
根据观察后三位是随机数,前几位为时间;
根据这一特性,抓包快速爆破:
bp设置后缀名变量,批量上传jpg、jsp格式:(快速爆破绕过限制)

添加有效载荷:
jpg
jsp
jpg
jsp
jpg
jsp

开始攻击:(批量上传jpg、jsp成功)

访问jpg格式上传的文件url,bp抓包后三位数字设置变量,后缀名改为jsp进行探测上传成功的jsp文件:
http://10.0.0.101:8080/tomexam/upload/20240606/tes_20240606220541843.jpg
代理拦截选项需取消拦截客户端请求中的File extension(不然访问文件bp不拦截)

抓包

设置后三位数字变量,后缀名改为jsp:
设置后三位数字有效载荷范围:
开始攻击:(成功筛选出上传成功的jsp文件)
访问webshell文件:
http://10.0.0.101:8080/tomexam/upload/20240606/tes_20240606220541796.jsp
正常解析 , 成功webshell

------------------
方式二: 经过测试直接访问目录可查看上传上传的webshell文件:
http://10.0.0.101:8080/tomexam/upload/20240606/

声明:
- 此文章只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如果您对文章内容有疑问,可以尝试留言私信,如有侵权请联系小编处理。
相关文章:
渗透测试模拟实战-tomexam网络考试系统
渗透测试,也称为“pentest”或“道德黑客”,是一种模拟攻击的网络安全评估方法,旨在识别和利用系统中的安全漏洞。这种测试通常由专业的安全专家执行,他们使用各种技术和工具来尝试突破系统的防御,如网络、应用程序、主…...
“神经网络之父”和“深度学习鼻祖”Geoffrey Hinton
“神经网络之父”和“深度学习鼻祖”Geoffrey Hinton在神经网络领域数十年如一日的研究,对深度学习的推动和贡献显著。 一、早期贡献与突破 反向传播算法的引入:Hinton是将反向传播(Backpropagation)算法引入多层神经网络训练的…...
[消息队列 Kafka] Kafka 架构组件及其特性(一)
工作中的消息队列用的是Kafka,一直没有系统的了解,这边集中整理一下。 目录 Kafka主要组件有十个部分。 1.Broker(服务器) 2.Record(消息) 3.Producer(生产者) 4.Consumer&…...
【Flutter 面试题】 JIT 与 AOT分别是什么?
【Flutter 面试题】 JIT 与 AOT分别是什么? 文章目录 写在前面口述回答写在前面 🙋 关于我 ,小雨青年 👉 CSDN博客专家,GitChat专栏作者,阿里云社区专家博主,51CTO专家博主。2023博客之星TOP153。 👏🏻 正在学 Flutter 的同学,你好! 😊 Flutter 面试宝典(…...
QT获取最小化,最大化,关闭窗口事件
QT获取最小化,最大化,关闭窗口事件 主程序头文件: 实现: changeEvent,状态改变事件 closeEvent触发点击窗口关闭按钮事件 其代码它参考: /*重写该函数*/ void MainWindow::changeEvent(QEvent *event) {…...
Oracle作业调度器Job Scheduler
Oracle数据库调度器 (Oracle Database Scheduler) 在数据库管理系统中,数据库调度器负责调度和执行数据库中的存储过程、触发器、事件等。它可以确保这些操作在正确的时间和条件下得到执行,以满足业务需求。 1、授权用户权限 -- 创建目录对象 tmp_dir…...
Vue 组件之间的通信
在 Vue.js 中,组件是构建应用程序的基本单位。然而,当你的应用程序变得复杂时,组件之间的通信变得至关重要。本文将介绍几种 Vue 组件之间通信的方式,帮助你更好地管理和组织代码。 父子组件通信 父组件可以通过 props 向子组件传…...
Elementary OS 7.1简单桌面调整
Elementary OS的Pantheon桌面环境提供了一种非常独特和直观的用户体验。默认情况下,Pantheon桌面并没有提供传统的窗口最小化、最大化按钮。但是可以通过安装和使用特定的工具来调整和自定义这些设置。 可以通过以下步骤来启用窗口的最小化和最大化按钮:…...
【C++ | 析构函数】类的析构函数详解
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 ⏰发布时间⏰:2024-06-06 1…...
ceph radosgw 原有zone placement信息丢失数据恢复
概述 近期遇到一个故障环境,因为某些原因,导致集群原有zone、zonegroup等信息丢失(osd,pool等状态均健康)。原有桶和数据无法访问,经过一些列fix后修复, 记录过程 恢复realm和pool相关信息 重…...
【动手学深度学习】残差网络(ResNet)的研究详情
目录 🌊1. 研究目的 🌊2. 研究准备 🌊3. 研究内容 🌍3.1 残差网络 🌍3.2 练习 🌊4. 研究体会 🌊1. 研究目的 了解残差网络(ResNet)的原理和架构;探究残…...
freertos初体验 - 在stm32上移植
1. 说明 freertos内核 非常精简,代码量也很少,官方也针对主流的编译器和内核准备好了移植文件,所以 freertos 的移植是非常简单的,很多工具(例如CubeMX)点点鼠标就可以生成一个 freertos 的工程࿰…...
ubuntu使用 .deb 文件安装VScode
使用 .deb 文件安装 下载 VSCode 的 .deb 文件: wget -q https://go.microsoft.com/fwlink/?LinkID760868 -O vscode.deb使用 dpkg 安装: sudo dpkg -i vscode.deb如果有依赖项问题,使用以下命令修复: sudo apt-get install -f...
9.1.1 简述目标检测领域中的单阶段模型和两阶段模型的性能差异及其原因
9.1目标检测 场景描述 目标检测(Object Detection)任务是计算机视觉中极为重要的基础问题,也是解决实例分割(Instance Segmentation)、场景理解(Scene Understanding)、目标跟踪(Ob…...
系统化自学Python的实用指南
目录 一、理解Python与设定目标 二、搭建学习环境与基础准备 三、入门学习阶段 四、中级进阶阶段 五、项目实践与持续深化 六、持续学习与拓展 一、理解Python与设定目标 Python概述:详细介绍Python的历史沿革、设计理念、主要特点(如易读、易维护…...
加密货币初创企业指南:如何寻找代币与市场的契合点
撰文:Mark Beylin,Boost VC 编译:Yangz,Techub News 原文来源:香港Web3媒体Techub News 在 Y Combinator 创始人 Paul Graham 《Be Good》一文中概述了初创企业如何找到产品与市场契合点的方法,即制造人…...
【十二】图解mybatis日志模块之设计模式
图解mybatis日志模块之设计模式 概述 最近经常在思考研发工程师初、中、高级工程师以及系统架构师各个级别的工程师有什么区别,随着年龄增加我们的技术级别也在提升,但是很多人到了高级别反而更加忧虑,因为it行业35岁年龄是个坎这是行业里的共…...
RainBond 制作应用并上架【以ElasticSearch为例】
文章目录 安装 ElasticSearch 集群第 1 步:添加组件第 2 步:查看组件第 3 步:访问组件制作 ElasticSearch 组件准备工作ElasticSearch 集群原理尝试 Helm 安装 ES 集群RainBond 制作 ES 思路源代码Dockerfiledocker-entrypoint.shelasticsearch.yml制作组件第 1 步:添加组件…...
JVM相关:Java内存区域
Java 虚拟机(JVM)在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。 Java运行时数据区域是指Java虚拟机(JVM)在执行Java程序时,为了管理内存而划分的几个不同作用域。这些区域各自承担特定的任务,…...
【C++】─篇文章带你熟练掌握 map 与 set 的使用
目录 一、关联式容器二、键值对三、pair3.1 pair的常用接口说明3.1.1 [无参构造函数](https://legacy.cplusplus.com/reference/utility/pair/pair/)3.1.2 [有参构造函数 / 拷贝构造函数](https://legacy.cplusplus.com/reference/utility/pair/pair/)3.1.3 [有参构造函数](htt…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...
Linux-进程间的通信
1、IPC: Inter Process Communication(进程间通信): 由于每个进程在操作系统中有独立的地址空间,它们不能像线程那样直接访问彼此的内存,所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...
UE5 音效系统
一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类,将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix,将上述三个类翻入其中,通过它管理每个音乐…...
react菜单,动态绑定点击事件,菜单分离出去单独的js文件,Ant框架
1、菜单文件treeTop.js // 顶部菜单 import { AppstoreOutlined, SettingOutlined } from ant-design/icons; // 定义菜单项数据 const treeTop [{label: Docker管理,key: 1,icon: <AppstoreOutlined />,url:"/docker/index"},{label: 权限管理,key: 2,icon:…...
