渗透测试——记一次Web应用程序渗透测试(附带手工测试与思路讲解)

发布时间:2026/10/28 16:07:39

渗透测试——记一次Web应用程序渗透测试(附带手工测试与思路讲解) 时隔一个月也是很久没有给大家发文章了。主要是这段时间专注于因为一些事情所以也是没有较为充裕的时间不过今天也是趁着时间和精力不错抽空给大家带来一篇渗透测试手工和AI多种方式的讲解文章。文章目录环境介绍免责声明学习目标信息收集端口扫描Web目录枚举中危/api路径信息泄露账号存在的缺陷及利用思路低危敏感信息泄露存在的缺陷及利用思路高危垂直越权Administrator用户存在的缺陷及利用思路高危密码口令重置存在的缺陷及利用思路中危文件上传存在的缺陷及利用思路严重远程代码执行RCE进一步提权总结环境介绍假设你受聘担任渗透测试员你的客户运营着一个名为RecruitX的小型 Web 应用程序这是一个内部招聘门户招聘经理可以在上面发布职位信息候选人可以提交申请管理员可以管理整个招聘流程。客户怀疑该应用程序存在安全问题但不知道问题出在哪里。你的任务就是找出问题所在。甲方一句话乙方人累垮说多了都是泪~所以我们的目的就是从头到尾完成一次真实的Web应用程序渗透测试。且在测试的各个阶段我还会给大家解释该做什么、为什么要这样做以及需要注意什么并。最终各位将从对目标一无所知到能够在底层服务器上执行远程代码。免责声明本文内容仅用于网络安全学习、靶场练习及安全研究文中涉及的漏洞分析、测试方法及相关技术仅限于经过授权的实验环境中使用。未经授权对他人系统、网站、服务器或网络进行扫描、攻击、漏洞利用及数据获取可能违反相关法律法规。使用本文内容所产生的一切后果由使用者自行承担作者及本文提供方不对任何未经授权的使用行为承担责任。学习目标参与遵循以下路径- 侦察和枚举-发现应用程序暴露的内容 - 不安全的直接对象引用IDOR-访问属于其他用户的数据 - 弱密码重置-通过有缺陷的重置机制接管帐户 - 管理面板访问权限-从普通用户升级为管理员 - 远程代码执行-利用管理功能在服务器上执行命令每个漏洞都建立在上一步收集的信息之上。这就是现实世界渗透测试的工作原理你很少发现一个关键的缺陷是公开的。相反我们可以把较小的弱点联系在一起直到它们加起来形成一些重要的东西。话不多说我们直接开始信息收集端口扫描这里我们还是老步骤先看看目标网站开启了哪些端口HTTP 80端口Apache/2.4.58 PHPRecruitX招聘系统存在目录遍历、敏感文件泄露与多业务入口可结合Apache、PHP对应版本漏洞尝试文件上传、SQL注入、未授权访问等攻击。SSH 22端口OpenSSH 9.6p1 Ubuntu 3ubuntu13.5远程登录端口对外暴露可进行弱口令爆破也可尝试利用该版本OpenSSH的认证绕过、权限提升漏洞获取服务器控制权。HTTP 8080端口Apache/2.4.58 Ubuntu暴露Apache版本信息与系统默认页面存在默认配置不当风险可利用对应版本的解析漏洞、路径遍历漏洞推进渗透。MySQL3306端口数据库服务端口对外开放可通过弱口令爆破窃取数据也可尝试利用MySQL权限提升特性执行系统命令。1请求头确认服务器正在运行Apache版本信息2.4.58;2该PHPSESSIDcookie 确认 PHP 会话管理正在使用3我们现在知道了技术栈Apache PHP MySQL——经典的 LAMP 配置。Web目录枚举这里我们只知道客户给出的目标网站信息其余的所有信息都要我们去收集当然也可以自己注册一个测试账号testhttp://10.49.151.14/甲方只给你一个网址您能有什么办法既来之则安之那就看看该网站有什么内容随后还发现了“注册”“登陆”“重置密码”等功能块但是手工去找是不是太麻烦了所以这里我们可以对该网站进行目录枚举所以我简单整理了一下得到如下结果- index.phpRecruitX招聘系统首页提供站点主页面访问入口 - login.phpRecruitX招聘系统登录页用于用户身份校验与登录 - reset.php系统重置密码页面用于忘记密码无法登陆 - flag.txt站点根目录下的文本文件可能存储敏感标识信息 - uploads/文件上传目录支持目录遍历可查看已上传文件 - api/系统API接口目录承载后端接口服务 - config/系统配置目录支持目录遍历可查看配置相关文件 - register.phpRecruitX招聘系统注册页提供新用户账号注册功能 - includes/系统包含文件目录访问时返回301永久重定向 - admin/系统后台管理入口访问时返回302重定向至登录页中危/api路径信息泄露账号这里访问到/api目录泄露了几个隐藏的路径分别访问后得到如下结果/applications路径无信息这里我们尝试一下id参数发现竟然也存在其他用户的信息其他用户的操作同理且其中包括了管理员账号Administrator/jobs路径岗位信息存在的缺陷及利用思路中危/api 路径信息泄露账号思路危害是攻击者可枚举 API 路径批量获取账号信息为暴力破解、撞库攻击提供基础预防关闭目录遍历功能接口统一返回通用错误码对账号查询接口增加身份校验与访问频次限制。低危敏感信息泄露这里我们找到了flag.txt所以也是很轻易的得到第一个结果对应真实环境中的“敏感文件泄露”存在的缺陷及利用思路低危敏感信息泄露思路危害是泄露系统版本、内部字段等信息为攻击者开展深度攻击提供参考预防统一异常处理机制移除响应包中的调试信息、服务器指纹等冗余敏感字段。高危垂直越权Administrator用户登陆进来后得到如下页面发现多了一个/dashboard路径点击个人页面有一些个人信息但注意到URL怎么有点眼熟原因目标应用存在垂直越权漏洞服务端未基于Session、JWT Token、接口Auth签名等身份认证凭证对用户可控的id参数进行数据权限校验攻击者可直接修改ID值越权访问其他账号的业务数据。这里整理一下收集了如下用户信息- Sarah Mitchell邮箱s.mitchellrecruitx.thm角色administrator - James Crawford邮箱j.crawfordrecruitx.thm角色hiring_manager - Priya Desai邮箱p.desairecruitx.thm角色hiring_manager - Tom Beckett邮箱t.beckettrecruitx.thm角色candidate - Amina Yusuf邮箱a.yusufrecruitx.thm角色candidate - Test邮箱testuserfake.thm角色candidate要是超出了用户数量也会报错测试了一下并不存在报错注入既然能越权到管理员账号那其Cookie凭证自然也是不能错过PHPSESSID:eu21ehdsct2u75kfakeg75heib存在的缺陷及利用思路为什么该漏洞很重要IDOR漏洞一直被列为最常见的web应用程序漏洞之一。它们的发生是因为开发人员假设用户只会访问自己的资源而当有人更改URL参数时这种假设就会被打破。修复方法很简单服务器必须验证当前经过身份验证的用户是否有权访问所请求的对象。但在实践中这种检查经常缺失。高危密码口令重置现在我们知道了管理员的电子邮件地址s.mitchellrecruitx.thm我们的下一个目标是接管她的帐户。与其尝试猜测她的密码这可能耗时很长而且会导致帐户被锁定不如我们先来研究一下密码重置机制别忘了之前熟悉系统是找到的/reset.php页面这里我们将管理员的邮箱填入后发现没有经过任何校验直接获取了重置后的链接- Reset Token434787- Reset URL: /reset.php?token434787emails.mitchell%40recruitx.thm随后使用重置的账号密码登陆存在的缺陷及利用思路我们现已获取管理员登录权限。先来复盘当前的完整漏洞利用链路首先通过不安全直接对象引用IDOR漏洞探测到管理员邮箱地址随后利用弱密码重置机制漏洞 —— 该机制会将重置令牌直接暴露在接口响应报文中。单个漏洞均无法独立获取管理员访问权限但将二者串联形成利用链后便可造成致命的权限越权效果。当前密码重置机制有三个明显的缺陷响应中显示的令牌令牌应仅发送到帐户所有者的电子邮件不得显示在屏幕上。弱令牌生成六位数字令牌的长度较短容易受到暴力攻击。无速率限制应用程序没有限制重置请求或令牌猜测的数量。中危文件上传我们之前在枚举过程中发现了一条/admin会将未经身份验证的用户重定向到登录页面的路径。现在我们有了管理员凭据看看里面存在什么功能点击settings后发现的是该系统的一些组件版本信息但是到upload模块看名字应该就是一个文件上传的功能我们接下来看看能上传什么类型的文件bp抓包或者F12都可以我们来测试一下服务器是否强制执行文件类型限制。首先我们尝试上传一个无害的文本文件说明服务器也会对客户端上传的文件进行校验而不能简单的前端绕过接下来测试一下服务器是否只检查文件扩展名还是也会检查文件内容这里创建一个PHP文件但是后缀为.phtmlApache 通常会将其处理为 PHP?phpechoPHP is executing;?成功绕过限制访问该页面来验证我们上传的文件是否能够执行http://10.48.146.91/uploads/documents/1.phtml存在的缺陷及利用思路中危文件上传漏洞漏洞原因上传功能对文件类型、后缀及内容校验不严格且 Apache 站点配置.htaccess文件将.phtml等文件作为 PHP 脚本解析上传目录未限制脚本执行。# 内容类似如下AddHandler application/x-httpd-php .php .phtml漏洞思路攻击者可上传恶意.phtml脚本文件服务器将其解析执行从而执行系统命令严重时可导致服务器被控制。预防措施严格校验文件后缀及内容设置文件类型白名单禁止上传.phtml等脚本文件上传目录关闭脚本执行权限并对文件随机重命名存储。严重远程代码执行RCE我们已确认可以上传PHP将文件发送到服务器且服务器能够解析我们上传的文件结合前面几个点会造成十分严重的后果随后我们创建一个Webshell上传到该服务器尝试获取其权限# 最简单?system($_GET[cmd]);?随后将其上传到服务器随后执行命令进一步提权既然我们拥有了在目标服务器上执行命令的权限接下来就是尽可能的收集其敏感信息首当其冲的必然是/etc/passwd文件查看机器上都有哪些用户分别拥有什么权限cat/etc/passwd|grep-vnologin作用查看 /etc/passwd 中可以正常登录的用户执行命令后得到结果root:x:0:0:root:/root:/bin/bash sync:x:4:65534:sync:/bin:/bin/sync tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false pollinate:x:111:1::/var/cache/pollinate:/bin/false ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash lxd:x:998:100::/var/snap/lxd/common/lxd:/bin/false dhcpcd:x:114:65534:DHCP Client Daemon,,,:/usr/lib/dhcpcd:/bin/false mysql:x:115:123:MySQL Server,,,:/nonexistent:/bin/false qa:x:1001:1001::/home/qa:/bin/bash qa:x:1001:1001::/home/qa:/bin/bash这里我觉得一个个在浏览器输入太麻烦了所以换成了哥斯拉的shell这里我们找一下flagfind/-typef-nameflag*2/dev/null-execcat{}\;得到结果THM{ch41n3d_vulns_4r3_d3v4st4t1ng}后续如果想要获取更高权限的话有两种思路简单粗暴直接用Apache的内核漏洞但有可能造成服务器崩溃这在现实环境中是绝对不允许接受的。要么就寻找该服务器上还有哪些能够越权的地方比如SUDO提取SUID利用等等感兴趣的师傅可以看该系列的其他文章会给你有些许启发渗透测试与内网横向专栏这里就不赘述了一次简单的Web应用程序到此结束。总结本次实验通过信息收集、端口扫描和 Web 目录枚举逐步发现目标系统存在的信息泄露、越权访问、密码重置、文件上传及远程代码执行等安全问题。通过对漏洞进行验证和利用最终实现从低权限访问到服务器控制并进一步完成提权。本实验完整体现了渗透测试中“信息收集 → 漏洞发现 → 漏洞利用 → 权限提升 → 获取目标控制权”的基本流程为后续学习 Web 渗透测试和主机提权打下基础。
延伸阅读

