2025年渗透测试面试题总结-快手[实习]安全工程师(题目+回答)

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

目录

 快手[实习]安全工程师

一面问题分析与详细回答

1. 自我介绍

4. 项目问题与解决

7. 防止SQL注入(Web API场景)

8. Linux查看进程PID

10. 为什么用MongoDB

12. HTTPS建立过程

13. Python内存管理

16. Python多线程与GIL

17. IP排序代码题

二面问题扩展解析

3. 攻击溯源(方法论与案例)

5. Webshell检测(静态+动态)

8. 九宫格字母组合(回溯算法)

10. DNS安全威胁与防护

 快手[实习]安全工程师

### 一面 1. 自我介绍2. 问项目3. 针对项目问了很多详细的问题,不便透露,通用问题如下:4. 做项目的时候有没有遇到什么问题,怎么解决5. 做项目学到了什么东西6. 项目中有没有什么地方自己做过优化7. 有没有对网站做过渗透测试8. Linux操作熟悉吗,怎么看进程PID9. 用过什么数据库,答:sqlite,mongodb,面试官好像不太了解没咋问10. 为什么用mongodb11. 了解ES吗(Elasticsearch)12. HTTPS建立过程13. python怎么管理内存14. 深拷贝和浅拷贝区别15. python多进程、多线程、协程有用到吗,都在什么地方用到16. python可以实现真正的多线程吗17. 代码题:ip排序1. 写Web API的时候怎么防止SQL注入2. 怎么防XSS3. 了解越权漏洞么,有没有挖过越权漏洞4. 有没有什么比较擅长的我还没问到的### 二面 1. 问项目2. 项目哪一块时间花的比较多3. 怎么溯源攻击4. 举一个溯源攻击的例子5. 怎么检测webshell6. sql注入在mysql和sqlserver中有什么区别7. 想找安全开发的岗位还是安全研究的岗位8. 代码题:手机九宫格键盘,输入数字,输出所有的字母组合 如输入23,输出[‘ad’,’ae’,’af’,’bd’,’be’,’bf’,’cd’,’ce’,’cf’]9. 讲一下DNS协议的作用、解析过程10. DNS协议的安全问题11. 实习时间

一面问题分析与详细回答


1. 自我介绍

结构化回答(3点核心要素)

  1. 技术背景
    • 主语言:Python(5年+),熟悉安全开发框架(如Django、Flask)。
    • 安全技能:渗透测试(OWASP TOP 10实战)、漏洞分析(CVE复现经验)、日志溯源。
    • 工具链:Burp Suite、Nmap、Wireshark、Metasploit。
  2. 项目亮点
    • 开发安全监测平台:集成实时日志分析,识别SQL注入/XSS攻击,误报率<5%。
    • 自动化渗透工具:支持多线程爬虫+漏洞POC验证,效率提升40%。
  3. 岗位适配性
    • 目标:安全开发岗,结合代码能力与攻防思维,构建高鲁棒性系统。
    • 优势:熟悉DevSecOps流程,具备SDL(安全开发生命周期)实践经验。

4. 项目问题与解决

通用回答框架(问题-方案-结果)

  • 问题:高并发场景下日志丢失(日均丢失量达20%)。
  • 方案
    1. 引入Kafka消息队列,异步处理日志写入。
    2. 增加本地缓存层(Redis),网络异常时暂存日志。
  • 结果:丢失率降至0.5%,系统吞吐量提升3倍。

7. 防止SQL注入(Web API场景)

防御措施(4层防护)

  1. 参数化查询
    python# Django ORM示例 User.objects.raw('SELECT * FROM users WHERE name =%s', [request.name]) 
  2. 输入验证:正则匹配白名单(如邮箱格式^[a-z0-9]+@[a-z]+\.[a-z]{2,3}$)。
  3. 权限控制:数据库账户仅授予SELECT/INSERT权限,禁用DROP/ALTER。
  4. WAF集成:部署ModSecurity,拦截UNION SELECT等攻击模式。

8. Linux查看进程PID

常用命令(3种方式)

  1. ps命令
    bashps -ef | grep nginx # 显示nginx进程的PID、PPID 
  2. pgrep直接定位
    bashpgrep -f "python app.py" # 返回运行app.py 的PID 
  3. top交互界面:按Shift+P按CPU排序,实时查看PID及资源占用。

10. 为什么用MongoDB

核心优势(3点)

  1. 灵活模式:JSON文档结构适配动态日志格式(如不同攻击类型的字段差异)。
  2. 横向扩展:分片集群支持PB级数据存储,轻松应对安全日志海量增长。
  3. 聚合分析:内置$group$bucket等操作,实现攻击IP频次统计等场景。

12. HTTPS建立过程

