0x06 天融信面试复盘
来源:https://github.com/vvmdx/Sec-Interview-4-2023
说明:本文件按原面经问题整理答题要点,答案为面试复习口径。
1. 有没有做过现实环境的渗透测试?有没有提交过src?
参考完整回答(漏洞挖掘经验):
漏洞挖掘我不会说成纯工具扫描。我的流程是先确定授权范围和资产清单,再根据资产类型选择策略:后台类系统重点看弱口令、越权、文件上传和接口泄露;API 类系统重点看鉴权、签名、重放和参数污染;老旧系统重点看组件版本和历史 CVE;云资产重点看对象存储、密钥泄露和安全组。
举例回答可以说:我曾在测试环境中通过 JS 文件和接口文档定位到一个未在页面展示的管理接口,用低权限账号访问后发现只校验登录态,没有校验角色,最终形成垂直越权。提交报告时我写了复现步骤、影响范围、截图证据、修复建议和复测结果。
2. 对免杀技术了解多少,制作的木马能不能过360
参考完整回答(免杀):
免杀的本质是绕过静态特征、行为检测和沙箱检测。常见思路包括编码/加密载荷、分阶段加载、API 动态解析、混淆、反沙箱、内存加载和行为降噪。但在面试中我会注意边界,不展示可直接滥用的细节,而是从防守视角说明检测点。
防护上不能只依赖特征查杀,要结合行为监控、命令行审计、父子进程关系、网络外连、内存执行、脚本执行策略和最小权限。对企业来说,PowerShell 日志、EDR、应用白名单和出网控制很关键。
3. ctf的成绩?擅长什么方向的题?
参考完整回答(CTF复盘):
CTF 题复盘要讲清题型、关键突破点、踩坑和沉淀。比如 Web 题可以按信息泄露、源码审计、参数污染、反序列化、SSTI、SQL 注入等链路讲;Pwn 题讲保护机制、溢出点、泄露地址、ROP 或堆利用;Crypto 题讲算法弱点和数学条件。
关键是不要只说“做出来了”,而要说明自己如何定位问题、如何验证假设、失败过哪些思路、最后沉淀了什么工具或知识点。
4. 攻防演练有什么成果?
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
5. shiro漏洞了解吗,讲一下原理
参考完整回答(Shiro反序列化):
Shiro 经典反序列化漏洞通常出现在 rememberMe 功能。Shiro 会把序列化对象加密后放进 rememberMe Cookie,如果密钥是默认值或泄露,攻击者就能用这个密钥加密恶意序列化数据发给服务端,服务端解密后反序列化,触发 CommonsCollections 等 gadget 链。
我会回答形成原因是:客户端可控 Cookie、服务端自动解密反序列化、密钥弱或默认、环境中存在可用 gadget。修复包括升级 Shiro,使用随机强密钥,禁用不必要的 rememberMe,减少危险依赖,开启出网限制,并监控异常 rememberMe Cookie 长度、特征和反序列化异常。
6. 在linux下,现在有一个拥有大量ip地址的txt文本文档,但是里面有很多重复的,如何快速去重?
参考完整回答(Linux命令/文本处理):
大量 IP 文本去重可以直接用 sort -u input.txt > output.txt。如果还要统计出现次数,可以用 sort input.txt | uniq -c | sort -nr。为了结果准确,最好先清洗空行、空格和大小写,例如 awk 'NF{print $1}' input.txt | sort -u。
如果文件特别大,sort 本身支持外部排序,也可以指定临时目录;更复杂的场景可以用 awk 哈希去重或导入数据库处理。面试时讲清命令含义即可:sort 排序,uniq 去除相邻重复,所以通常要先 sort。
7. 在内网渗透中,通过钓鱼邮件获取到主机权限,但是发现内网拦截了tcp的出网流量,聊一下这个时候应该怎么进行通信?
参考完整回答(内网渗透/横向):
内网渗透我会先确认当前落点的权限、网段、路由、DNS、域环境和出网情况。然后做低噪声主机发现和端口识别,重点关注域控、文件共享、数据库、中间件、运维平台和代码仓库。接着收集凭证线索,例如配置文件、历史命令、浏览器缓存、数据库连接串、共享目录和内存凭证;如果授权允许,再验证横向移动和权限提升路径。
防守视角我会补充:内网安全不能只靠边界防火墙,要做分区分域、最小权限、凭证隔离、禁用明文密码和本地管理员复用、开启 EDR、监控东西向流量、审计异常登录和远程执行行为。
8. 代码能力怎样,平时有没有做过代码审计?
参考完整回答(Java代码审计):
Java 审计我会从路由和鉴权开始,看 Controller、Filter、Interceptor、Spring Security/Shiro 配置和权限注解是否覆盖所有接口。数据访问层重点看 MyBatis 的 ${} 拼接、JPA 原生 SQL、排序字段拼接和多租户条件缺失。危险能力方面看反序列化、Fastjson/Jackson、SpEL/OGNL、模板引擎、文件上传下载、SSRF、XXE 和第三方依赖 CVE。
举例来说,审 SQL 注入时我会搜索 MyBatis XML 里的 ${},确认参数是否来自请求;如果是 order by,我会要求白名单字段映射。审越权时会看接口是否从 token 中取用户身份,并校验资源 owner,而不是直接使用请求里的 userId。
9. 目前对什么方向感兴趣?
参考完整回答(职业方向):
职业方向我会结合岗位回答。如果投漏洞研究/代码审计,我会说自己更喜欢从漏洞原理、源码调用链和补丁差异里分析问题,希望后续能沉淀漏洞模式、检测规则和工具;如果投安全工程/安全研发,我会强调希望把安全能力产品化,比如扫描器、风控、检测平台和自动化运营;如果投攻防,我会强调攻击链思维和实战复盘。
完整回答可以是:短期我希望把 Web 安全、代码审计和应急基础打牢,能独立完成漏洞分析和修复推动;中期希望在某个方向形成专长,同时补齐工程化能力,把经验沉淀成工具和规则。
返回安全面经目录