渗透测试模拟实战-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…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