更多相关文章

2026/10/28 16:07:13

手写 JT808 终端模拟器:协议分析、代码实现与踩坑记录

简介:JT808终端模拟工具是一款面向车辆监控系统开发者与测试工程师的专业级协议仿真软件,专为验证JT/T 1078音视频传输、主动安全报警(如苏标、粤标)及高并发稳定性而设计,有效解决真实终端接入成本高、场景复现难、压…

2026/10/28 7:48:59

1000份个人求职简历模板Word免费下载,覆盖多岗位可批量处理

这次我们来看一个找工作阶段的刚需资源:个人求职简历模板,Word 格式,可免费下载,手机和电脑上都能编辑。重点是,这份资源按标题整理有 1000 份左右,覆盖的场景比较广,从应届生到转行、从技术岗到…

2026/10/28 16:07:10

CRPS电源纹波噪声测量全攻略:从原理到实操避免翻车

纹波和噪声的测量,是电源测试里最容易“翻车”的环节之一。我见过太多人拿着示波器探头往输出端一搭,看到屏幕上几十毫伏的毛刺就下结论说电源不合格,结果换个人、换根线、换个接地方式,读数直接差出一个数量级。CRPS电源&#xf…

2026/10/28 16:07:10

cloudflare-os 实战:边缘运行时构建 AI agent 操作系统

