史上最全网络安全面试题总结
字数 5068 2025-08-15 21:33:48
网络安全面试题全面解析与教学文档
一、Web安全基础
1.1 PHP安全相关问题
PHP爆绝对路径方法:
- 单引号引起数据库报错
- 访问错误参数或错误路径
- 探针类文件如phpinfo
- 扫描开发未删除的测试文件
- Google hacking
- phpmyadmin报路径:/phpmyadmin/libraries/lect_lang.lib.php
- 利用漏洞读取配置文件
- 恶意使用网站功能(如本地图片读取功能读取不存在图片)
GPC防护与绕过:
- GPC:php.ini中的magic_quotes_gpc,为get/post/cookie传入的特殊字符添加反斜线
- 绕过方法:
- PHP5的GPC对$_SERVER的忽略,可在HTTP请求头注入
- 二次注入
- 宽字节注入
1.2 XSS攻击与防护
XSS类型:
- 存储型:恶意脚本存储在服务器端
- 反射型:恶意脚本通过URL参数传递
- DOM型:完全在客户端执行
XSS利用方式:
- 获取cookies
- 获取管理员IP
- XSS蠕虫
- 钓鱼攻击
- 前端JS挖矿
- 键盘记录
- 屏幕截图
防护措施:
- 前端:
- 用户输入特殊字符过滤转义为HTML实体
- 用户输出编码
- 后端:
- 实体化编码
- 函数过滤
- 限制字符长度
1.3 文件上传漏洞
绕过方法:
- WAF绕过:
- 修改上传表单字段
- 表单字段大小写替换
- 增加/减少空格
- 字符串拼接
- 构造双文件上传表单
- 编码绕过
- 垃圾数据填充
- 文件名大小写绕过
- 服务器检测绕过:
- MIME类型绕过
- 前端JS检测抓包改包
- 黑名单绕过(php3, asa, ashx等)
- 图片内容检测使用图片马
- .htaccess绕过
- 白名单检测绕过(截断上传)
- 利用解析漏洞(IIS6/7/7.5, nginx低版本)
1.4 文件包含漏洞
原理:
- 调用文件包含函数时未严格限制文件名和路径(如include(), require()等)
利用方式:
- 本地文件包含
- 远程文件包含
- 配合文件上传getshell
二、网络协议与攻击
2.1 TCP/IP相关
TCP三次握手:
- 客户端发送SYN包(syn=j)到服务器,进入SYN_SEND状态
- 服务器收到SYN包,发送SYN+ACK包(syn=k, ack=j+1),进入SYN_RECV状态
- 客户端发送ACK包(ack=k+1),双方进入ESTABLISHED状态
七层模型:
- 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
2.2 常见网络攻击
中间人攻击:
- 原理:在局域网中拦截正常网络通信数据,进行篡改和嗅探
- 防御:
- 主机绑定网关MAC与IP地址为静态
- 网关绑定主机MAC与IP地址
- 使用ARP防火墙
DDOS攻击:
- 类型:
- SYN Flood
- UDP Flood
- ICMP Flood
- Connection Flood
- HTTP Get
- UDP DNS Query Flood
- CC攻击:
- 模拟多个正常用户不停访问需要大量数据操作的页面
- 造成服务器资源浪费,CPU长时间100%
- 区别:
- CC攻击网页,DDOS攻击服务器
- CC门槛较低,DDOS需要大量服务器
- CC持续时间长,DDOS影响大
LAND攻击:
- 局域网拒绝服务攻击,DDOS的一种
- 发送精心构造的、具有相同源地址和目标地址的欺骗数据包
- 可使缺乏防护机制的目标设备瘫痪
三、渗透测试技术
3.1 信息收集
基本方法:
- 服务器信息:IP、中间件、操作系统
- 域名whois、IP whois、网段归属
- 子域名探测
- 网站目录扫描、接口信息扫描
- 端口扫描
- 各大引擎搜索相关信息
CDN绕过获取真实IP:
- 全球ping查询
- 历史解析记录
- 探针文件如phpinfo
- 利用命令执行连接外部服务器或DNSlog
- 寻找网站配置
- 通过二级域名全网扫描,title匹配
3.2 渗透测试工具
常用工具:
- Burp Suite
- Nmap
- SQLMap
- AWVS
- 蚁剑
- 冰蝎
- Dirsearch
- 御剑
3.3 业务逻辑漏洞
常见类型:
- 任意用户密码重置
- 短信轰炸
- 订单金额修改
- 忘记密码绕过
- 恶意刷票
- 验证码复用
用户任意密码重置例子:
- 普通用户重置管理用户密码
- 普通用户重置普通用户密码
- 未设置用户唯一Token导致的越权
3.4 越权访问
类型与区别:
- 水平越权:普通用户越权访问普通用户
- 垂直越权:普通用户越权访问管理用户
- 未授权访问:权限控制不严,无需登录即可访问已登录用户页面
四、内网安全
4.1 内网信息收集
方法:
- 使用脚本收集端口信息、服务信息
- 系统命令收集(域内用户可使用域命令)
- 端口扫描工具全段扫描
- 本机信息收集:
- 管理密码
- 登录日志查看管理员IP
- 服务密码收集
- 网段信息查看
- 历史记录查看
4.2 内网横向移动
边界机器利用:
- 使用代理进入内网(reGeorg, ew等)
- 本机信息收集
- 扩展到收集到的网段进行渗透
- 利用常用服务:SMB、MySQL、SQL Server、FTP、Telnet等
- 使用轻量化脚本或扫描器扫描(需谨慎)
4.3 内网票据攻击
黄金票据与白银票据:
| 特性 | 黄金票据 | 白银票据 |
|---|---|---|
| 权限 | 伪造TGT,获取任意Kerberos访问权限 | 伪造ST,只能访问指定服务 |
| 认证流程 | 与KDC交互,不与AS交互 | 不与KDC交互,直接访问Server |
| 加密方式 | 由krbtgt NTLM Hash加密 | 由服务账号NTLM Hash加密 |
| 利用条件 | 需要域控管理员权限提取KRBTGT Hash | 需要服务账号NTLM Hash |
黄金票据生成:
mimikatz log "lsadump::dcsync /domain:test.local /user:krbtgt"
kerberos::golden /admin:Administrator /domain:CTU.DOMAIN /sid:S-1-1-12-123456789-1234567890-123456789 /krbtgt:deadbeefboobbabe003133700009999 /ticket:Administrator.kiribi
白银票据生成:
kerberos::golden /domain:cyberpeace.com /sid:S-1-5-21-2718660907-658632824-2072795563 /target:scene.abcd.com /service:cifs /rc4:9a68826fdc2811f20d1f73a471ad7b9a /user:test /ptt
五、系统安全
5.1 Windows提权
方法:
- 数据库提权:MySQL、SQL Server
- 第三方软件提权:Serv-U
- DLL劫持
- 系统内核溢出漏洞提权(CVE系列)
- 常见后门方式:
- 注册表自启动
- Shift后门
- 远控软件
- WebShell添加管理用户
- 影子用户
- 定时任务
- DLL劫持
- 注册表劫持
- MBR后门
- WMI后门
- 管理员密码记录
5.2 Linux提权
方法:
- sudo提权
- suid提权
- redis提权
- 内核提权
- 常见后门方式:
- SSH后门
- SUID后门
- Crontab计划任务
- PAM后门
- 添加管理员账号
- Rootkit
隐藏计划任务方法:
- 使用at、batch命令创建临时任务
六、加密与认证
6.1 Web加密算法
类型:
- 单向散列加密:MD5、SHA、MAC
- 对称加密:AES、DES
- 非对称加密:RSA、RSA2
6.2 OAuth安全问题
常见漏洞:
- CSRF
- redirect_uri校验不严格
- 错误的参数传递
6.3 JWT攻击手法
攻击方式:
- 加密算法置为空绕过
- 身份验证爆破弱密钥
- kid参数攻击:
- 任意文件读取
- SQL注入
- 命令注入
- 未校验签名,内容重新编码
七、防御技术
7.1 应急响应
流程:
- 断网:条件允许时优先断网
- 取证:
- 分析登录日志、网站日志、服务日志
- 寻找黑客IP
- 查看黑客操作
- 备份:备份服务器文件,对比变化
- 查漏:寻找业务薄弱点,修补漏洞
- 杀毒:清除后门、WebShell、管理账号
- 溯源:通过黑客IP、入侵手段等
- 记录:归档、预防
7.2 企业内部安全
措施:
- 实名制联网
- 重要网段隔离
- 禁止接入任何USB设备
- 禁用WIFI网络
- IP与MAC地址绑定
- 部署网络监控、IDS、IPS设备
- 定期培训提高安全意识
7.3 IDS/IPS防护与绕过
原理:
- IDS:网络层旁路部署,分析流量发现攻击
- IPS:具备阻断能力的IDS,可覆盖网络层和应用层
绕过方法:
- TCP分片
- IP分片(丢包严重)
- 程序bug/性能问题:发送大量无效包
- 伪造TCP状态
- IPv6绕过
八、其他重要技术
8.1 跨域技术
实现方法:
- JSONP
- CORS跨域资源共享
- 代理跨域请求
- HTML5 postMessage方法
- 修改document.domain跨子域
- 基于HTML5 WebSocket协议
- document.xxx + iframe
JSONP与CORS区别:
- 浏览器支持:JSONP支持更好,CORS不支持IE9及以下
- 请求类型:JSONP只支持GET,CORS支持所有HTTP请求
- 请求次数:JSONP只发一次,复杂请求CORS发送两次
8.2 SSRF漏洞利用
利用方式:
- 本地文件读取
- 服务探测、端口扫描
- 攻击内网redis、mysql、fastcgi等服务
- 使用协议:http/s、file、gopher、tftp、dict、ssh、telnet
8.3 XXE漏洞
原理:
- XML外部实体注入,应用程序解析XML输入时允许引用外部实体
利用方式:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE root [
<!ENTITY x "First Param!">
<!ENTITY y "Second Param!">
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<root><x>&x;</x><y>&y;</y><xxe>&xxe;</xxe></root>
8.4 中间件漏洞
常见中间件漏洞:
IIS:
- IIS6.0 PUT漏洞
- IIS6.0 远程代码执行
- IIS6.0 解析漏洞
- 短文件名漏洞
- IIS7.0/7.5 解析漏洞
Apache:
- 未知扩展名解析漏洞
- 目录遍历
Nginx:
- 配置错误导致的解析漏洞
- 目录遍历
Tomcat:
- 任意代码执行
- 任意文件写入
- 弱口令+后台war包部署getshell
- manager/html管理后台弱口令爆破
JBoss:
- 5.x/6.x反序列化漏洞(CVE-2017-12149)
- JMXInvokerServlet反序列化
- EJBInvokerServlet反序列化
- JMX Console未授权访问
- 弱口令+管理后台war包部署getshell
WebLogic:
- XMLDecoder反序列化(CVE-2017-10271 & CVE-2017-3506)
- wls9_async_response,wls-wsat反序列化(CVE-2019-2725)
- WLS Core Components反序列化(CVE-2018-2628)
- 弱口令+管理后台war包部署getshell
九、移动安全
9.1 小程序渗透差异
- 渗透过程与传统Web相同(抓包修改参数)
- 不同点:小程序会将包下载到本地,可使用逆向还原工具反编译
9.2 APP四大组件漏洞
Activity组件:
- activity绑定browserable与自定义协议
- ActivityManager漏洞
Service组件:
- 权限提升
- 拒绝服务攻击
Broadcast Receiver组件:
- 权限管理不当
- BroadcastReceiver导出漏洞
- 动态注册广播组件暴露漏洞
Content Provider组件:
- 读写权限漏洞
- Content Provider中的SQL注入
- Provider文件目录遍历漏洞
十、其他面试要点
10.1 验证码安全问题
利用点:
- 验证码复用
- 验证码可识别
- 验证码失效
- 验证码DDOS
10.2 Cookie测试内容
- SQL注入
- XSS
- 权限绕过
- 敏感信息泄露
10.3 单一登录页面测试思路
- SQL注入、万能密码
- 暴力破解
- 权限绕过
- 目录扫描
- 敏感信息泄露
10.4 危险HTTP头部
- Cookie注入
- User-Agent注入
- X-Forwarded-For注入
- Referer注入
10.5 加密算法
常见排序算法:
- 冒泡排序
- 选择排序
- 插入排序
10.6 Python相关
常用标准库:
- 正则表达式 re
- 时间模块 time
- 随机数 random
- 操作系统接口 os
- 科学计算 math
- 网络请求 urllib
- HTTP库 requests
- 爬虫库 Scrapy
- 多线程库 threading
Python框架漏洞:
- Django:任意代码执行
- Flask:模板注入
10.7 红蓝对抗
蓝队反杀红队场景:
- 钓鱼
- 蜜罐
- 蚁剑RCE
10.8 Redis未授权访问
getshell方法:
- web绝对路径写shell
- 写入SSH公钥获取服务器权限
- 主从复制getshell
10.9 DNS外带利用
适用漏洞:
- SQL盲注
- 无回显的命令执行
- XXE盲打
- SSRF盲打
10.10 HTTP-Only绕过
方法:
- 劫持登录页面
- 钓鱼
本教学文档涵盖了网络安全面试中最核心的技术知识点,包括Web安全、网络协议、渗透测试技术、内网安全、系统安全、加密认证、防御技术等多个方面。每个技术点都提供了详细的解释和实用的防御/攻击方法,可作为网络安全学习和面试准备的全面参考资料。