当前位置: 首页 > news >正文

Doyensec实习记:安全研究与应用渗透实战剖析

Doyensec实习记:安全研究与应用渗透实战剖析

2024年3月22日 - 作者:Aleandro Prudenzano 和 Leonardo Giovannini

以下博文讲述了我们2023年实习生在Doyensec的经历。

Aleandro

在我高中最后一年,我参加了Cyberchallenge.it项目,其目标是通过课程和CTF竞赛向年轻学生介绍攻击性网络安全世界。在那次经历之后,我和一些朋友创立了r00tstici CTF团队,试图将网络安全文化带到意大利南部。我们还在萨伦托大学组织了各种研讨会和活动。

当我从意大利南部搬到比萨上大学时,我加入了fibonhack CTF团队。随后,我也开始在大学内外的项目上担任开发人员和渗透测试员。

应聘过程

2023年4月,Doyensec的Twitter账号发布了夏季实习生招聘信息。自从在No Hat 2022大会上听了Luca的演讲后,我已经关注Doyensec好几个月了,于是我提交了申请。这既是因为我对大学的常规生活感到厌倦,也是因为我想尝试一下研究领域的工作。这很适合我,因为我有开发和自由职业渗透测试的背景,同时也参与CTF竞赛。

我所经历的选拔过程,大部分已经由Robert在他之前关于实习经历的文章中描述过了。基本上包括:

  1. 与实践经理的面试
  2. 涵盖Web和移动主题的技术挑战
  3. 最后,与两位不同的安全工程师进行技术面试

面试涉及应用安全的各个方面,从Web安全到汇编语言甚至CPU内部结构等底层知识。

最初几周

实际实习开始的前几周是研究阶段,我研究了Rust语言的一些Web应用框架。完成那项研究后,我接着进行了一次为客户的实际渗透测试。我记得第一周感觉非常不同且充满挑战。代码库如此庞大,功能如此丰富,让我感到要测试的东西、要尝试的想法和要复现的场景太多了,有点不知所措。尽管代码库规模大且复杂,但最初没有发现任何漏洞。冒名顶替综合症开始发作了。

最终,在那次任务的第二周,情况开始好转。虽然我们是一家100%远程公司,但有时我们会聚在一起以小团队形式工作。那一周,我和Luca线下一起工作。他帮助我理解,有时软件只是从安全角度写得很好、架构很好。对于这些情况,我需要学会如何处理没有立即取得成功的情况、测试所需的专注度,以及如何在只有低严重性发现的情况下为客户提供价值。谢天谢地,我们最终还是在那代码库中找到了不错的漏洞 😃

研究周

我实习经历的主要研究主题是关于开发内部工具。虽然这个项目主要不是关于安全的,但我非常享受这个过程。开发应用、修复错误、对着不存在的文档尖叫,这些事自从我买了第一台个人电脑后就一直在做。

责任

值得注意的是,即使你是最后加入公司且经验有限的人,所有Doyensec团队成员都像对待其他员工一样对待你。你可能需要在评估期间负责与客户实际沟通,你需要撰写并可能同行评审报告,你需要评估并为发现的漏洞分配严重性等级,你的名字会出现在报告上,等等。当然,你会被安排与更有经验的工程师(我的情况是Lorenzo - 我想感谢他在管理灵活日程和给我的所有其他建议方面的帮助)一起工作,他们会指导你完成整个过程。然而,你通过实际动手、自己决定如何推进以及当然也会犯错,学到的最多。

对我来说,这是一种令人震撼的感觉,我没想到能完全融入团队,也没想到我的意见会受到重视。我认为这真是一个好方法。我花了一段时间才完全适应这个角色,但之后整个过程都很有趣。

Leonardo

大家好,我叫Leonardo,你们中的一些人可能更熟悉我的代号maitai,这是我从踏上网络安全之旅开始就在CTF场景中使用的代号。我在攻读计算机科学学士学位的过程中接触到了网络安全。从第一刻起,我就被它迷住了。于是我决定更深入地研究黑客技术,从PortSwigger学院开始,这彻底改变了我的生活。

应聘过程

