渗透测试中的一波三折(渗透测试中的一波三折原理)
bigegpt 2025-04-06 13:46 5 浏览
信息收集&踩点
这是一个普通的等保渗透项目,要求在一天内完成,接到项目时已经快中午了,由于时间急促,信息收集一番便开干了。
经过前期踩点发现站点使用了webpack打包且存在流量限制,目录扫描超过200会ban ip,扫描器无法正常使用,通过查看js文件发现了多个系统接口,但都存在权限校验,无法进一步利用。
重新回到登录页面进行测试,发现此处存在用户名枚举漏洞,利用用户名枚举得到存在账号admin,通过查看js发现登录密码正则匹配为强口令,且存在账号锁定策略,密码错误五次账号锁定15分钟,继续测试发现此处验证码有效期为一次,无法进行绕过,批量爆破用户弱口令也无法实现
手动尝试多个强口令登录无果,之后开启抓包截获登录数据包,观察返回包发现登录失败的response code为500,结合response返回内容和webpack信息可知,response code状态控制着系统跳转链接,通过更改response code状态为200,尝试使用逻辑漏洞突破限制,但由于系统存在权限校验,该尝试也以失败告终。
之后通过搜索关键字,从某js文件得到admin账号密码,尝试登陆,但也失败了。
漏洞挖掘
用户名枚举&弱口令
登录页面无收获,为了寻找其它的突破点,利用搜索引擎、GitHub等对目标进行信息收集,最终在目标官网处发现其邮箱用户名,复制该用户名回到目标系统,利用用户名枚举漏洞可知该账号存在于目标系统,为可登录用户。
得到了切入点,使用先前收集到的admin密码登录,但登录失败,随后便对该用户进行多个强口令登录尝试,由于验证码有效和账号锁定策略,在经过多次重复劳作后,登录成功。
由于登录成功的账号需要更改密码,为了不影响业务的稳定性,询问客户是否能更改密码,在取到客户同意后便更改密码重新进行登录,意料之外的是还存在第二层验证,也就是下面的短信验证码认证机制,经过测试发现此处可爆破验证码,但不清楚验证码的组合及长度,通过f12定位源码,发现密码输入的maxlength为4,猜测此处验证码为4位数,尝试爆破验证码,但失败。
为了绕过验证码认证机制,继续对该接口测试,通过测试发现可利用此接口下发登录验证码到任意手机号,利用该设计缺陷,更改phone内容为本机号码,使用本机接收验证码并登录,但此次尝试也失败了。
通过短信可知此处的验证码为6位数,并非是4位,这里有点奇怪,因为前端限制了输入验证码的长度为4,正常用户肯定不会f12更改maxlength再登录的,抱着疑问问了下客户才知道这个验证码登录功能仅限于管理员登录使用,非管理员用户则是直接登录,通过短短的几句话可知,这个账号具备管理员权限,且目前已经有了账号密码,只要绕过短信认证,即可获取后台管理员权限,由于6位数验证码爆破可能性较小,使用随机数爆破一番后失败,此时测试再次陷入僵局。
逻辑漏洞
回到登录处重新寻找突破口,经过观察登录数据包,在登录处发现了一个突破点,当使用账号密码登录成功后,再来到验证码登录步骤时,此时的验证码登录数据包会存在Authorization字段,这时回到webpack查看认证逻辑,根据代码逻辑,当登录数据包存在Authorization字段,再去更改response code状态是可以绕过验证码登录后台的。
利用该逻辑缺陷,回到验证码登录页面输入任意验证码,抓包修改响应内容为200即可突破限制进后台。
获取到了后台权限,为了扩大漏洞危害,继续对后台进行漏洞挖掘,尝试getshell。
文件上传漏洞
进到后台找寻上传点,最终在某文件上传处绕过前端限制上传了jsp文件,但令人失望的是,上传文件被放到了对象存储OSS。
继续对其它上传点进行尝试,通过不懈努力,终于找到一个上传文件放到本地服务器的上传接口,但存在限制,需要进行绕过。
经过多次尝试,发现更改接口为uploadtest,即可绕过限制传shell,但shell虽然传上去了,访问却提示了接口异常,shell无法正常使用,后来重新上传txt、png等文件访问,也都为异常,没办法,上传点无法正常使用,只能寻找其它突破点了。
SQL注入
继续测试也只发现了个布尔注入和一些xss,到这里已经下午5点多了,由于时间问题,只能停下来,把报告给写了,到此,本次测试也告一段落。
思考
攻击路径:
1.利用用户名枚举得到账号xx。
2.xx账号存在弱口令,更改密码登录时发现存在短信验证码限制。
3.利用逻辑漏洞绕过短信验证码限制获取后台权限,但由于系统缺陷无法get shell。
本文使用了组合漏洞进后台,中间环节哪怕缺少一个漏洞,如用户名枚举,可能都导致进后台失败,虽然用户名枚举这种漏洞在各位师傅看来用处不大,但在特定情景下,其作用还是非常显著的,如果不是用户名枚举确定了xx用户的存在,在验证码有效的情况下,或许我在尝试几个弱口令被封账号后便放弃这个用户账号,从而就没有后续突破后台的操作了,所以说渗透需要细心,每个漏洞都能环环相扣,或许一个用户名枚举就能赋予我们突破的灵感。
最后
想学网络安全以及正在学习网络安全的同学可以关注私我获取【网络安全学习资料·攻略】
相关推荐
- 得物可观测平台架构升级:基于GreptimeDB的全新监控体系实践
-
一、摘要在前端可观测分析场景中,需要实时观测并处理多地、多环境的运行情况,以保障Web应用和移动端的可用性与性能。传统方案往往依赖代理Agent→消息队列→流计算引擎→OLAP存储...
- warm-flow新春版:网关直连和流程图重构
-
本期主要解决了网关直连和流程图重构,可以自此之后可支持各种复杂的网关混合、多网关直连使用。-新增Ruoyi-Vue-Plus优秀开源集成案例更新日志[feat]导入、导出和保存等新增json格式支持...
- 扣子空间体验报告
-
在数字化时代,智能工具的应用正不断拓展到我们工作和生活的各个角落。从任务规划到项目执行,再到任务管理,作者深入探讨了这款工具在不同场景下的表现和潜力。通过具体的应用实例,文章展示了扣子空间如何帮助用户...
- spider-flow:开源的可视化方式定义爬虫方案
-
spider-flow简介spider-flow是一个爬虫平台,以可视化推拽方式定义爬取流程,无需代码即可实现一个爬虫服务。spider-flow特性支持css选择器、正则提取支持JSON/XML格式...
- solon-flow 你好世界!
-
solon-flow是一个基础级的流处理引擎(可用于业务规则、决策处理、计算编排、流程审批等......)。提供有“开放式”驱动定制支持,像jdbc有mysql或pgsql等驱动,可...
- 新一代开源爬虫平台:SpiderFlow
-
SpiderFlow:新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。-精选真开源,释放新价值。概览Spider-Flow是一个开源的、面向所有用户的Web端爬虫构建平台,它使用Ja...
- 通过 SQL 训练机器学习模型的引擎
-
关注薪资待遇的同学应该知道,机器学习相关的岗位工资普遍偏高啊。同时随着各种通用机器学习框架的出现,机器学习的门槛也在逐渐降低,训练一个简单的机器学习模型变得不那么难。但是不得不承认对于一些数据相关的工...
- 鼠须管输入法rime for Mac
-
鼠须管输入法forMac是一款十分新颖的跨平台输入法软件,全名是中州韵输入法引擎,鼠须管输入法mac版不仅仅是一个输入法,而是一个输入法算法框架。Rime的基础架构十分精良,一套算法支持了拼音、...
- Go语言 1.20 版本正式发布:新版详细介绍
-
Go1.20简介最新的Go版本1.20在Go1.19发布六个月后发布。它的大部分更改都在工具链、运行时和库的实现中。一如既往,该版本保持了Go1的兼容性承诺。我们期望几乎所...
- iOS 10平台SpriteKit新特性之Tile Maps(上)
-
简介苹果公司在WWDC2016大会上向人们展示了一大批新的好东西。其中之一就是SpriteKitTileEditor。这款工具易于上手,而且看起来速度特别快。在本教程中,你将了解关于TileE...
- 程序员简历例句—范例Java、Python、C++模板
-
个人简介通用简介:有良好的代码风格,通过添加注释提高代码可读性,注重代码质量,研读过XXX,XXX等多个开源项目源码从而学习增强代码的健壮性与扩展性。具备良好的代码编程习惯及文档编写能力,参与多个高...
- Telerik UI for iOS Q3 2015正式发布
-
近日,TelerikUIforiOS正式发布了Q32015。新版本新增对XCode7、Swift2.0和iOS9的支持,同时还新增了对数轴、不连续的日期时间轴等;改进TKDataPoin...
- ios使用ijkplayer+nginx进行视频直播
-
上两节,我们讲到使用nginx和ngixn的rtmp模块搭建直播的服务器,接着我们讲解了在Android使用ijkplayer来作为我们的视频直播播放器,整个过程中,需要注意的就是ijlplayer编...
- IOS技术分享|iOS快速生成开发文档(一)
-
前言对于开发人员而言,文档的作用不言而喻。文档不仅可以提高软件开发效率,还能便于以后的软件开发、使用和维护。本文主要讲述Objective-C快速生成开发文档工具appledoc。简介apple...
- macOS下配置VS Code C++开发环境
-
本文介绍在苹果macOS操作系统下,配置VisualStudioCode的C/C++开发环境的过程,本环境使用Clang/LLVM编译器和调试器。一、前置条件本文默认前置条件是,您的开发设备已...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- httperror403.14-forbidden (63)
- logstashinput (65)
- hadoop端口 (65)
- dockernetworkconnect (63)
- esxi7 (63)
- vue阻止冒泡 (67)
- c#for循环 (63)
- oracle时间戳转换日期 (64)
- jquery跨域 (68)
- php写入文件 (73)
- java大写转小写 (63)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)