当前位置: 首页 > news >正文

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

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

目录

一、文件上传绕过方式(Top 5)

二、文件包含高危函数(PHP为例)

三、金融行业逻辑漏洞(关键3类)

四、MySQL提权方式(2种核心)

五、Java Web框架(主流5种)

六、PHP命令执行函数(高危7个)

七、Linux日志清除关键点

八、域环境Windows加固方案

九、AES/DES工作步骤对比

十、RSA算法流程

一百六十一、常见的上传绕过方式一百六十二、导致文件包含的函数一百六十三、金融行业常见逻辑漏洞一百六十四、mysql 两种提权方式一百六十五、常用 WEB 开发 JAVA 框架一百六十六、php 中命令执行涉及到的函数一百六十七、入侵 Linux 服务器后需要清除哪些日志?一百六十八、如何加固一个域环境下的 Windows 桌面工作环境?请给出你的思路。一百六十九、AES/DES 的具体工作步骤一百七十、RSA 算法

一、文件上传绕过方式(Top 5)

  1. 扩展名欺骗
    • 双扩展名(.php.jpg )、空字节截断(shell.php%00.jpg )、大小写变异(.PhP
    • 防御对策:白名单校验 + 内容类型检测(magic number
  2. 内容类型篡改
    • 修改HTTP头 Content-Type: image/jpeg(实际为恶意脚本)
    • 防御对策:服务端MIME检测 + 文件头校验
  3. 解析漏洞利用
    • Apache解析漏洞(test.php.xxx 解析为PHP)、IIS目录路径解析(/upload/shell.jpg/xxx.php
    • 防御对策:更新中间件 + 禁用非常规解析规则
  4. 文件内容注入
    • 图片马(将脚本注入图片EXIF)、SVG的XXE攻击
    • 防御对策:文件内容扫描 + 禁用危险标签(如SVG中的<script>
  5. 竞争条件攻击
    • 在临时文件被删除前执行(常见于异步检测场景)
    • 防御对策:同步处理 + 文件锁定机制

二、文件包含高危函数(PHP为例)

markdown1. **基础包含函数** - `include()` / `include_once()`:包含失败仅警告 - `require()` / `require_once()`:包含失败致命错误 2. **封装器利用** - `php://input`(执行POST数据)、`data://`(Base64代码注入) - `zip://`(压缩包内文件包含) 3. **过滤绕过技巧** - 路径遍历:`....//` 归一化为 `../` - 空字节截断(PHP<5.3):`/etc/passwd%00`

三、金融行业逻辑漏洞(关键3类)

漏洞类型典型案例防御方案
支付逻辑缺陷金额篡改(前端验证绕过)服务端签名校验 + 金额锁
薅羊毛漏洞无限优惠券(未校验唯一性)分布式事务锁 + 库存原子性
账户安全缺陷短信轰炸(无频率限制)滑动窗口限流 + 行为分析

四、MySQL提权方式(2种核心)

  1. UDF提权(User-Defined Function)
    mermaidgraph LR A[上传恶意so/dll] --> B[创建函数 sys_exec()] B --> C[调用函数执行系统命令]
    • 条件:secure_file_priv为空 + FILE权限
  2. 启动项提权(Windows)
    • 写入VBS脚本到启动目录:
      sqlSELECT '恶意代码' INTO OUTFILE 'C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\shell.vbs' 
    • 重启后获得SYSTEM权限

五、Java Web框架(主流5种)

  1. Spring Boot
    • 优势:自动配置 + Actuator监控
    • 安全风险:未授权访问/actuator/env
  2. Apache Struts2
    • 历史漏洞:OGNL表达式注入(S2-045等)
    • 防御:禁用动态方法调用(struts.enable.DynamicMethodInvocation=false
  3. Jakarta EE
    • 核心组件:JSF + CDI + JPA
    • 安全配置:web.xml 中禁用目录遍历
  4. Play Framework
    • 异步架构 + RESTful原生支持
    • 风险:CSRF保护需手动启用
  5. Micronaut
    • 编译时依赖注入(零反射)
    • 适用于Serverless安全场景

六、PHP命令执行函数(高危7个)

markdown1. **直接执行类** `system()`, `exec()`, `passthru()`, `shell_exec()` 2. **代码注入类** `eval()`(非命令但同等危险)、`assert()` 3. **反引号执行** `` `ls -al` `` (等价于shell_exec) 4. **特殊场景利用** `popen()` / `proc_open()`(管道交互)

七、Linux日志清除关键点

markdown1. **主要日志路径** - `/var/log/auth.log` (登录记录) - `/var/log/syslog`(系统事件) - `/var/log/apache2/access.log` (Web访问) 2. **清除技巧** - 清空文件:`echo "" > auth.log` - 删除自身记录:`sed -i '/192.168.1.100/d' access.log` - 内存日志清除:`echo > /dev/kmsg`(需root) 3. **高级隐匿** - 禁用systemd-journald:`systemctl stop systemd-journald` - 删除二进制日志:`journalctl --vacuum-size=0`

八、域环境Windows加固方案

mermaidgraph TB A[账户安全] --> A1[启用LAPS(本地管理员密码轮转)] A --> A2[限制域管理员登录工作站] B[组策略] --> B1[软件限制策略(白名单)] B --> B2[禁用NTLMv1 + 强制SMB签名] C[系统防护] --> C1[启用BitLocker磁盘加密] C --> C2[配置Defender ASR规则] D[网络隔离] --> D1[防火墙阻断135-139/445端口] D --> D2[工作站间禁止SMB通信]

九、AES/DES工作步骤对比

步骤AES(AES-256为例)DES(已淘汰)
1. 分块128-bit数据块64-bit数据块
2. 密钥扩展256-bit密钥→15轮子密钥(Key Schedule)56-bit密钥→16轮48-bit子密钥
3. 初始轮AddRoundKey(密钥加)初始置换(IP)
4. 核心轮重复10-14轮:
- SubBytes(S盒)
- ShiftRows(行移位)
- MixColumns(列混淆)
- AddRoundKey
重复16轮:
- 扩展置换(32→48bit)
- S盒替换(48→32bit)
- P盒置换
5. 最终轮省略MixColumns逆初始置换(IP⁻¹)

十、RSA算法流程

markdown1. **密钥生成** - 选大素数 `p=61`, `q=53` - 计算模数 `n=p*q=3233` - 计算欧拉函数 `φ(n)=(p-1)(q-1)=3120` - 选公钥 `e=17`(需满足 `1<e<φ(n)` 且互质) - 计算私钥 `d`:`d ≡ e⁻¹ mod φ(n)` → `d=2753` 2. **加密过程** 明文 `M=65` → 密文 `C ≡ Mᵉ mod n = 65¹⁷ mod 3233 = 2790` 3. **解密过程** 密文 `C=2790` → 明文 `M ≡ Cᵈ mod n = 2790²⁷⁵³ mod 3233 = 65` 4. **2025安全实践** - 密钥长度 ≥ 3072-bit - 必须使用OAEP填充模式 - 弃用PKCS#1 v1.5
http://www.lryc.cn/news/625912.html

相关文章:

  • 堆、方法区、虚拟机栈、本地方法栈、程序计数器
  • RabbitMQ:SpringAMQP 多消费者绑定同一队列
  • Java配置文件
  • 第1章 React组件开发基础
  • 第10章 React应用测试
  • 我的SSM框架自学2
  • IDEA测试代码报java file outset source root异常
  • STM32-FreeRTOS快速入门指南(中)
  • 【软件安装】VScode介绍安装步骤及中文界面设置方法
  • 从数据孤岛到实时互联:Canal 驱动的系统间数据同步实战指南
  • Java 11中的Collections类详解
  • 正式签约 | OpenLoong 项目正式捐赠至开放原子开源基金会,成为全国首个具身智能方向孵化项目!
  • Vulkan笔记(十三)-帧缓冲区与命令池命令缓冲区
  • 使用 SemanticKernel 连接本地大模型 Ollama
  • 11.Ansible自动化之-内容集管理
  • 快手Klear-Reasoner登顶8B模型榜首,GPPO算法双效强化稳定性与探索能力!
  • 图像增强——灰度变换增强(线性,对数,指数)、空间滤波增强、频域增强、主成分/彩色合成增强(原理解释和代码示例)
  • FPGA 在情绪识别领域的护理应用(一)
  • Spring Boot应用实现图片资源服务
  • 电商数据分析可视化预测系统
  • gitlab、jenkins等应用集成ldap
  • Wireshark获取数据传输的码元速率
  • 【iOS】内存管理
  • implement libtime on Windows
  • 软件系统运维常见问题
  • STM32之beep、多文件、延迟、按键以及呼吸灯
  • 【数据结构】用堆解决TOPK问题
  • 服务器数据恢复—硬盘坏道离线导致raid崩溃的StorNext文件系统数据恢复案例
  • 深度学习-167-MCP技术之工具函数的设计及注册到MCP服务器的两种方式
  • 应用控制技术、内容审计技术、AAA服务器技术