如果你读过这篇博文的前一部分,你已经认识了Aleandro。在加入Doyensec之前我就认识他,因为我们曾在同一个CTF队伍fibonhack中并肩作战。当我还在进行上一段实习时,Aleandro和我经常谈论我们的工作以及近期打算做什么。有一天他告诉我,Doyensec将在冬季开放一个实习职位。起初我有点害怕,因为对我来说,接受这样的挑战将是一个巨大的飞跃。

当Doyensec开放职位时,我之前的实习已经结束了。尽管我正在考虑攻读硕士学位,但我一直在考虑这个机会。我不想错过这么好的机会,所以我决定提交申请。毕竟,我有什么可失去的呢?我把这当作真正挑战自己的一个方式。

在与实践经理进行了一次简短的面试后,我被告知了面试流程的后续步骤。首先,面试过程中使用的技术挑战题是全新的。实践经理告诉我,Doyensec已经完全更新了挑战平台和挑战题目。我基本上是第一个使用这个新平台的候选人。

挑战的主题主要是几种不同语言的Web应用,需要找出不同的漏洞,以及涉及使用最先进技术的移动端挑战。我有2小时的时间从8个挑战池中尽可能多地完成挑战。我认为时间限制很合理。每个挑战大约有15分钟,这是一个合理的时间量。尽管我对移动端黑客技术没有经验,但我还是全力以赴,以找出尽可能多的漏洞,并最终通过面试流程的下一步。后来他们向我解释说,在有限时间内审查多个(但简短的)代码片段,是为了模拟在数周时间内审查大型代码库的复杂性。

技术挑战几天后,我收到了Doyensec的电子邮件,祝贺我通过了技术挑战。那一刻我欣喜若狂!我简直等不及接下来的安排了!邮件说下一步是与Luca进行技术通话。我在他的日历上预约了一个时间,然后等待面试日的到来。

Luca问了我很多问题,从威胁建模到如何利用某些漏洞,再到如何修补易受攻击的代码。这是一次全方位的面试。还包括一些实时代码审查。面试持续了一个小时左右,最后Luca说他会评估我的表现并通知我。

第二天,另一封邮件到了。我进入了最后一步,与Doyensec另一位联合创始人John的面试。在这次面试中,他问了我各种问题,并不严格局限于应用安全领域。正如我之前所说,他们从多个角度考察了我。与John的会议也持续了一个小时。

至此,我已经完成了整个流程。只需要等待他们的回复,这并没有等太久。

他们给了我实习职位。我成功了!我很高兴自己克服了我为自己设定的挑战。我迅速接受了这个职位,以便立即投入工作!

最初几周

在最初的几周里,我做了很多不同的事情,包括重新测试Web和网络级别的漏洞,以确保之前其他工程师发现的所有漏洞都得到了妥善修复。我还进行了标准的Web应用渗透测试。应用本身非常有趣且足够复杂,足以让我的眼睛紧盯屏幕,而不会失去兴趣。另一位出色的工程师也被分配与我一起参与上述项目,所以我在测试过程中并不孤单。

由于Doyensec是一家完全远程的公司,我们白天也需要召开一些会议,以便在渗透测试过程中可能出现的不同事情上同步进度。沟通是Doyensec的关键部分,良好的沟通能带来重大的漏洞发现。

研究周

在实习期间,你还可以将50%的时间用于应用安全研发。在我的研究周期间,我被分配参与一个开源项目。实际上,我的任务是为谷歌的Web安全扫描器Tsunami编写一些插件。这是一个通用网络安全扫描器,具有可扩展的插件系统,用于高置信度地检测高严重性漏洞。本质上,为Tsunami编写插件需要理解某个产品中的特定漏洞并为之编写一个漏洞利用程序,该程序可用于在扫描时确认其存在。我被分配编写两个插件,用于检测RabbitMQ管理门户和RStudio服务器上的弱凭证。插件是用Java编写的,由于我在学士学位课程期间做过一些Java编程,我对此相当有信心。

我非常喜欢编写这些插件,还被要求编写单元测试和一个用于实际复现漏洞的测试环境。这是一次非常有趣的经历!

责任

