2025年渗透测试面试题总结-2025年HW(护网面试) 71(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
2025年HW(护网面试) 71
一、自我介绍
二、Web漏洞原理与攻防(浓缩8类核心漏洞)
三、jQuery中高危XSS函数
四、常见XSS触发点(按输入源分类)
五、文件上传绕过技巧(4层穿透思路)
六、代码审计方法论与工具链
七、挖洞自动化实践
八、同源策略(SOP)与跨域方案
九、JSONP与CORS漏洞
十、CSP安全策略与绕过
十一、渗透测试标准化流程
十二、甲方安全防护体系
十三、漏洞跟踪方法论
2025年HW(护网面试) 71
1、自我介绍 2、各种web漏洞的原理、进攻及防御技巧 3、jquery库里面有一个函数可以直接导致xss的是哪个函数? 4、一般有哪些熟悉可以导致xss? 5、文件上传你都有什么思路? 6、做了这么多代码审计,你有什么独到的方法?都用什么工具?seay那个工具的原理有了解过吗? 7、有想过挖洞自动化吗? 8、讲一讲同源策略,跨域都有什么方式? 9、讲一讲你对jsonp的了解?还有cors一般都会有什么漏洞? 10、csp是干嘛的?有啥绕过姿势吗? 11、给你一个网站,你一般是怎么做渗透测试的?一般会挖什么类型的漏洞? 12、那对于甲方来说,你觉得怎么来对一个网站做好防护准备? 13、平时会对一些新的漏洞进行跟进甚至分析吗?
一、自我介绍
网络安全研究员,专注Web安全5年+,核心领域:
- 漏洞挖掘(白盒审计/黑盒渗透)
- 安全开发生命周期(SDL)建设
- 自动化漏洞检测工具开发
曾主导多个金融/政务系统红蓝对抗,累计提交CVE 12+,审计代码超百万行。
二、Web漏洞原理与攻防(浓缩8类核心漏洞)
漏洞类型 攻击原理 防御方案 XSS 恶意脚本注入DOM/反射/存储 CSP策略、HTML实体编码、 Trusted Types
APISQLi 拼接未过滤数据至SQL语句 参数化查询、ORM框架、输入类型强校验 CSRF 伪造用户身份执行非预期操作 Anti-CSRF Token、SameSite Cookie属性 SSRF 利用服务端请求内部资源 白名单域名解析、禁用危险协议(file/gopher) XXE 解析恶意XML实体触发文件读取 禁用DTD、使用JSON替代XML RCE 系统命令/代码注入(如 eval()
)沙箱隔离、命令执行白名单、禁用危险函数 文件上传 绕过校验传马 文件头校验、重命名+随机路径、云WAF检测 反序列化 篡改序列化数据执行构造代码 签名验证、禁用 __wakeup()
、安全反序列化库🔥 深度防御建议:采用分层沙箱架构(如WebAssembly隔离用户上传内容)+ 运行时应用自保护(RASP)实时阻断攻击链。
三、jQuery中高危XSS函数
$.html()
/$().append()
⚠️ 风险场景:javascript
// 直接插入未过滤用户输入导致XSS $("#container").html(userInput);
✅ 修复方案:
javascript
// 使用text()替代或DOM净化库(如DOMPurify) $("#container").text(userInput); $("#container").append($('<div>', {text: userInput}));
四、常见XSS触发点(按输入源分类)
输入源 高危场景 URL参数 location.search
解析未编码表单字段 评论框/搜索框直接输出HTML HTTP头 Referer
/User-Agent
渲染存储型数据 数据库读取内容未过滤 前端存储 localStorage
/sessionStorage
动态使用
五、文件上传绕过技巧(4层穿透思路)
- 前端绕过:
- 修改JS校验逻辑(禁用JS或Burp改包)
- Content-Type绕过:
- 伪造
image/png
头(实际为PHP)- 扩展名绕过:
- 大小写(
.PhP
)、双重扩展(.jpg.php
)、空字节(shell.jpg%00.php
)- 解析漏洞利用:
- Apache解析漏洞(
test.php.jpg
)- IIS6.0分号漏洞(
shell.asp;.jpg
)- 高级技巧:
- 利用ExifTool注入代码至图片元数据
- 竞争条件攻击(上传
.htaccess
覆盖配置)
六、代码审计方法论与工具链
审计流程:
mermaid
graph LR A[入口点定位] --> B[危险函数追踪] B --> C[数据流污点分析] C --> D[跨文件调用链还原] D --> E[漏洞场景构造]
工具栈:
- 静态分析:Semgrep(规则定制)、CodeQL(跨文件追踪)
- 动态分析:Xdebug + PHPStorm 断点调试
- 自动化工具:
- Seay源码审计系统原理:基于正则匹配危险函数(如
eval()
/system()
),回溯变量传递路径,误报率高但快速定位可疑点。- 改进方案:结合AST(抽象语法树)分析提高准确性(如使用
php-ast
扩展)。
七、挖洞自动化实践
✅ 技术栈:
python
# 伪代码示例:基于AST的XSS检测 import ast, re class XSSVisitor(ast.NodeVisitor): def visit_Call(self, node): if isinstance(node.func, ast.Name) and node.func.id == "html": if any(isinstance(arg, ast.Str) for arg in node.args): report_vulnerability(node.lineno)
🔥 核心挑战:
- 误报率控制(需结合数据流分析)
- 业务逻辑漏洞难以自动化
八、同源策略(SOP)与跨域方案
机制 原理 安全风险 JSONP 利用 <script>
标签跨域回调函数XSS(需严格过滤) CORS 服务端设置 Access-Control-Allow-*
配置错误(如 Allow-Origin: *
带凭证)postMessage 窗口间消息传递 未验证来源导致XSS 代理转发 Nginx反向代理同域请求 增加服务端攻击面 💥 CORS高危配置:
nginx
# 危险配置示例(允许任意源带Cookie) add_header Access-Control-Allow-Origin "*"; add_header Access-Control-Allow-Credentials "true";
九、JSONP与CORS漏洞
JSONP劫持:
html
<!-- 攻击页面 --> <script> function stealData(data) { sendToAttacker(data); } </script> <script src="https://victim.com/api?callback=stealData"></script>
CORS漏洞利用:
javascript
// 伪造请求获取敏感数据 fetch('https://victim.com/userinfo', { credentials: 'include' }).then(response => response.json()).then(data => exfil(data));
十、CSP安全策略与绕过
核心作用:
http
Content-Security-Policy: default-src 'self'; script-src 'nonce-abc123';
🚨 绕过姿势:
- 注入允许的CDN域名(如
<script src="https://trusted-cdn.com/evil.js">
)- 利用
unsafe-eval
执行动态代码- 通过302跳转绕过路径限制
- 非浏览器环境绕过(如Electron应用)
✅ 强化建议:启用
report-uri
收集违规报告 +strict-dynamic
动态信任。
十一、渗透测试标准化流程
五阶段模型:
- 信息收集
- Subdomain枚举(Amass)
- 指纹识别(Wappalyzer)
- 漏洞扫描
- 主动扫描(Burp Suite + Nuclei模板)
- 被动代理(流量分析)
- 手动验证
- 业务逻辑漏洞(越权/支付绕过)
- 二次注入/存储型XSS
- 权限提升
- JWT密钥破解
- 数据库提权(MySQL UDF)
- 持久化
- WebShell隐藏(.htaccess后门)
- 供应链污染(npm包劫持)
十二、甲方安全防护体系
纵深防御架构:
mermaid
graph TB A[边界层] --> WAF+防火墙 B[应用层] --> RASP+SAST/DAST C[数据层] --> 加密+脱敏 D[监控层] --> SIEM+行为分析
关键动作:
- 强制SDLC流程(需求阶段介入安全评审)
- 漏洞赏金计划(众测覆盖)
- 红蓝对抗常态化
十三、漏洞跟踪方法论
情报闭环:
mermaid
graph LR A[CVE/NVD监控] --> B[PoC验证] B --> C[内部资产扫描] C --> D[热补丁开发] D --> E[技术沉淀报告]
分析工具链:
- 动态调试:GDB + PEDA(Linux)/ WinDbg(Windows)
- 二进制分析:Ghidra + IDA Pro
- 漏洞复现:QEMU模拟环境