网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
某四字大厂实习面试复盘 二面
跨域的解决办法原理以及安全问题 Python多进程和多线程如何选择 Pythonde GIL锁本质上做了什么事情 Javade JVM为什么要有GCROOT Java的JVM有哪些垃圾收集器 垃圾回收计数引用机制的缺点是什么 CSRF怎么拿到COOKIE 怎么判断 一个网站是钓鱼网站 不同域名怎么通过CSRF拿COOKIE 说一些HTTp头以及作用 HTTP-Only本质上做了什么事情 SYN flood 攻击原理以及解决方案 SYN 反向探测的原理是什么 TCP syn Cookie的原理 arp欺骗攻击原理及解决方案 UDP 端口探测的有效方式是什么 Nmap的FIN扫描和空扫描是什么 三次握手的序列号变化说一下 Python的值类型和引用类型是哪些 Python的List和dict线程安全吗
跨域的解决办法原理及安全问题
核心原理
- CORS(跨域资源共享)
- 机制:服务端通过
Access-Control-Allow-Origin
头声明允许跨域的源,支持预检请求(OPTIONS)验证复杂请求。- 安全风险:宽松配置(如
*
通配符)易导致敏感数据泄露,需结合Vary: Origin
避免缓存投毒。- 反向代理
- 实现:通过Nginx或云服务(如AWS API Gateway)将跨域请求转为同域,隐藏真实接口地址。
- 风险:需防范代理链中的SSRF攻击,例如限制内部网络访问。
- 新兴技术
- WebTransport(基于HTTP/3):支持多路复用和低延迟跨域通信,但需验证证书链完整性。
Python多进程与多线程的选择策略
决策矩阵
场景类型 适用方案 原因说明 CPU密集型 多进程( multiprocessing
)绕过GIL锁,利用多核并行计算(如AI模型推理) IO密集型 多线程/协程( asyncio
)轻量级切换,适合网络请求/文件读写 混合任务 进程池+异步IO 平衡计算与IO资源(如实时数据处理系统) 2025年扩展:Python 4.0优化了子解释器隔离,支持更细粒度的并行计算。
Python GIL锁的本质与影响
核心作用
- 单线程字节码执行
- 确保同一时刻仅一个线程执行Python字节码,避免竞态条件。
- 性能瓶颈
- CPU密集型任务无法利用多核(如数值计算),但IO密集型任务影响较小。
- 绕过方案
- 使用C扩展(如NumPy)、多进程或Rust集成(通过PyO3)。
JVM的GC ROOT与垃圾收集器
GC ROOT作用
- 存活对象锚点:包括线程栈帧、静态变量、JNI全局引用等,确保可达性分析准确性。
主流垃圾收集器
收集器 特点 适用场景 G1 分Region收集,平衡延迟与吞吐 大数据服务 ZGC 亚毫秒级停顿,支持TB级堆内存 金融交易系统 Shenandoah 并发压缩,低延迟 实时计算 Epsilon 无回收功能,仅内存分配 性能测试/短期任务
引用计数机制的缺陷
- 循环引用:对象互相引用导致无法释放(如
A→B→A
)。- 性能损耗:频繁增减计数器影响执行效率。
- 解决方案:结合标记-清除(如Python的GC模块)。
CSRF与COOKIE安全问题
关键结论
- CSRF无法直接获取COOKIE:攻击依赖浏览器自动携带COOKIE,需配合XSS窃取。
- 跨域限制:
- SameSite=Strict:禁止跨域携带COOKIE。
- 绕过条件:目标站点未启用SameSite,且COOKIE未设置HttpOnly(仍需XSS)。
钓鱼网站识别
- 域名检测:
- 视觉相似度:AI比对域名与正版网站(如
faceb00k.com
)。- 证书验证:检查CA颁发者是否受信(如Let's Encrypt vs 野卡)。
- 行为特征:
- 输入诱导:强制要求输入密码、短信验证码等敏感信息。
- 页面克隆:通过Headless浏览器检测页面与正版DOM结构差异。
HTTP安全头及作用
头部名称 作用 Content-Security-Policy
限制资源加载源,防御XSS Strict-Transport-Security
强制HTTPS,防止降级攻击 X-Content-Type-Options
禁用MIME嗅探,避免脚本伪装文件 Referrer-Policy
控制Referer信息泄露 HttpOnly本质:禁止JavaScript读取COOKIE,防御XSS窃取会话。
网络攻防技术解析
SYN Flood攻防
- 攻击原理:伪造源IP发送大量SYN包,耗尽服务器半连接队列。
- 解决方案:
- SYN Cookie:生成哈希序列号,无需存储连接状态。
- 云防护:AWS Shield自动过滤畸形流量。
ARP欺骗与防御
- 原理:伪造ARP响应劫持IP-MAC映射(如中间人攻击)。
- 防御:
- 动态ARP检测(DAI):交换机绑定IP-MAC表。
- IPv6优先:NDP协议替代ARP,加密地址解析。
UDP端口探测
- 有效方式:
- 响应差异:开放端口无响应,关闭端口返回ICMP不可达。
- 工具示例:
nmap -sU -p 53 <target>
探测DNS服务。
TCP协议与Nmap扫描
三次握手序列号变化
- 客户端SYN:发送随机序列号
seq=X
。- 服务端SYN-ACK:回复
seq=Y, ack=X+1
。- 客户端ACK:确认
ack=Y+1
,建立连接。Nmap扫描技术
扫描类型 原理 隐蔽性 FIN扫描 发送FIN包,关闭的端口返回RST 高 空扫描 发送无标志位包,行为类似FIN 极高
Python数据类型与线程安全
类型分类
- 值类型:
int
,float
,str
,tuple
(不可变,线程安全)。- 引用类型:
list
,dict
,set
(可变,非线程安全)。容器线程安全性
- 非原子操作风险:
list.append()
安全,但if x in list: list.remove(x)
需加锁。- 解决方案:
- 全局锁:
threading.Lock()
保护复合操作。- 无锁结构:使用
queue.Queue
或collections.deque
。
总结与扩展建议
- 跨域安全:2025年CORS策略更严格,建议采用OAuth 2.1+设备流认证。
- Python并发:关注Rust集成(如PyO3)实现高性能并行。
- JVM优化:ZGC在2025年已成为默认收集器,适合云原生场景。
- 网络防御:AI驱动的WAF可实时识别新型攻击流量。