2025年渗透测试面试题总结-2025年HW(护网面试) 40(题目+回答)

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

目录

 2025年HW(护网面试) 40

1. SQL注入读写文件/二次注入/防御

2. XSS类型及防御

3. CSRF与XSS区别

4. 文件上传绕过与防御

5. 服务器解析漏洞

6. XXE与SSRF

7. RCE与PHP函数区别

8. Python迭代器与装饰器

9. 缓冲区溢出原理/防御

10. 内网渗透经验

11. 多线程/进程通信

12. 渗透测试流程

13. 实际渗透案例

14. Windows系统漏洞

15. 渗透学习方法

16. 虚函数底层实现

17. 反射底层实现

18. 二叉树类型

19. Python/Java垃圾回收

20. SQL手工注入流程

21. Java控制反转实现

22. 进程通信方式

23. 消息队列原理

24. 访问百度协议流程

25. 常见Web漏洞

26. Burpsuite核心功能

27. 排序算法稳定性

28. HTTP代理实现

 2025年HW(护网面试) 40

1、SQL注入如何读写文件,二次注入,防御方式
2、XSS有哪几种,如何防御
3、CSRF和XSS区别,如何防御
4、文件上传的前后端的绕过,防御方式
5、IIS6、0,Apache,Nginx的文件解析漏洞讲一下
6、XXE和SSRF简单讲一下
7、RCE讲一下,PHP函数eval和system,popen的区别
8、Python的迭代器和装饰器讲一下
9、缓冲区溢出原理和防御
10、内网渗透经验有没有
11、多线程和进程讲一下,线程通信以及进程通信方式
12、渗透测试流程讲一下,信息收集都有哪些方面
13、有没有实际渗透经验,讲一下
14、有没有了解过系统漏洞,windows方面的,比如MS08-06715、你是如何学习渗透的,哪些方式
15、虚函数的底层实现
16、反射的底层实现
17、满二叉树和完全二叉树
18、Python和Java的垃圾回收讲一下
19、SQL手工注入流程
20、Java框架的控制反转怎么实现的
21、进程通讯有哪些
22、消息队列的原理
23、经典老问题访问百度,重点说一下涉及到的所有协议
24、常见的web漏洞有哪些
25、Burpsuite的功能有哪些
26、说一下所有的排序算法,哪些是不稳定的 
27、图的遍历方式有哪些,基于什么数据结构
28、如何实现一个HTTP代理,原理是什么

1. SQL注入读写文件/二次注入/防御

读写文件条件

  • MySQL:secure_file_priv为空,SELECT LOAD_FILE('/etc/passwd'),写入需into outfile路径可写
  • MSSQL:xp_cmdshell 'type c:\1.txt' ,需开启Ole Automation Procedures
  • 二次注入案例:注册用户名为admin'-- ,修改密码时触发恶意SQL拼接

防御方案

  1. 禁用LOAD_DATA_INFILE权限
  2. 文件操作接口单独做白名单过滤
  3. 用户输入统一使用mysql_real_escape_string处理

2. XSS类型及防御

markdown| 类型 | 触发场景 | 防御方案 | |--------------|-------------------------|------------------------------| | 存储型XSS | 评论区植入恶意脚本 | CSP设置`script-src 'self'` | | 反射型XSS | 钓鱼链接携带恶意参数 | 输入输出双重HTML实体化 | | DOM型XSS | 前端JS操作location.hash | 避免`innerHTML`,使用textContent |

3. CSRF与XSS区别

本质差异

  • CSRF利用用户身份执行非预期操作(如转账)
  • XSS直接窃取用户凭证或操控页面

防御对比

markdownCSRF防御: 1. SameSite Cookie Strict模式 2. 关键操作验证Captcha 3. 请求头校验Origin字段 XSS防御: 1. 设置HttpOnly Cookie 2. 富文本使用DOMPurify过滤 3. 启用X-XSS-Protection头 

4. 文件上传绕过与防御

前端绕过

  • 修改JS验证逻辑(如Burp拦截删除校验代码)
  • 伪造Content-Type为image/png

后端绕过

  • %00截断:shell.php%00.jpg
  • 特殊后缀:.php5, .phtml
  • 图片马注入:利用Exif元数据

防御方案

  1. 文件头魔数校验(如GIF89a)
  2. 重命名文件为UUID + 二次转码
  3. 存储到非Web根目录

5. 服务器解析漏洞

IIS6.0

  • 分号漏洞:test.asp;.jpg 按ASP解析
  • 目录特性:/test.asp/test.jpg 执行ASP

Apache

  • 多后缀解析:test.php.xxx 优先识别最后一个后缀
  • .htaccess覆盖:自定义解析规则

Nginx

  • 路径修复漏洞:/test.jpg/.php 触发PHP解析
  • CVE-2013-4547:非标准空字节绕过

6. XXE与SSRF

XXE攻击流程

xm]> &xxe; 

