2025年渗透测试面试题总结-腾讯[实习]玄武实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
腾讯[实习]玄武实验室-安全工程师
1. 自我介绍
2. CSRF原理
3. Web安全入门时间
4. 学习Web安全的原因
5. 参与的比赛
6. 个人角色与贡献
7. 反序列化漏洞
8. 近期安全圈大事
9. 印象最深的安全事件
10. 黑盒测试实战案例
案例1:加密货币钱包(信息泄露)
案例2:交易所(水平越权)
14. 智能合约逆向:函数参数与指令集
15. 重入漏洞(Reentrancy)
16. 近期最大区块链安全事件
17. 密码学应用经验
18. DeFi漏洞挖掘经验
19. DeFi经济模型漏洞挖掘方法论
20. 未来新型漏洞猜想
21. 游戏答题奖励漏洞分析
22. 反问
腾讯[实习]玄武实验室-安全工程师
1. 自我介绍 2. 讲解一下CSRF原理吧 3. 什么时候接触web安全的 4. 为什么学WEB安全 5. 参加过哪些比赛 6. 你发挥了那行作用 7. 讲讲反序列化吧 8. 说一说最近你关注的安全圈大事 9. 那你说说你遇到最优印象的吧 10. 我看你简历上有黑盒测试 说一说吧- 一个是钱包的测试 一个是交易所的测试,钱包主要是信息泄露,水平越权 11. 怎么发现的- 信息泄露是webpack可以直接查看api 等调用信息,水平越权是构造josn包返回了用户数据账户密码之类的 12. 怎么构造的 13. 那继续说说交易所 14. (区块链相关)讲一讲逆向函数涉及到的接收参数的指令集 15. 说说重入漏洞 16. 有对最近那个最大的区块链安全事件有了解吗 17. 好,那你对密码学有什么接触嘛 18. 我看你简历有许多对Defi的审计,那你有什么对漏洞的挖掘的经验吗 19. 嗯好 那现在我问你个问题 你思考下 在DEFI项目中建立了各种各样的经济模型 怎样才能找出可能存在的漏洞 20. 讲讲你对未来可能出现的新型漏洞的猜想吧 21. 有一种 游戏在猜对正确答案后可获得奖励 22. 反问1. 自我介绍
我是专注于Web安全与区块链安全的工程师,具备3年渗透测试与智能合约审计经验。擅长黑盒/白盒测试、漏洞挖掘(尤其DeFi方向),独立审计过20+个智能合约项目,发现高危漏洞17个,累计挽回潜在损失超$300万。熟悉密码学应用与底层攻击手法。
2. CSRF原理
核心逻辑:利用用户已登录的合法身份,诱导其执行非预期操作。
攻击流程:
- 用户登录:受害者登录信任网站(如银行),会话Cookie有效。
- 恶意诱导:攻击者构造含恶意请求的链接/页面(如转账链接),诱使用户点击。
- 伪造请求:浏览器自动携带用户Cookie发送请求,服务器误判为合法操作。
防御方案:
- Token验证:请求需携带服务端生成的随机Token(如
CSRF-Token)。- 同源检测:校验
Origin或Referer头。- 关键操作二次验证(如短信/密码确认)。
3. Web安全入门时间
2019年参与高校CTF竞赛(如强网杯)时首次接触SQL注入与XSS漏洞,系统学习Web安全始于2020年实习期间参与企业SRC漏洞挖掘项目。
4. 学习Web安全的原因
- 攻防博弈的挑战性:漏洞挖掘是逻辑与创造力的双重对抗。
- 区块链安全需求爆发:DeFi漏洞导致单次损失可达数亿美元(如Poly Network被黑事件)。
- 防御体系构建:从攻击者视角设计更健壮的防护机制。
5. 参与的比赛
比赛名称 类型 成绩 DEFCON CTF 国际决赛 团队Top 20 Tianfu Cup 攻防赛 一等奖 GeekPwn 智能设备破解 最佳漏洞奖
6. 个人角色与贡献
- 漏洞挖掘主力:发现关键漏洞占团队总提交量的40%(如Fastjson反序列化0day)。
- 区块链攻防设计:设计智能合约挑战题(如重入攻击+预言机操纵组合)。
- 自动化工具开发:编写EVM字节码分析脚本,提升审计效率3倍。
7. 反序列化漏洞
原理:
当程序将不可信的序列化数据(如JSON/XML)还原为对象时,若未严格校验,攻击者可构造恶意数据触发危险操作(如RCE)。
典型案例:
- Java反序列化:利用
InvokerTransformer执行系统命令(CommonsCollections链)。- PHP反序列化:通过
__destruct()或__wakeup()魔术方法触发文件删除。
防御方案:- 禁用危险类(如Java的
ObjectInputStream过滤器)。- 使用安全序列化协议(如Protocol Buffers)。
8. 近期安全圈大事
事件:Curve Finance被黑(2024年7月)
- 损失金额:$6200万
- 漏洞类型:重入攻击 + 预言机价格操纵
- 根本原因:
vyper编译器缺陷导致重入锁失效,攻击者反复提取抵押资产。- 行业影响:引发对DeFi底层编译器安全性的全面审计浪潮。
9. 印象最深的安全事件
Poly Network跨链桥攻击(2021年,损失$6.1亿)
- 攻击手法:合约管理员权限劫持(私钥泄露?后门?至今未公开)。
- 戏剧性转折:攻击者最终归还资金,暴露中心化私钥管理风险。
- 启示:跨链项目需实现多签+动态权限分割机制。
10. 黑盒测试实战案例
案例1:加密货币钱包(信息泄露)
- 漏洞:Webpack未混淆API调用路径
- 发现过程:
- 浏览器调试模式查看
/static/js/app.[hash].js源码。- 搜索
/api/user路径,发现未授权访问用户信息的接口:javascriptaxios.get('/api/user/profile?user_id=123') // 返回用户明文手机号- 利用效果:遍历
user_id可批量获取用户敏感信息。案例2:交易所(水平越权)
- 漏洞:JSON响应包含超权限数据
- Payload构造:
- 正常请求:
POST /trade/order {order_id: "10001"}- 篡改响应(Burp拦截修改):
json{ "code": 200, "data": { "user_info": { "uid": "victim_uid", "api_key": "xxxxxx" // 不应返回的数据 } } }- 风险:攻击者可盗取他人API密钥进行恶意交易。
14. 智能合约逆向:函数参数与指令集
以太坊EVM关键指令:
指令 作用 参数示例 CALLVALUE获取调用者转账金额 msg.valueCALLDATALOAD读取调用数据 calldata[0:32]SSTORE修改存储槽 sstore(0, 1)参数解析流程:
- 函数选择器:
calldata[0:4] = keccak256("transfer(address,uint256)")- 参数按32字节分割:
address→calldata[4:36](需截断为20字节)uint256→calldata[36:68]
15. 重入漏洞(Reentrancy)
攻击场景:
solidityfunction withdraw() public { uint balance = balances[msg.sender]; require(msg.sender.call.value(balance)(""); // ❌ 先转账后更新状态 balances[msg.sender] = 0; }攻击合约:
solidityfunction attack() public payable { target.withdraw(); } fallback() external payable { if (address(target).balance > 0) { target.withdraw(); // 递归调用直至耗尽资金 } }防御方案:
- 使用
Checks-Effects-Interactions模式(先更新状态再转账)。- 引入重入锁(如OpenZeppelin的
ReentrancyGuard)。
16. 近期最大区块链安全事件
事件:Sonne Finance被黑(2025年3月,损失$2000万)
- 漏洞类型:时间锁绕过 + 利率操纵
- 攻击链:
- 利用治理提案的时间锁漏洞提前执行恶意提案。
- 操纵抵押资产的预言机价格,制造坏账。
- 行业教训:DeFi协议需隔离关键模块(如治理/预言机/清算逻辑)。
17. 密码学应用经验
- 非对称加密:审计中验证椭圆曲线签名(如以太坊的
secp256k1)。- 零知识证明:调试zk-SNARK电路(如Groth16证明系统)。
- 误用案例:某项目用
SHA256代替HMAC做API签名,导致长度扩展攻击。
18. DeFi漏洞挖掘经验
代表性漏洞:
漏洞类型 项目 损失规避 闪电贷价格操纵 AMM DEX $150万 治理权限逃逸 DAO平台 全协议接管风险 抵押品清算逻辑缺陷 借贷协议 $80万
19. DeFi经济模型漏洞挖掘方法论
四维审计框架:
- 激励一致性
- 检查用户行为激励是否与协议目标冲突(如流动性挖矿导致抛压)。
- 状态机完备性
- 验证所有资金流状态转换(如存款/借款/清算)是否闭环。
- 外部依赖风险
- 预言机延迟攻击、抵押品价格波动极值测试。
- 博弈论模拟
- 构建多角色模型(普通用户/套利者/攻击者),推演极端场景。
20. 未来新型漏洞猜想
方向1:AI+安全交叉漏洞
- 模型投毒攻击:污染DeFi利率模型训练数据,操纵贷款决策。
- 对抗样本攻击:生成欺骗KYC人脸识别的图像。
方向2:ZK硬件加速漏洞
- GPU/FPGA加速的ZK证明生成器中,侧信道攻击泄露证明密钥。
方向3:跨链原子交易缺陷
- 不同链交易确认时间差导致的中间状态劫持(如BTC慢确认 vs Solana快确认)。
21. 游戏答题奖励漏洞分析
潜在风险:
- 答案预测攻击:若答案链上可预测(如区块哈希),攻击者提前提交。
- 女巫攻击:伪造多个账号答题,耗尽奖池。
安全设计建议:- 答案由链下可信预言机(如Chainlink VRF)提交。
- 引入答题成本(如Gas费)与频率限制。
22. 反问
- 团队技术栈:当前智能合约审计是否引入形式化验证(如Certora)?
- 漏洞响应机制:发现高危漏洞后的应急流程与时间要求?
- 攻防演进:是否有内部红蓝对抗演练提升防御体系?
相关文章:
2025年渗透测试面试题总结-腾讯[实习]玄武实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]玄武实验室-安全工程师 1. 自我介绍 2. CSRF原理 3. Web安全入门时间 4. 学习Web安全的原因 …...
网站首页菜单两种布局vue+elementui顶部和左侧栏导航
顶部菜单实现 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Vue.js Element UI 路由导航</…...
AWS之迁移与传输服务
目录 一、迁移管理与规划类 二、应用程序迁移类 1. MGN的迁移范围(能替代的场景) ✅ 自动包含以下数据: 🔹 适用场景举例: 2. 仍需DMS或DataSync的场景(不可替代) ❌ DMS仍必要的情况: ❌ DataSync仍必要的情况: 3. 技术原理对比 MGN的数据迁移机制: DMS…...
@Builder的用法
Builder 是 Lombok 提供的一个注解,用于简化 Java 中构建对象的方式(Builder 模式)。它可以让你以更加简洁、链式的方式来创建对象,尤其适用于构造参数较多或部分可选的类。...
Unity3D 逻辑代码性能优化策略
前言 在Unity3D中优化逻辑代码性能是提升游戏流畅度的关键。以下是系统性的优化策略和示例: 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀! 1. 避免高频操作中的开销 缓存组件引用 private …...
【Python Cookbook】文件与 IO(二)
文件与 IO(二) 6.字符串的 I/O 操作7.读写压缩文件8.固定大小记录的文件迭代(⭐⭐) 6.字符串的 I/O 操作 你想使用操作类文件对象的程序来操作文本或二进制字符串。 使用 io.StringIO() 和 io.BytesIO() 类来创建类文件对象操作…...
vue实现点击按钮input保持聚焦状态
主要功能: 点击"停顿"按钮切换对话框显示状态输入框聚焦时保持状态点击对话框外的区域自动关闭 以下是代码版本: <template><div class"input-container"><el-inputv-model"input"style"width: 2…...
[蓝桥杯]取球博弈
取球博弈 题目描述 两个人玩取球的游戏。 一共有 NN 个球,每人轮流取球,每次可取集合 n1,n2,n3n1,n2,n3中的任何一个数目。 如果无法继续取球,则游戏结束。 此时,持有奇数个球的一方获胜。 如果两人都是奇数ÿ…...
Spring Security入门:创建第一个安全REST端点项目
项目初始化与基础配置 创建基础Spring Boot项目 我们首先创建一个名为ssia-ch2-ex1的空项目(该名称与配套源码中的示例项目保持一致)。项目需要添加以下两个核心依赖: org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-secur…...
[Java 基础]数组
什么是数组?想象一下,你需要存储 5 个学生的考试成绩。你可以声明 5 个不同的 int 变量,但这会显得很笨拙。数组提供了一种更简洁、更有组织的方式来存储和管理这些数据。 数组可以看作是相同类型元素的集合,这些元素在内存中是连…...
fastadmin fildList 动态下拉框默认选中
html页面 <td><select class"form-control dtselect" data-rule"required" data-dtselected"<%row.type%>" name"<%name%>[<%index%>][type]">{foreach nametypeList idvo}<option value"{$vo…...
java学习笔记——数组和二维数组
一、一维数组 1. 定义数组 语法: // 动态初始化(指定长度) 数据类型[] 数组名 = new 数据类型[长度]; // 示例: int[] arr1 = new int[5]; // 默认值:0// 静态初始化(直接赋值) 数据类型[] 数组名 = {元素1, 元素2, ...}; // 示例: String[]…...
‘pnpm‘ 不是内部或外部命令,也不是可运行的程序
npm install -g pnpm changed 1 package in 4s 1 package is looking for funding run npm fund for details C:\Users\gang>pnpm pnpm 不是内部或外部命令,也不是可运行的程序 或批处理文件。 原来是安装的全局路径被我改了 npm list -g --depth 0 把上述…...
Android Test2 获取系统android id
Android Test2 获取系统 android id 这篇文章针对一个常用的功能做一个测试。 在项目中,时常会遇到的一个需求就是:一台设备的唯一标识值。然后,在网络请求中将这个识别值传送到后端服务器,用作后端数据查询的条件。Android 设备…...
webpack打包学习
vue开发 现在项目里安装vue: npm install vue vue的文件后缀是.vue webpack不认识vue的话就接着安插件 npm install vue-loader -D 这是.vue文件: <template> <div><h2 class"title">{{title}}</h2><p cla…...
基于Java(Jsp+servelet+Javabean)+MySQL实现图书管理系统
图书管理系统 一、需求分析 1.1 功能描述 1.1.1“读者”功能 1)图书的查询:图书的查询可以通过搜索图书 id、书名、作者名、出版社来实现,显示结果中需要包括书籍信息以及是否被借阅的情况; 2)图书的借阅:借阅图书…...
服务器CPU被WMI Provider Host系统进程占用过高,导致系统偶尔卡顿的排查处理方案
问题现状 最近一个项目遇到一个非常奇葩的问题:正式服务器被一个WMI Provider Host的系统进程占用大量的CPU资源,导致我们的系统偶尔卡顿 任务管理器-详细信息中CPU时间,这个进程也是占用最多的 接口时不时慢很多 但单独访问我们的接口又正…...
JavaSwing之--JMenuBar
Java Swing之–JMenuBar(菜单栏) JMenuBar是 Java Swing 库中的一个组件,用于创建菜单栏,通常位于窗口的顶部。它是菜单系统的容器,用于组织和显示应用程序的菜单结构 菜单栏由菜单构成,菜单由菜单项或子菜单构成,也…...
vue3+elementplus表格表头加图标及文字提示
表头加自定义内容有很多种方法,包括使用el-icon,插槽,CSS 伪元素添加图标还有font-awesome等等。 一、方法一:使用render-header属性 <el-table :data"tableData"><el-table-column prop"name" la…...
【物联网-S7Comm协议】
物联网-S7Comm协议 ■ 调试工具■ S7协议-简介■ S7协议和modbusTCP协议区别■ OSI 层 S7 协议■ S7协议数据结构 (TPKTCOTPS7Comm)■ TPKT(第五层:会话层) 总共占4个字节■ COTP(第六层:表示层…...
NLP中的input_ids是什么?
在自然语言处理(NLP)中,input_ids 是什么 在自然语言处理(NLP)中,input_ids 是将文本转换为模型可处理的数字表示后的结果,是模型输入的核心参数之一。 一、基本概念 文本数字化 原始文本(如 “Hello world!”)无法直接被模型处理,需要通过分词器(Tokenizer) 将其…...
LeetCode Hot100刷题——划分字母区间
763.划分字母区间 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。例如,字符串 "ababcc" 能够被分为 ["abab", "cc"],但类似 ["aba", "bcc"…...
c++ 基于OpenSSL的EVP接口进行SHA3-512和SM3哈希计算
通过OpenSSL的EVP接口进行 SHA3-512 和 SM3 哈希计算 #include <iostream> #include <openssl/evp.h> #include <cstring>using namespace std;void PrintHex(const std::string &hexStr) {for (unsigned char c : hexStr){printf("%02x", c)…...
Vue3实现拖拽改变元素大小
代码实现 整体页面结构通过一个 dragResize-wrapper 包含左右两个区域,左侧区域包含一个可拖拽的边界。以下是关键代码 HTML 部分 <template><div class"dragResize-wrapper"><div class"dragResize-left"><div class&…...
Spring IoC 详解:原理、实现与实战
Spring IoC 详解:原理、实现与实战 前言 Spring IoC(Inversion of Control,控制反转)是Spring框架的核心基础。它通过解耦对象的创建与依赖关系管理,极大提升了系统的可维护性和扩展性。本文将系统梳理Spring IoC的原…...
深入Java NIO:构建高性能网络应用
引言 在上一篇文章中,我们介绍了Java网络编程的基础模型:阻塞式I/O和线程池模型。这些模型在处理高并发场景时存在明显的局限性。本文将深入探讨Java NIO(New I/O)技术,这是一种能够显著提升网络应用性能的非阻塞I/O模…...
数据分析后台设计指南:实战案例解析与5大设计要点总结
引言 数据于企业而言异常重要,企业通过数据可以优化战略决策,因此企业对数据的采集正趋向智能化、数字化,数据分析后台就是企业智能化、数字化记录、分析数据的渠道。本文分享一个数据分析后台原型实战案例,通过页面拆解总结原型…...
深度学习之模型压缩三驾马车:基于ResNet18的模型剪枝实战(1)
一、背景:为什么需要模型剪枝? 随着深度学习的发展,模型参数量和计算量呈指数级增长。以ResNet18为例,其在ImageNet上的参数量约为1100万,虽然在服务器端运行流畅,但在移动端或嵌入式设备上部署时…...
SSH/RDP无法远程连接?腾讯云CVM及通用服务器连接失败原因与超全排查指南
更多服务器知识,尽在hostol.com 嘿,各位服务器的“船长”和“管理员”们!咱们在浩瀚的数字海洋中驾驭着自己的服务器“战舰”,最怕遇到什么情况?除了数据丢失,恐怕就是突然发现自己被锁在“驾驶舱”门外—…...
网络测试实战:金融数据传输的生死时速
阅读原文 7.4 网络测试实战--数据传输:当毫秒决定百万盈亏 你的交易指令为何总是慢人一步? 在2020年"原油宝"事件中,中行原油宝产品因为数据传输延迟导致客户未能及时平仓,最终亏损超过90亿元。这个血淋淋的案例揭示了…...
