网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
PingCAP安全工程师
一面 SQL注入如何判断数据库类型 sqlmap一把梭 version函数手注 一般采用撞函数的方法,xxx数据库的函数名是xxx,xxx数据库的函数名是xxxxxx, 特定函数执行正确的化即可判断数据库类型,version广义上说说撞库函数的一种 盲注类型 布尔盲注 时间盲注 SSRF漏洞原理 如何理解逻辑层面的漏洞 甲方企业渗透测试流程 主站扫描、CDN检测、口令探测、注入。。。 在授权范围内攻击上游厂商,尝试获取甲方站点源代码,现场审计0day 在授权范围内攻击下游客户、旁站等,先进入内网再突破DMZ。 黄金票据和白银票据
一、SQL注入判断数据库类型技术分析
1. 常规判断方法
- Version函数手注:通过执行
version()
或@@version
等函数直接回显版本信息:sql
MySQL:SELECT version() MSSQL:SELECT @@version Oracle:SELECT banner FROM v$version PostgreSQL:SELECT version()
- 函数碰撞法:测试数据库特有函数判断类型:
- MySQL:
sleep()
,database()
- MSSQL:
host_name()
,db_name()
- Oracle:
utl_http.request()
,dbms_pipe.receive_message()
- PostgreSQL:
pg_sleep()
,current_database()
2. 盲注场景下的判断
- 布尔盲注:通过条件语句判断函数有效性 sql
MySQL:IF(1=1,SLEEP(5),0) MSSQL:WAITFOR DELAY '0:0:5'
- 时间盲注:利用延时函数差异触发响应延迟sql
Oracle:SELECT CASE WHEN 1=1 THEN dbms_pipe.receive_message('a',5) ELSE NULL END FROM dual
3. 补充判断维度
- 错误信息特征:不同数据库的错误格式差异
- MySQL:
You have an error in your SQL syntax
- MSSQL:
Incorrect syntax near
- 系统表特征:sql
MySQL:information_schema.tables Oracle:all_tables
二、盲注类型深度解析
类型 原理 典型场景 检测工具 布尔盲注 根据页面状态变化判断条件真假 登录验证绕过、数据枚举 sqlmap -technique=B 时间盲注 通过响应延迟判断条件成立 WAF过滤后的场景 OWASP ZAP 报错盲注 强制触发数据库错误信息 需要显式错误回显的环境 Burp Intruder 三、SSRF漏洞原理与利用链
1. 核心攻击路径
攻击者请求 → 服务端处理 → 发起内部请求 → 访问敏感资源
2. 高危协议利用
- file协议:
file:///etc/passwd
- gopher协议:构造TCP流量攻击Redis/Memcached
- dict协议:探测端口指纹信息
3. 进阶利用场景
- 云服务元数据API访问:
169.254.169.254
- 内网应用漏洞串联(如攻击Jenkins管理接口)
- 服务端请求走私(请求头注入)
四、逻辑漏洞攻防体系
1. 常见漏洞类型
- 身份验证体系:
- 验证码可重复使用
- 密码重置流程参数可枚举
- 业务操作链:
- 订单金额篡改(负数、溢出)
- 并发请求竞争条件漏洞
2. 检测方法论
- 正向流程测试:跟踪每个业务环节的输入输出
- 逆向参数构造:尝试绕过步骤限制(如直接访问流程终结点)
- 状态机验证:检查业务流程状态切换是否合法
五、企业级渗透测试流程(红队视角)
1. 前期情报收集
- CDN绕过技术:
- 历史DNS记录查询(SecurityTrails)
- 域名备案信息关联
- 全球节点IP扫描(zmap masscan)
2. 攻击路径规划
主站突破 → 源码泄露 → 0day挖掘 → 内网漫游 ↑ ↓ 供应链攻击 ← 旁站渗透
3. 横向移动策略
- 云环境渗透:利用RAM密钥访问OSS/Kubernetes
- 域渗透技术:Kerberoasting攻击、DNS劫持
- 网络设备漏洞:VPN设备漏洞利用(如Pulse Secure CVE-2021-22893)
六、黄金票据 vs 白银票据攻防对比
维度 黄金票据 白银票据 生成条件 需要krbtgt账户的NTLM哈希 需要服务账户的NTLM哈希 权限范围 完全域控权限 仅限特定服务访问 检测难度 域控日志可追踪 服务端日志难以识别 防御措施 定期重置krbtgt密码(需两次重置) 启用服务账户的约束性委派 典型利用场景 域环境持久化控制 特定业务系统渗透(如Exchange) 七、防御体系建设建议
- SQL注入防护:
- 预编译语句+存储过程
- 数据库权限最小化原则
- SSRF治理:
- 协议白名单限制
- DNS重绑定防护
- 逻辑漏洞防御:
- 业务流程状态机验证
- 关键操作二次认证
- 票据攻击防护:
- 启用Windows Defender Credential Guard
- 实施LAPS(本地管理员密码解决方案)
二面 python是真正的多线程吗 ssrf漏洞原理 WAF相关,对于某些实体,比如本身就是一段sql代码,如何防止误报 有实体化,权限控制,纯代码直接实体化,使其没有执行权限 如何保障数据安全 零信任模型 最小权限原则 基于身份的访问控制
八、Python多线程机制深度解析
1. GIL(全局解释器锁)的本质影响
- 技术限制:CPython解释器的GIL导致同一进程内多个线程无法真正并行执行CPU密集型任务(如数学计算),但I/O密集型任务(网络请求、文件读写)仍可通过多线程提升效率。
- 解决方案:
- 多进程模式(
multiprocessing
模块)实现多核并行;- 异步编程(
asyncio
)优化I/O调度;- 使用Jython或IronPython等无GIL的解释器。
2. 多线程适用场景与性能对比
- CPU密集型:多线程性能≈单线程(受GIL限制);
- I/O密集型:多线程可大幅减少等待时间(如爬虫、API调用);
- 实际案例:python
# CPU密集型任务对比 import threading def compute(): sum([i**2 for i in range(10**6)]) # 多线程执行时间 ≈ 单线程(无加速效果)
九、SSRF漏洞原理与高级利用
1. 核心攻击链与协议利用
- 漏洞触发点:服务端未校验用户输入的URL参数,直接发起内部请求(如
requests.get(user_input)
)。- 高危协议与利用场景:
协议 攻击示例 危害场景 file://
file:///etc/passwd
本地文件读取 gopher://
构造Redis未授权访问命令 内网数据库入侵 dict://
dict://attacker:port/info
服务指纹识别与端口扫描 2. 绕过防御的进阶技巧
- IP格式绕过:
- 十进制IP编码(如
2130706433
→127.0.0.1
);- 短域名重定向(
http://xip.io/127.0.0.1.xip.io
);- 云环境利用:访问元数据接口(如AWS的
169.254.169.254
)。
十、WAF防误报技术方案
1. 动态内容识别与规则优化
- 输入规范化:
- 对用户输入中的SQL保留字(如
UNION
,SELECT
)进行实体化转义(UNION → &x55;NION
);- 使用语法树解析技术区分恶意代码与正常文本。
- 沙箱隔离:
- 将疑似代码的输入放入无权限容器执行(如Docker沙箱);
- 动态监测执行行为(如系统调用、文件读写)。
2. 规则库调优策略
- 语义分析:通过AST(抽象语法树)判断代码意图,避免基于正则的误判;
- 白名单机制:对已知业务场景的合法SQL语句(如报表查询模板)设置豁免规则。
十一、数据安全防护体系构建
1. 零信任模型的落地实践
- 持续验证机制:
- 设备指纹(IP、MAC、设备类型)动态绑定;
- 每次敏感操作前强制二次认证(如OTP动态令牌)。
- 微隔离技术:按业务单元划分网络域,禁止跨域通信(如数据库集群独立VPC)。
2. 权限管控的黄金法则
- 最小权限原则:
- 数据库账户按CRUD细分权限(如只读账户禁用
DROP
);- 基于RBAC(角色访问控制)的K8s Pod权限分配。
- 动态访问控制:
- 时间/地点策略(仅允许办公IP在工作时间访问财务系统);
- 敏感操作实时审计(如数据库
DELETE
操作日志告警)。3. 加密与数据生命周期管理
- 端到端加密:应用层(如AES-GCM)与传输层(TLS 1.3)双重加密;
- 数据脱敏:生产环境使用掩码(如
138****1234
)或令牌化替换(信用卡号→Token)。
扩展补充:防御体系联动设计
- WAF与数据安全联动:
- WAF识别SSRF攻击后,自动触发零信任策略(限制源IP访问权限);
- 自动化攻防演练:
- 使用Metasploit模拟SSRF攻击,验证防御规则有效性;
- AI辅助决策:
- 机器学习模型分析日志,预测异常行为(如非工作时间的大量元数据访问)。