防御:禁用外部实体(libxml_disable_entity_loader(true)

SSRF利用链

  1. 攻击Redis:dict://127.0.0.1:6379/SLAVEOF
  2. 云元数据泄露:http://169.254.169.254/latest/meta-data

7. RCE与PHP函数区别

eval:执行字符串代码,无回显需配合echo system:直接执行系统命令并输出 popen:双向通信管道,适合持续交互

php// 典型利用场景: eval($_REQUEST['code']); // 任意代码执行 system("ping ".$_GET['ip']); // 命令注入 

8. Python迭代器与装饰器

迭代器协议

pythonclass MyIterator: def __next__(self): if not data: raise StopIteration return data.pop() # 生成器简化版 def my_gen(): yield from range(10)

装饰器原理

pythondef logger(func): def wrapper(*args): print(f"Calling {func.__name__}") return func(*args) return wrapper @logger def add(a, b): return a + b 

9. 缓冲区溢出原理/防御

栈溢出

  • 覆盖返回地址跳转至shellcode
  • 防护:GS编译选项(插入Canary值)

堆溢出

  • 篡改malloc内存块结构
  • 防护:ASLR随机化内存布局

10. 内网渗透经验

横向移动技术

  1. 票据传递攻击:Mimikatz提取Kerberos TGT
  2. WMI远程执行:wmic /node:192.168.1.2 process call create "cmd.exe"
  3. NTLM Relay:利用Responder捕获Hash

11. 多线程/进程通信

线程通信

  • 互斥锁(Lock)解决竞态条件
  • 队列(Queue)传递消息

进程通信

  • 管道(Pipe):multiprocessing.Pipe()
  • 共享内存:multiprocessing.Value('i', 0)
  • Socket跨机器通信

12. 渗透测试流程

信息收集阶段

  • 被动收集:Whois查询/历史快照(Wayback Machine)
  • 主动扫描:Nmap全端口扫描(-p- -sV)
  • 指纹识别:Wappalyzer识别CMS版本

漏洞利用

  • 使用Metasploit模块精准打击(如Apache Struts RCE)
  • 定制化EXP绕过WAF检测

13. 实际渗透案例

某OA系统测试

  1. 发现未授权访问:/fileDownload?fileName=../../WEB-INF/web.xml
  2. 反序列化漏洞:XStream库未过滤导致RCE
  3. 横向渗透:利用PsExec获取域控权限

14. Windows系统漏洞

MS08-067

  • NetAPI服务栈溢出,Metasploit模块:exploit/windows/smb/ms08_067_netapi
  • 影响系统:Windows XP/2003

最新漏洞

  • PrintNightmare(CVE-2021-34527):远程代码执行
  • Zerologon(CVE-2020-1472):域控权限提升

15. 渗透学习方法

实战提升

  • VulnHub靶机:如DC-9综合渗透
  • CTF比赛:XSS绕过CSP策略
  • 代码审计:研究ThinkPHP历史漏洞

16. 虚函数底层实现

虚表机制

  • 每个含虚函数的类拥有虚表(vtable)
  • 对象头部隐藏指针指向虚表
  • 调用时通过虚表偏移定位函数地址

17. 反射底层实现

Java反射原理

  • Class对象包含类元数据
  • Class.forName() 动态加载类
  • Method.invoke() 通过JNI调用本地方法

18. 二叉树类型

满二叉树:所有层全满,节点数=2^h -1
完全二叉树:最后一层从左向右连续填充

19. Python/Java垃圾回收

Python

  • 引用计数为主,解决循环引用用标记-清除
  • 分代回收提升效率(0/1/2代)

Java

  • G1收集器动态分区管理
  • CMS并发标记减少停顿时间

20. SQL手工注入流程

markdow1. 探测闭合方式:`'`引发报错说明存在注入 2. 确定字段数:`order by 4` 3. 联合查询:`union select null,@@version,null` 4. 提取表名:`from information_schema.tables where table_schema=database()` 5. 获取数据:`group_concat(username,0x3a,password)`

21. Java控制反转实现

Spring IoC容器

  • 通过BeanFactory管理对象生命周期
  • 依赖注入方式:构造器注入/@Autowired注解
  • XML配置元数据定义Bean关系

22. 进程通信方式

IPC方法

  • 信号量:协调共享资源访问
  • 消息队列:struct msgbuf结构体通信
  • 共享内存:shmget创建共享区域

23. 消息队列原理

RabbitMQ架构

  • Producer发布消息到Exchange
  • Binding规则路由到指定Queue
  • Consumer订阅队列消费消息

24. 访问百度协议流程

关键协议栈

  1. DNS:UDP 53端口解析域名
  2. HTTP:TCP 80端口传输数据
  3. ARP:将网关IP转MAC地址
  4. SSL/TLS:HTTPS加密通信

25. 常见Web漏洞

OWASP TOP 10

  1. 失效的访问控制(越权)
  2. 加密机制缺陷(弱算法)
  3. 注入类漏洞(SQL/NoSQL)
  4. 不安全设计(密码重置逻辑漏洞)

26. Burpsuite核心功能

渗透测试套件

  • Intruder:暴力破解(狙击手模式)
  • Repeater:手动修改重放请求
  • Collaborator:检测盲注/SSRF
  • Scanner:自动化漏洞扫描

27. 排序算法稳定性

不稳定算法

  • 快速排序(基准值交换导致)
  • 堆排序(树结构调整)
  • 选择排序(跨位置交换)

稳定算法

  • 冒泡排序(相邻交换)
  • 归并排序(分治不影响顺序)

28. HTTP代理实现

核心原理

python# 创建监听socket server = socket.socket() server.bind(('0.0.0.0', 8080)) while True: client, addr = server.accept() request = client.recv(4096) # 提取目标地址 host = parse_host(request) # 中继转发 remote = socket.create_connection(host) remote.sendall(request) response = remote.recv(4096) client.send(response) 

关键技术点

  • CONNECT方法处理HTTPS隧道
  • 缓存机制优化响应速度
  • 连接池复用降低延迟

你可能感兴趣的:(2025年渗透测试面试题总结-2025年HW(护网面试) 40(题目+回答))