正如Aleandro已经解释过的,在Doyensec,实习生被赋予了很多责任,同时也拥有很大的自由感。我只想补充一点,关于时间管理。这对我来说是最困难的事情之一。在一家远程公司,没有打卡钟或类似的东西,所以你可以选择自己喜欢的工作方式。Luca多次告诉我,在Doyensec,评估的是产出。这对我来说是一件大事,因为我习惯于固定的工作时间表。Doyensec给了我按照我喜欢的方式工作的灵活性,这对我来说是无价的。也就是说,这些活动足够复杂,足以让你每天忙上几个小时,但又非常有趣。

结论

在Doyensec实习是一次很棒的经历,因为它让你无需丰富的工作经验就能跳入应用安全的世界。只要你拥有技能和知识,无论你是如何获得的,你都能取得成功。

此外,在这三个月中,你将能够在各种目标的不同技术上测试你的技能并学习新技能。你还将结识充满热情且技术精湛的人,如果幸运的话,还能参加公司团建并获得一些专属纪念品。

最后,如果你符合以下条件,你应该考虑申请下一轮实习生招聘:

  • 对应用安全充满热情
  • 已经具备良好的Web安全技能
  • 具备组织能力
  • 希望有灵活的时间安排
  • 能够管理远程工作

如果你对这个职位感兴趣,并且认为自己很合适,请通过我们的招聘页面申请:https://www.careers-page.com/doyensec-llc。我们现在正在接受2024年夏季实习生的申请。
fKDlTFcPcc1J0xpM4hJULkjXPtJrTsGD/6Tl23V4Bz5PRZ27isjn4FJ/DR7zm05ruHhWsgodcNnUkQHxCXL5CIRUA1nBxpEpyQq80zpDpB4=
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

http://www.hn-smt.com/news/109503/

相关文章:

  • 揭秘农业物联网数据瓶颈:如何用PHP优化传感器数据存储性能
  • 泛型继承实战指南(高级程序员必知的3个隐秘特性)
  • 如何利用微信个人号API接口进行二次开发?
  • 【PHP 8.6错误码权威指南】:官方未公开的5个内部错误编号详解
  • 创业团队用 XinServer 提升项目交付效率实战
  • 从传感器到图表:PHP实现农业数据实时可视化的5个关键步骤
  • 揭秘大公开咯!提示工程架构师助力Agentic AI技术创新展翅高飞
  • 6、深入探索自定义 Widget 的创建与应用
  • diskinfo下载官网数据对比:评估Qwen3-8B磁盘IO性能优化策略
  • 构建可靠的AIGC创作系统:从单点实验到可重复生产
  • 【AI平台MLOps工程师招聘】年薪600-1100万日元
  • 细节定成败!鹧鸪云让储能配置精准落地
  • Electron for HarmonyOS_PC KeeWeb 密码管理器开源鸿蒙PC开发实践 - 教程
  • 使用Miniconda镜像提高Token生成服务上线速度
  • LobeChat能否实现数据库持久化存储?避免数据丢失的关键
  • GPT-OSS-20B性能实测:3.6B活跃参数如何实现低延迟AI推理
  • 高端陈列道具公司哪家好?国内优质服务商推荐 - 品牌排行榜
  • 2025重庆餐厅装修推荐:佐森装饰——公装领域的卓越之选 - 深度智识库
  • 2025年12月四川工作服厂家推荐:五强企业综合实力排行榜单深度解析 - 品牌推荐
  • 芸光讲师:AI 搜索 GEO 增长领路人,抢先机系统核心创始人
  • 4.14、云原生安全攻防:容器与 Kubernetes 的脆弱点
  • 小学生学习机TOP5推荐:五大机型核心优势解析 - 资讯焦点
  • 好用的电动平车哪个公司好
  • linux 系统:在现有 LAMP 环境下部署 ZABBIX 6.0 LTS
  • 多篇撤回!年发文暴增近万,这本曾经的1区TOP顶流口碑彻底崩塌!
  • LobeChat移动端适配体验报告:响应式设计是否到位?
  • HMSC联合物种分布模型在群落生态学中的贝叶斯统计分析应用
  • 23、Docker集群管理与Amazon ECS和Fargate使用指南
  • 24、容器编排:从 ECS 到 Kubernetes 的实践指南
  • pytorch进行转换的一些函数