1. 从标题到落地:cloudflare-os 到底想解决什么问题第一次看到cloudflare-os这个标题,我脑子里冒出来的第一个念头是:这大概率不是又一个"把 Linux 塞进浏览器"的玩具项目。因为标题里同时挂着 Cloudflare Workers、AI、agent、pnp…

2026/10/28 16:07:09

Ripro9.0免扩展二开版:解密无后门与本地部署实战

简介:这份资源是Ripro9.0免扩展二开版WordPress博客主题的完整源码包,面向使用WordPress搭建资源站、素材站或博客的站长与二次开发者,尤其适合虚拟主机环境、不想额外安装扩展组件的用户。包内不仅包含据称由Ripro8.9二开而来的9.0全解密无后…

2026/10/28 16:07:09

遗传算法与布谷鸟搜索优化特征选择实战

1. 项目概述:当遗传算法遇上特征选择在机器学习项目中,特征选择始终是个令人头疼的问题。去年我在一个医疗诊断项目中发现,当原始数据包含200维特征时,即使使用随机森林这样的算法,模型性能也会因为特征冗余而大打折扣…

2026/10/28 16:07:09

Cloudflare OS 实战:用 Workers 与 AI 搭建边缘全栈应用

1. 从 cloudflare-os 这个标题说起:它到底是什么第一次看到cloudflare-os这个标题,我下意识以为 Cloudflare 又出了什么操作系统。翻了一圈资料才反应过来,这其实是社区里对“把 Cloudflare 全家桶(Workers、Pages、D1、R2、KV、Q…

2026/10/28 16:02:09

MaxKB:大模型知识库管理与RAG技术实践

1. MaxKB:大模型知识库管理的革命性工具在人工智能技术快速发展的今天,大模型知识库已成为企业和个人高效管理信息的核心基础设施。MaxKB作为一款专为大模型设计的知识库管理系统,正在改变我们构建、管理和利用知识的方式。我第一次接触MaxKB…

2026/10/28 14:42:12

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/28 15:28:56

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/28 3:32:29

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/28 0:02:13

Python股票自动交易系统源码解析:从行情获取到风控的完整链路

简介:这份资源是面向高校计算机、金融相关专业毕业设计场景的完整项目源码包,主题为基于Python的股票自动交易系统,适合需要完成毕设选题、课程设计或自学金融量化交易开发的学生与开发者参考。压缩包共收录687个文件,整体约14.93…

2026/10/28 0:02:13

视酷酷信IM源码部署指南:Java 17+MySQL 8.0.33实战配置

简介:这是一套2024年亲测可部署的视酷酷信IM即时通讯系统源码,面向具备Java、OC、C#及Vue开发能力的技术人员,解决私有化即时通讯平台快速搭建与二次定制需求,尤其适用于需集成商城、保障数据主权的中小型企业或独立开发者。资源共…

2026/10/28 0:02:13

Python爬取百度迁徙数据:接口解析、批量采集与避坑指南

简介:这份资源是一个用Python爬取百度迁徙数据的脚本压缩包,面向具备Python基础、希望入门网络爬虫与数据解析的开发者,解决按日期获取全国热门城市人口迁徙数据的问题。包内共1个文件,为单个py脚本,压缩包约1KB&#…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