详细步骤(6步握手)

  1. Client Hello:客户端发送TLS版本、加密套件列表、随机数A。
  2. Server Hello:服务端选择加密套件(如TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256),返回随机数B和证书链。
  3. 证书验证:客户端验证证书有效性(CA签名、有效期、域名匹配)。
  4. 密钥交换
    • 客户端生成随机数C,用服务端公钥加密发送。
    • 双方通过ECDHE算法生成会话密钥。
  5. Finished报文:双方用密钥加密验证消息完整性。
  6. 加密通信:后续数据通过AES-GCM对称加密传输。
    补充协议:HSTS头(Strict-Transport-Security)强制HTTPS,防止降级攻击。

13. Python内存管理

机制与优化(3层设计)

  1. 引用计数
    • 对象被引用时计数+1,归零时立即回收(如del obj)。
    • 循环引用问题:通过gc.collect() 触发分代回收。
  2. 分代垃圾回收
    • 分代策略:新生成对象在0代,存活时间越久代越高。
    • 回收频率:0代>1代>2代,平衡性能与内存释放。
  3. 内存池优化
    • 小整数(-5~256)、短字符串(无特殊字符)预分配复用。
    • 使用__slots__减少类实例内存占用(替换动态__dict__)。

16. Python多线程与GIL

真相与应对(3点结论)

  1. GIL限制:CPython解释器中,线程执行需获取全局锁,导致多线程无法并行执行CPU密集型任务。
  2. 适用场景
    • I/O密集型:如网络请求、文件读写,线程阻塞时自动释放GIL。
    • 协程优化:asyncio+async/await实现高并发(单线程万级连接)。
  3. 绕过方案
    • 多进程:multiprocessing模块利用多核CPU。
    • C扩展:将计算密集型逻辑用C/C++编写(如NumPy)。

17. IP排序代码题

Python实现与测试

pythondef ip_sort(ip_list): # 将IP按四段数字升序排列 return sorted(ip_list, key=lambda x: tuple(map(int, x.split('.')))) # 测试用例 ips = ["192.168.1.10", "10.0.24.255", "172.16.0.1"] print(ip_sort(ips)) # 输出:['10.0.24.255', '172.16.0.1', '192.168.1.10'] 

关键点:字符串直接排序会导致"192.168.1.2"排在"192.168.1.10"之后,转换为整数元组可避免此问题。


二面问题扩展解析


3. 攻击溯源(方法论与案例)

