2025年渗透测试面试题总结-15(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
一百〇一、Windows 提权
一百〇二、Windows 常用的提权方法
一百〇三、Linux 提权有哪些方法
一百〇四、数据库有哪些,关系型的和非关系型的分别是哪些
一、关系型数据库(RDBMS)
二、非关系型数据库(NoSQL)
三、适用场景对比:
一百〇五、PHP 反序列化
常见攻击方式:
修复建议:
一百〇六、为何一个 MYSQL 数据库的站,只有一个 80 端口开放?
一百〇七、一个成熟并且相对安全的 CMS,渗透时扫描目录的意义?
一百〇八、在某后台新闻编辑界面看到编辑器,应该先做什么?
一百〇九、审查上传点的元素有什么意义?
一百一十、CSRF、XSS 及 XXE 有什么区别,以及修复方式?
一百〇一、Windows 提权一百〇二、Windows 常用的提权方法一百〇三、Linux 提权有哪些方法一百〇四、数据库有哪些,关系型的和非关系型的分别是哪些一百〇五、PHP 反序列化一百〇六、为何一个 MYSQL 数据库的站,只有一个 80 端口开放?一百〇七、一个成熟并且相对安全的 CMS,渗透时扫描目录的意义?一百〇八、在某后台新闻编辑界面看到编辑器,应该先做什么?一百〇九、审查上传点的元素有什么意义?一百一十、CSRF、XSS 及 XXE 有什么区别,以及修复方式?
一百〇一、Windows 提权
**提权(Privilege Escalation)**是指攻击者通过某种方式从低权限账户(如普通用户)获取更高权限(如管理员或系统权限)。在Windows系统中,提权主要分为两类:
- 本地提权(Local Privilege Escalation):攻击者已经获得系统的低权限访问权限,通过利用系统漏洞或配置错误提升到管理员权限。
- 横向提权(Lateral Privilege Escalation):攻击者通过攻击网络中其他高权限账户或服务,获取更高权限。
提权常见手段包括:
- 利用内核漏洞(如MS16-032、MS17-010等)
- 利用注册表配置错误
- 通过服务权限提升
- 使用第三方工具(如Mimikatz、PowerSploit等)
一百〇二、Windows 常用的提权方法
Windows提权方法繁多,以下为几种常见且有效的提权方式:
- 服务权限提权
- 查找具有弱权限的服务,攻击者可修改其二进制文件路径并启动服务,以SYSTEM权限运行恶意代码。
- Unquoted Service Path 漏洞
- 服务路径未加引号,攻击者可植入恶意可执行文件,利用路径解析顺序执行提权。
- 计划任务提权(Scheduled Tasks)
- 若任务以高权限运行且可被低权限用户修改,可借此执行恶意代码。
- 注册表提权(如AlwaysInstallElevated)
- 如果系统设置允许任何用户以管理员权限安装MSI包,则可利用msiexec提权。
- DLL注入或劫持
- 利用应用程序加载DLL的机制,注入恶意代码实现提权。
一百〇三、Linux 提权有哪些方法
Linux提权主要分为本地提权与内核提权,以下为常见方式:
- 利用SUID提权
- 某些程序(如
/bin/ping
)具有SUID权限,攻击者可通过漏洞利用获得root权限。- sudo权限滥用
- 若用户被允许以sudo执行某些命令而无需密码,可尝试滥用这些命令提权。
- 环境变量劫持(如LD_PRELOAD)
- 修改动态链接库路径,注入恶意代码。
- 内核漏洞利用(如Dirty COW、CVE-2019-13272)
- 利用Linux内核中的漏洞进行提权。
- 服务配置错误(如Redis、Cron Job)
- 某些服务以root权限运行,配置不当可能被利用。
一百〇四、数据库有哪些,关系型的和非关系型的分别是哪些
一、关系型数据库(RDBMS)
关系型数据库基于关系模型,以表格形式组织数据,支持ACID事务和SQL语言。
常见关系型数据库:
- MySQL
- PostgreSQL
- Oracle Database
- Microsoft SQL Server
- SQLite
二、非关系型数据库(NoSQL)
非关系型数据库适用于高并发、大数据场景,通常不支持SQL,根据数据结构可分为四类:
- 文档型数据库:如MongoDB、Couchbase
- 键值型数据库:如Redis、Riak
- 列式数据库:如Cassandra、HBase
- 图数据库:如Neo4j、ArangoDB
三、适用场景对比:
- 关系型适合结构化数据、事务处理
- NoSQL适合非结构化、分布式、高并发场景
一百〇五、PHP 反序列化
PHP反序列化(Unserialize)是将序列化字符串还原为对象或数组的过程。如果反序列化的内容可控,攻击者可通过构造恶意输入触发反序列化漏洞。
常见攻击方式:
- 利用
__destruct()
、__wakeup()
等魔术方法执行恶意代码- 利用POP链(Property-Oriented Programming)构造攻击链
修复建议:
- 避免反序列化用户输入
- 使用安全的反序列化库或框架
- 限制反序列化类的白名单
一百〇六、为何一个 MYSQL 数据库的站,只有一个 80 端口开放?
这通常是由于Web服务器与数据库部署在同一台主机上,但数据库服务(默认3306)并未对外暴露。常见原因如下:
- 数据库绑定本地(127.0.0.1)
bind-address=127.0.0.1
配置限制了数据库只接受本地连接。- 防火墙限制
- 系统防火墙或云平台安全组未开放3306端口。
- Web应用通过本地调用数据库
- Web应用通过本机访问MySQL,无需暴露数据库端口给外部。
- 安全性考虑
- 避免数据库直接对外暴露,防止暴力破解或漏洞利用。
一百〇七、一个成熟并且相对安全的 CMS,渗透时扫描目录的意义?
尽管CMS本身安全性较高,但扫描目录仍有其重要意义:
- 发现未授权的入口点
- 如泄露的安装目录、备份文件、调试页面等。
- 识别插件或组件路径
- 某些插件可能存在已知漏洞,可针对性攻击。
- 辅助信息收集
- 获取系统结构、版本信息、配置路径等情报。
- 寻找上传或缓存路径
- 用于上传WebShell或持久化攻击。
一百〇八、在某后台新闻编辑界面看到编辑器,应该先做什么?
在编辑界面看到编辑器(如FCKeditor、KindEditor、UEditor等),应优先考虑上传点或命令注入漏洞,操作步骤如下:
- 尝试上传WebShell
- 利用编辑器的上传功能上传一句话木马或图片马。
- 探测编辑器漏洞
- 检查是否支持远程图片加载、是否过滤不严。
- 尝试XSS或CSRF测试
- 在内容中插入脚本,测试是否能触发XSS,或尝试CSRF操作。
- 查看源码或元素结构
- 分析编辑器使用的脚本路径、上传参数,寻找可利用点。
一百〇九、审查上传点的元素有什么意义?
审查上传点元素是Web渗透测试中的关键步骤,其意义如下:
- 识别上传机制与限制
- 如是否限制文件类型、大小、是否重命名等。
- 发现前端绕过点
- 如前端JavaScript过滤文件类型,但后端未校验,可使用Burp修改后上传。
- 寻找文件上传路径或参数
- 有助于构造上传请求,绕过上传验证。
- 识别上传后的访问路径
- 可尝试访问上传后的文件,执行WebShell或下载敏感数据。
一百一十、CSRF、XSS 及 XXE 有什么区别,以及修复方式?
漏洞类型 全称 原理 攻击目标 修复建议 CSRF 跨站请求伪造 诱导用户在已登录状态下执行非预期请求 强制用户执行操作(如转账、修改密码) 添加CSRF Token、SameSite Cookie属性、验证Referer XSS 跨站脚本攻击 在网页中注入恶意脚本,窃取Cookie或会话 窃取用户敏感信息、会话劫持 输入过滤、输出转义、CSP头设置、HttpOnly Cookie XXE XML外部实体注入 利用XML解析器读取本地文件或发起SSRF攻击 读取服务器文件、发起内网探测 禁用外部实体解析、使用安全解析库、过滤特殊字符