2025年渗透测试面试题总结-98(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
一、个人背景
二、渗透实战技术深度解析
4. 印象深刻的渗透流程
5. 典型漏洞原理分析
6. ThinkPHP5代码执行调试
三、Web安全核心技术
7. XSS种类及原理
8. CSRF防御方案
9. SQL注入防御(代码层)
四、内网渗透专项
10. 判断服务器环境
12. 后渗透技术栈
五、数据库与漏洞进阶
13. 反序列化漏洞
14. 数据库类型对比
1、自我介绍 2、工作经历 3、什么时候开始学习网络安全 4、印象深刻的渗透流程(每个HR都问) 5、struct2或典型漏洞原理分析 6、ThnkPHP5、*代码执行有无断点调试 7、XSS种类及其原理 8、CSRF防御 9、sql注入防御代码层面 10、判断服务器处于工作组还是域环境 11、真实渗透过程 12、后渗透了解吗 13、反序列化漏洞 14、非关系型数据库和关系型数据库有哪些
一、个人背景
1. 自我介绍
网络安全工程师,5年渗透测试与红队经验,擅长Web漏洞挖掘、内网渗透、域安全攻防。持有OSCP、CISSP认证,主导过20+次企业级渗透测试项目。2. 工作经历
时间段 公司 职责 2023-至今 某安全厂商 高级渗透工程师 2021-2023 金融科技 安全研究员 2019-2021 互联网公司 安全运维工程师 3. 学习网络安全起点
2017年大学期间接触CTF(Web方向),系统学习路径:
网络基础 → Web安全(OWASP Top 10) → 内网渗透 → 漏洞复现(CVE) → 红队工具链开发
二、渗透实战技术深度解析
4. 印象深刻的渗透流程
目标:某电商平台
流程:mermaid
graph TD A[信息收集] --> B[漏洞发现] B --> C[突破边界] C --> D[横向移动] D --> E[权限维持] D --> F[数据获取]
- 关键步骤:
- 通过子域名爆破发现测试系统(test.xxx.com )
- ThinkPHP5 RCE漏洞getshell(
/index.php?s=/index/\think\app/invokefunction
)- 利用MSSQL服务账号解密后获取域用户权限
- 基于Kerberoasting攻击拿下域控
5. 典型漏洞原理分析
Struts2漏洞(以S2-045为例)
java
// 漏洞触发点:Jakarta Multipart解析器 Content-Type: %{(#nike='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS)...
- 原理:OGNL表达式注入,恶意Content-Type头触发远程代码执行
- 防御:升级Struts2 + 过滤
#
、$
等特殊字符
6. ThinkPHP5代码执行调试
断点定位:
ph
// thinkphp/library/think/App.php public static function exec($dispatch, $config) { $data = self::module(...); // 路由解析入口 if ($data instanceof Response) return $data; return self::invokeMethod(...); // 触发漏洞方法(关键断点) }
- 调试工具:Xdebug + PhpStorm
- 利用链:路由解析 → 控制器动态调用 → 未过滤参数执行命令
三、Web安全核心技术
7. XSS种类及原理
类型 触发场景 案例 反射型 URL参数直接输出 http://xx.com?q=<script>alert(1)</script>
存储型 数据库内容渲染页面 留言板插入恶意脚本 DOM型 前端JS操作DOM未过滤 document.write(location.hash)
防御方案:
- 输入过滤:
HtmlEncode()
+JavaScriptEncode()
- CSP策略:
Content-Security-Policy: default-src 'self'
8. CSRF防御方案
php
// 服务端生成并验证Token session_start(); if ($_POST['csrf_token'] !== $_SESSION['csrf_token']) { die("Invalid Request"); }
增强措施:
- SameSite Cookie:
Set-Cookie: key=value; SameSite=Strict
- 验证Referer头
9. SQL注入防御(代码层)
PDO参数化查询示例:
php
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = :email"); $stmt->execute(['email' => $user_input]); // 自动转义特殊字符
纵深防御:
- 最小化数据库账号权限
- WAF规则过滤
union select
、sleep()
等关键词
四、内网渗透专项
10. 判断服务器环境
工作组环境:
cmd
net config workstation # 无"域"信息 ipconfig /all # DNS后缀为空白或非域后缀
域环境:
cmd
systeminfo | findstr /B /C:"域" # 显示域名 nltest /dsgetdc:域名 # 成功返回域控信息
12. 后渗透技术栈
核心环节:
- 权限维持:
- 隐藏计划任务:
schtasks /create /tn "Update" /tr "C:\shell.exe" /sc minute /mo 1
- 影子账户:
net user $admin$ Password123 /add /active:yes
- 横向移动:
- Pass-the-Hash:
mimikatz "sekurlsa::pth /user:admin /domain:test /ntlm:xxxx"
- WMI远程执行:
wmic /node:192.168.1.2 process call create "cmd.exe /c whoami"
五、数据库与漏洞进阶
13. 反序列化漏洞
PHP反序列化触发点:
php
class VulnClass { public $data = "id"; function __destruct() { system($this->data); // 危险函数在析构时触发 } } unserialize($_GET['d']); // 攻击者控制输入
防御:禁用
unserialize()
+ 使用json_decode()
14. 数据库类型对比
特性 关系型数据库(MySQL) 非关系型数据库(MongoDB) 数据结构 表结构(行列固定) 文档/键值对(灵活) 查询语言 SQL JSON格式查询 典型漏洞 SQL注入 NoSQL注入(如 $ne
绕过)适用场景 交易系统、财务数据 日志分析、IoT数据存储