2025年渗透测试面试题总结-长某亭科技-安全服务工程师(一面)(题目+回答)

发布于:2025-03-09 ⋅ 阅读:(21) ⋅ 点赞:(0)

 网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

目录

长某亭科技-安全服务工程师(一面) 

1. SQL注入原理与代码层面成因

原理

代码层面成因

漏洞触发场景

2. XSS漏洞原理(代码层面)

原理

代码层面成因

漏洞触发场景

3. OWASP Top 10 漏洞(2023版)

4. SQL注入防御方案

5. SQL注入绕过防护

6. 护网行动工作内容

7. 学校攻防演练经验

角色与任务

演练形式

8. CTF成绩与技能

9. 新颖漏洞关注与代码审计

10. 钓鱼邮件与发信人伪造

钓鱼邮件原理

防御与检测

示例绕过手法

总结


 

长某亭科技-安全服务工程师(一面) 

sql注入原理

有没有从代码层面了解过sql注入的成因(反向代码成面指的是不是sql注入语句,答是)

代码层面解释xss漏洞原理

owasp top10漏洞

防御sql注入

sql注入绕过防护

在xx护网时的工作内容,有没有做过流量包,数据包的研判

在学校攻防演练时担任的角色,主要工作内容,渗透测试的思路,有什么成果(这个问的挺细的,具体分配的任务,有没有拿下主机或者域控、攻防演练的形式和持续时间等都聊了)

CTF成绩

平时会不会关注一些新颖的漏洞,会不会做代码审计,比如shiro漏洞等有没有做过漏洞的复现

对钓鱼邮件这些有没有什么了解(因为上面聊xx护网时说了钓鱼邮件和微信钓鱼的事)

邮件安全之发信人邮箱伪造

1. SQL注入原理与代码层面成因

原理

攻击者通过构造恶意输入,篡改SQL查询逻辑,绕过认证或窃取数据。

代码层面成因
  • 动态拼接SQL:未对用户输入过滤或转义,直接拼接到查询语句中。php
    // PHP示例:直接拼接$_GET参数导致注入 $id = $_GET['id']; $sql = "SELECT * FROM users WHERE id = $id";
  • 参数化查询缺失:未使用预处理语句(Prepared Statements),导致用户输入被解析为SQL语法。
漏洞触发场景
  • 用户输入id=1 OR 1=1 → 查询变为WHERE id=1 OR 1=1,返回所有数据。

2. XSS漏洞原理(代码层面)

原理

攻击者注入恶意脚本到页面中,其他用户访问时触发脚本执行。

代码层面成因
  • 未转义输出:用户输入直接输出到HTML,未使用转义函数。php
    // PHP示例:输出未转义的$_GET参数 $name = $_GET['name']; echo "<div>Hello, $name</div>"; 
  • DOM操作风险:前端JavaScript直接操作DOM时未过滤输入。javascript
    // JS示例:通过URL参数动态修改页面内容 document.getElementById("content").innerHTML = location.hash.slice(1);
漏洞触发场景
  • 输入name=<script>alert(1)</script> → 页面执行恶意脚本。

3. OWASP Top 10 漏洞(2023版)

漏洞类型 核心风险
注入漏洞 SQL、NoSQL、OS命令注入
失效的身份认证 弱密码、会话固定、密钥泄露
敏感数据暴露 未加密的传输或存储数据
XML外部实体(XXE) 解析恶意XML文件导致文件读取/SSRF
失效的访问控制 未授权访问(如越权查看他人数据)
安全配置错误 默认配置、错误权限、暴露调试接口
跨站脚本(XSS) 存储型、反射型、DOM型XSS
不安全的反序列化 反序列化漏洞导致RCE或数据篡改
使用已知漏洞的组件 依赖库或框架存在未修复的CVE
日志与监控不足 无法及时检测攻击行为,延长攻击影响

4. SQL注入防御方案

  1. 参数化查询(预处理语句)php
    // PHP PDO示例 $stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$id]); 
  2. 输入验证与过滤
    • 白名单校验(如仅允许数字):if (!is_numeric($id)) { die("Invalid input"); }
  3. 最小权限原则
    • 数据库用户仅授予必要权限(如禁用DROP TABLE)。
  4. ORM框架
    • 使用Eloquent、Hibernate等ORM工具自动处理参数化。

5. SQL注入绕过防护

绕过技术 示例
注释符 id=1'-- (注释后续语句)
大小写混淆 UnIoN SeLeCt → 绕过关键词检测
编码绕过 %55NION(Hex编码U) → 解码为UNION
多语句分隔 id=1; DROP TABLE users (需支持堆查询)
盲注利用 通过时间延迟或布尔条件逐字符提取数据

6. 护网行动工作内容

  1. 流量包研判
    • 分析工具:Wireshark、Zeek、Suricata。
    • 研判重点
      • 检测SQL注入特征(如UNION SELECT)。
      • 识别异常协议(如内网Redis未授权访问)。
  2. 数据包分析
    • HTTP请求:检查POST参数是否包含恶意Payload。
    • DNS隐蔽通道:分析非常规域名解析(如长域名、高频请求)。

7. 学校攻防演练经验

角色与任务
  • 角色:渗透测试员(红队)。
  • 任务分配
    1. 信息收集:扫描目标IP段,识别Web服务(Nmap、Goby)。
    2. 漏洞利用:通过Struts2 RCE漏洞拿下Web服务器权限。
    3. 横向移动:利用Pass the Hash攻击获取域控权限。
  • 成果
    • 成功渗透3台主机(含1台域控)。
    • 发现并报告12个高危漏洞。
演练形式
  • 持续时间:48小时(模拟真实攻防)。
  • 规则:禁止DoS攻击,仅允许漏洞利用。

8. CTF成绩与技能

  • 参赛经历
    • 2023年强网杯(Web方向Top 20%)。
    • 2024年XCTF(逆向工程专项赛二等奖)。
  • 技能亮点
    • 熟练使用SQLMap、Burp Suite、IDA Pro。
    • 擅长堆溢出、反序列化漏洞利用。

9. 新颖漏洞关注与代码审计

  • 漏洞复现
    • Apache Shiro反序列化(CVE-2022-32532):构造恶意Cookie触发RCE。
    • Log4j2 JNDI注入(CVE-2021-44228):利用${jndi:ldap://}触发远程代码加载。
  • 代码审计实践
    • 审计某开源CMS,发现未过滤的eval($_GET['code'])导致RCE,提交CVE。

10. 钓鱼邮件与发信人伪造

钓鱼邮件原理
  • 伪造发件人:通过修改SMTP头字段(如From: admin@company.com )伪装可信来源。
  • 社会工程:诱导点击恶意链接(如伪装成密码重置邮件)。
防御与检测
  1. SPF/DKIM/DMARC
    • SPF:验证发件IP是否在授权列表中。
    • DKIM:校验邮件内容签名是否合法。
  2. 邮件头分析
    • 检查Return-PathFrom是否一致。
    • 使用工具(如MXToolbox)检测SPF记录有效性。
示例绕过手法
  • 相似域名adrnin@company.com (拼写错误)。
  • Unicode字符admin@сompany.com (西里尔字母с)。

总结

  • 技术核心:理解漏洞原理需结合代码实现,防御需多层级控制(输入校验、预处理、最小权限)。
  • 实战经验:护网与攻防演练需快速定位攻击特征,CTF能力体现漏洞利用深度。
  • 前沿关注:持续跟踪CVE和新型攻击手法(如Shiro、Log4j2),代码审计是进阶能力的关键。