渗透测试模拟实战-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…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...
基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...