技术链路(4步流程)

  1. 日志采集
    • Web日志:Nginx/Apache访问日志提取攻击IP、User-Agent、Payload(如/admin.php?id=1' AND 1=1)。
    • 系统日志:Linux的/var/log/auth.log 记录SSH爆破尝试。
  2. 关联分析
    • 时间窗口:定位攻击时间段内的所有关联事件。
    • 威胁情报:VirusTotal查询IP历史行为(如是否代理服务器)。
  3. 流量取证
    • Wireshark过滤:tcp.port == 80 && http.request.method == "POST"捕获攻击请求。
    • Payload解码:Base64或URL解码隐藏指令(如cmd=whoami)。
  4. 响应处置
    • 短期:防火墙封锁IP(iptables -A INPUT -s 1.2.3.4 -j DROP)。
    • 长期:修复漏洞(如补丁更新)、增强监控规则。

溯源案例
在一次Webshell上传事件中,通过以下步骤追踪:

  1. 分析Web日志发现异常文件upload.php 在非工作时间被访问。
  2. 关联系统日志,发现同一时间点新增可疑用户backdoor
  3. 提取文件哈希(MD5)在VirusTotal匹配到已知Webshell家族(如China Chopper)。
  4. 反向查询关联IP,发现其属于某VPS提供商,上报威胁情报平台。

5. Webshell检测(静态+动态)

检测技术(5种手段)

类型方法工具示例
静态检测特征码匹配YARA规则(匹配eval($_POST['cmd'])
熵值分析检测文件熵值异常(高混淆代码)
动态检测行为监控OSSEC监控文件创建/删除行为
流量分析Suricata检测异常HTTP请求(长连接、加密载荷)
沙箱检测动态执行Cuckoo Sandbox分析文件行为(进程树、网络连接)

防御建议

  • 文件上传限制:仅允许特定后缀(如.jpg)、校验MIME类型。
  • 定期扫描:ClamAV定时全盘扫描,配合人工复核。

8. 九宫格字母组合(回溯算法)

代码与优化

pythondef letter_combinations(digits): if not digits: return [] mapping = { '2': 'abc', '3': 'def', '4': 'ghi', '5': 'jkl', '6': 'mno', '7': 'pqrs', '8': 'tuv', '9': 'wxyz' } res = [] def backtrack(index, path): if index == len(digits): res.append(''.join(path)) return for char in mapping[digits[index]]: path.append(char) backtrack(index + 1, path) path.pop() backtrack(0, []) return res 

复杂度分析

  • 时间:O(3^N *4^M),N为输入中对应3字母的数字数(如2、3),M为对应4字母的数字数(如7、9)。
  • 空间:O(N+M)递归栈深度,结果列表空间O(3^N *4^M)。

10. DNS安全威胁与防护

攻击类型与防御(3类重点)

  1. DNS劫持
    • 手法:篡改路由器或ISP的DNS响应。
    • 防护:启用DNSSEC(通过RRSIG记录验证数据完整性)。
  2. 缓存投毒
    • 手法:伪造DNS响应污染递归服务器缓存。
    • 防护:随机化查询ID和源端口(增加攻击难度)。
  3. DDoS攻击
    • 手法:洪水攻击DNS服务器(如UDP反射放大攻击)。
    • 防护:部署Anycast网络分散流量,启用速率限制。

协议演进

  • DoH(DNS over HTTPS):加密DNS查询,防止运营商监听。
  • DoT(DNS over TLS):使用TLS层加密,端口853。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/80795.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WordPress Madara插件存在文件包含漏洞(CVE-2025-4524)

免责声明 本文档所述漏洞详情及复现方法仅限用于合法授权的安全研究和学术教育用途。任何个人或组织不得利用本文内容从事未经许可的渗透测试、网络攻击或其他违法行为。使用者应确保其行为符合相关法律法规,并取得目标系统的明确授权。 对于因不当使用本文信息而造成的任何直…

互联网大厂Java面试场景:从Spring Boot到分布式缓存技术的探讨

互联网大厂Java面试场景&#xff1a;从Spring Boot到分布式缓存技术的探讨 场景描述 互联网大厂某次Java开发岗面试&#xff0c;主考官是一位严肃的技术专家&#xff0c;而应聘者则是搞笑的程序员“码农明哥”。面试围绕音视频场景的技术解决方案展开&#xff0c;探讨从Sprin…

leetcode hot100刷题日记——8.合并区间

class Solution { public:vector<vector<int>> merge(vector<vector<int>>& intervals) {if(intervals.empty()){//复习empty函数啊&#xff0c;日记1有的return {};}// 按照区间的起始位置进行排序sort(intervals.begin(), intervals.end());vect…

Unity中GPU Instancing使用整理

GPU Instancing是一种绘制调用优化方法,可在单个绘制调用中渲染具有相同材质Mesh的多个副本(实例),可用于绘制在场景中多次出现的几何体(例如,树木或灌木丛),在同一绘制调用中渲染相同的网格,每个实例可以具有不同的属性(如 Color 或 Scale),渲染多个实例的绘制调用…

【后端】【UV】【Django】 `uv` 管理的项目中搭建一个 Django 项目

&#x1f680; 一步步搭建 Django 项目&#xff08;适用于 uv pyproject.toml 项目结构&#xff09; &#x1f9f1; 第 1 步&#xff1a;初始化一个 uv 项目&#xff08;如果还没建好&#xff09; uv init django-project # 创建项目&#xff0c;类似npm create vue⚙️ 第 …

Linux操作系统之进程(二):进程状态

目录 前言 一、补充知识点 1、并行与并发 2、时间片 3、 等待的本质 4、挂起 二. 进程的基本状态 三、代码演示 1、R与S 2、T 3、Z 四、孤儿进程 总结&#xff1a; 前言 在操作系统中&#xff0c;进程是程序执行的基本单位。每个进程都有自己的状态&#xff0c;这些…

大数据技术全景解析:HDFS、HBase、MapReduce 与 Chukwa

大数据技术全景解析&#xff1a;HDFS、HBase、MapReduce 与 Chukwa 在当今这个信息爆炸的时代&#xff0c;大数据已经成为企业竞争力的重要组成部分。从电商的用户行为分析到金融的风险控制&#xff0c;从医疗健康的数据挖掘到智能制造的实时监控&#xff0c;大数据技术无处不…

学习 Android(十一)Service

简介 在 Android 中&#xff0c;Service 是一种无界面的组件&#xff0c;用于在后台执行长期运行或跨进程的任务&#xff0c;如播放音乐、网络下载或与远程服务通信 。Service 可分为“启动型&#xff08;Started&#xff09;”和“绑定型&#xff08;Bound&#xff09;”两大…

投标环节:如何科学、合理地介绍 Elasticsearch 国产化替代方案——Easysearch?

一、Easysearch 定义 Easysearch 是由极限科技&#xff08;INFINI Labs&#xff09;自主研发的分布式搜索型数据库&#xff0c;作为 Elasticsearch 的国产化替代方案&#xff0c;基于 Elasticsearch 7.10.2 开源版本深度优化[1]。 插一句&#xff1a;Elasticsearch 7.10.2 是里…

NVC++ 介绍与使用指南

文章目录 NVC 介绍与使用指南NVC 简介安装 NVC基本使用编译纯 C 程序编译 CUDA C 程序 关键编译选项示例代码使用标准并行算法 (STDPAR)混合 CUDA 和 C 优势与限制优势限制 调试与优化 NVC 介绍与使用指南 NVC 是 NVIDIA 提供的基于 LLVM 的 C 编译器&#xff0c;专为 GPU 加速…

Veo 3 可以生成视频,并附带配乐

谷歌最新的视频生成 AI 模型 Veo 3 可以创建与其生成的剪辑相配的音频。 周二&#xff0c;在谷歌 I/O 2025 开发者大会上&#xff0c;谷歌发布了 Veo 3。该公司声称&#xff0c;这款产品可以生成音效、背景噪音&#xff0c;甚至对话&#xff0c;为其制作的视频增添配乐。谷歌表…

Android本地语音识别引擎深度对比与集成指南:Vosk vs SherpaOnnx

技术选型对比矩阵 对比维度VoskSherpaOnnx核心架构基于Kaldi二次开发ONNX Runtime + K2新一代架构模型格式专用格式(需专用工具转换)ONNX标准格式(跨框架通用)中文识别精度89.2% (TDNN模型)92.7% (Zipformer流式模型)内存占用60-150MB30-80MB迟表现320-500ms180-300ms多线程…

十四、Hive 视图 Lateral View

作者&#xff1a;IvanCodes 日期&#xff1a;2025年5月20日 专栏&#xff1a;Hive教程 在Hive中&#xff0c;我们经常需要以不同于原始表结构的方式查看或处理数据。为了简化复杂查询、提供数据抽象&#xff0c;以及处理复杂数据类型&#xff08;如数组或Map&#xff09;&#…

微软开源GraphRAG的使用教程-使用自定义数据测试GraphRAG

微软在今年4月份的时候提出了GraphRAG的概念,然后在上周开源了GraphRAG,Github链接见https://github.com/microsoft/graphrag,截止当前,已有6900+Star。 安装教程 官方推荐使用Python3.10-3.12版本,我使用Python3.10版本安装时,在初始化项目过程中会报错,切换到Python3.…

XXX企业云桌面系统建设技术方案书——基于超融合架构的安全高效云办公平台设计与实施

目录 1. 项目背景与目标1.1 背景分析1.2 建设目标2. 需求分析2.1 功能需求用户规模与场景终端兼容性2.2 非功能需求3. 系统架构设计3.1 总体架构图流程图说明3.2 技术选型对比3.3 网络设计带宽规划公式4. 详细实施方案4.1 分阶段部署计划4.2 桌面模板配置4.3 测试方案性能测试工…

数据直观分析与可视化

数据直观分析与可视化 一、数据的直观分析核心价值 数据的直观分析旨在通过视觉化的方式&#xff0c;帮助人们更直观、更快速地理解数据的特征和模式&#xff0c;从而发现趋势、异常值、分布情况以及变量之间的关系&#xff0c;为决策提供支持。 数据可视化与信息图形、信息可…

Neo4j数据库

Neo4j 是一款专门用来处理复杂关系的数据库。我们可以简单地将它理解为一个“用图结构来管理数据的工具”。与我们常见的&#xff0c;像 Excel 那样用表格&#xff08;行和列&#xff09;来存储数据的传统数据库不同&#xff0c;Neo4j 采用了一种更接近人类思维对现实世界理解的…

Java异常处理全解析:从基础到自定义

目录 &#x1f680;前言&#x1f914;异常的定义与分类&#x1f4af;运行时异常&#x1f4af;编译时异常&#x1f4af;异常的基本处理 &#x1f31f;异常的作用&#x1f427;自定义异常&#x1f4af;自定义运行时异常&#x1f4af;自定义编译时异常 ✍️异常的处理方案&#x1…

Redisson分布式集合原理及应用

Redisson是一个用于Redis的Java客户端&#xff0c;它简化了复杂的数据结构和分布式服务的使用。 适用场景对比 数据结构适用场景优点RList消息队列、任务队列、历史记录分布式共享、阻塞操作、分页查询RMap缓存、配置中心、键值关联数据支持键值对、分布式事务、TTLRSet去重集…

打破次元壁,VR 气象站开启气象学习新姿势​

在教育领域&#xff0c;VR 气象站同样发挥着巨大的作用&#xff0c;为气象教学带来了全新的模式&#xff0c;打破了传统教学的次元壁&#xff0c;让学生们以全新的姿势学习气象知识。​ 在传统的气象教学中&#xff0c;学生们主要通过课本、图片和老师的讲解来学习气象知识。这…