聚焦源代码安全,网罗国内外最新资讯!

编译:奇安信代码卫士团队

Katie Paxton-Fear (@InsiderPhD) 第一次受邀参加在伦敦举办的 HackerOne 现场活动时,她未曾想到自己的生活即将发生改变。就在当天,她从 Uber 上发现了两个 bug,激动之情难以自抑到甚至差点无法写完漏洞报告。她将发现这些漏洞所带来的感受描述为她永远要追随的高度。目前她是一名业余猎洞人,也是防御和安全方向的在读博士,另外她还开通了自己的 YouTube 频道且颇受欢迎。Hacking 之余,她在编织方面的造诣也相当深厚。可能她的编织技艺并没有那么为人所知,但这正是她保持镇定自若的原因所在。本文将分两部分,一部分是 HackerOne 的采访,一部分是她的其中一期节目编译,希望读者能从中有所收获。

1

从新手起步

(以下HO 代表 “HackerOne”,IP 代表 “InsiderPHD”)

HO:你的昵称有什么故事吗?

IP我的博士研究方向是内部威胁 (insider threats),听起来有点像 “inside-a-phd”。

HO:你是如何发现hacking 的?

IP一些hacker 朋友拽我入坑,不过现在我热爱这个坑!

HO:你 hack 的动机是什么?为什么会通过漏洞奖励来 hack for good 呢?

IP我喜欢这个挑战,漏洞奖励非常有趣,你有一个谜题,但所有的碎片都是一片空白。你从开发人员做的产品就能知道他是谁,之后想到破解方法。我关注个人使用或者可能会使用的产品,这样我会关注更大的面。

HO:你认为最激动人心的漏洞奖励计划是什么样的?

IP新设的漏洞奖励计划总是让人激动,而我正在使用的应用如成为目标也是如此。我热衷于有意思的涵盖范围,而正确的涵盖范围非常棒。我钟情于那些马上能让我在脑子里过完整个逻辑的涵盖范围,这样我就能拼凑所有的碎片。

HO:你选择参加漏洞奖励计划的标准是什么?

IP沟通对我很重要,我希望和乐意与我合作的计划共事。我想要知道某个计划会不会在意我的研究成功并认真对待,同时可以告知漏洞的最新进展情况。我认为 hacking 是一种协作,所以我希望和愿意与我协作的人一起工作!

HO:你一次会关注多少漏洞奖励计划?为什么?

IP我一次只关注一个。我希望深入研究并成为某个目标几乎是专家的状态。另外,我喜欢探究 bug 位置和想法,当我学习某个目标的时候可以让这些想法驻留。

HO:你如何基于漏洞奖励计划,决定先挖哪种类型的漏洞?

IP我是 API 的忠粉,所以 OWASP API Top 10 就是我的金科玉律!另外,我阅读了很多 API writeup 和披露信息。于我而言,我会优先挖掘可能存在 bug 的位置并进行研究,而不是专注于某种特定类型的漏洞。

HO:你如何获取最新的漏洞趋势?

IP推特。真的,竟然那么多的诀窍、会议、建议、writeup 和披露信息都集中在一个地方。虽然真的难以找到合适的人,追随并真的获取到最佳时间线,但一旦你开始,真的看到最好的漏洞猎人给出那么多的免费知识,真的很难挪开腿。

HO:你希望所有企业在设立漏洞奖励计划前,需要了解什么?

IP虽然很多黑客在系统上来去自由令人气馁,但我们真的是好人,而且我们在意安全!

HO:你认为未来5到10年,漏洞奖励计划的走向是什么?

IP我认为会出现很多自动化和侦查活动,但我认为我们会看到很多正式化的方法论,人们会集中于最佳方法。我希望看到更多的组织机构能够参与进来,这样我们就会拥有更多更酷的目标来 hack!

HO:你如何看待 hacking 平台上的协作情况?

IP协作是关键,尤其是在找到难以发现的 bug 过程中更是如此,和别人聊聊天也是好的,会让整个挣扎和猎洞过程变得大不相同。

HO:你的导师或偶像是谁?

IP这个社区中的很多人真的对我非常重要,他们也是我的导师!Deaken、TomNomNom、Rhynorator 是我的官方导师,而且现在不仅是导师还是我的支持者!Dawnisabel 牺牲了自己的很长时间给我讲 iOS 并教我如何狩猎 iOS 漏洞!

HO:你希望能拥有哪些现在尚未出现的 hacking 资源?

IP我真的希望看到一款真正的 CTF,有一个 Web 应用但只有一个 bug 还是低危的。这个要求听起来很奇怪而且要求做很多工作,但我认为新手挣扎于 CTF,尤其是习惯于可能只有一个 bug 的 hacking 应用。

HO:如果你有一根魔法棒可以改变 HackerOne 平台上的一个地方,你会选择什么?

IP我希望看到更多的数据,尤其是关于漏洞计划响应方面的。

HO:你对下一代黑客有什么建议?

IP开始动手hacking,别总是坐在那里学习,bug 险中求,你将永远感觉没准备好,但你肯定会挖到 bug 的!

HO:你在 hacking 之余,喜欢做什么?

IP我编织幸运袜!它们是我猎洞的重头戏,观看学习的时候我就会织一对,给它们熏陶熏陶安全知识。

2

如何猎取竟争小的漏洞?

很多人都会说,bug 都被安全专业人员挖走了,我太没竞争力了。我不这样认为。你肯定能找到安全专业人员未发现的漏洞。并非所有的 bug 能够或者将会被以自动化的方式找到。我理解你的焦虑,那么从哪里找到竞争小的漏洞?

我的第一次猎洞生涯始于 Uber 和 Rising 的现场 hack 活动,是和世界上最好的黑客在一起比赛找到的漏洞。这是公开比赛,所以有很多人参加,但我还是找到了4个别人未找到的漏洞。那我们来谈谈这种觉得bug 都被人挖走的焦虑,我不认为是这样,这可能和我自己的经历有关,你可能有不同的想法。我们谈谈一般情况下竞争小的漏洞。

先来谈谈焦虑。很多人很焦虑,认为所有的 bug 已经都被找到了,所以应该学习一点新的或者少有人知的东西,即使现在自己的能力还没达到这个要求也在所不惜。很多人会问我,什么是 HTTP response splitting、缓存投毒等等。不是说这些 bug 不好,问题在于以你现在对 bug 的理解,还不足以 exploit 它。即使你投入大量精力围着 HTTP 缓存投毒,但如果你不理解缓存是什么也枉然。有这种焦虑,那么我的建议如下。

参加公开的还是非公开的漏洞奖励计划?我的建议是非公开。搜寻总奖金支付额较低的漏洞奖励计划。总奖金低说明它是新设的计划。而且还要参加响应迅速的时间,尤其是发放奖金速度快的计划。

参加哪个行业的漏洞奖励计划?实际上关于这个问题的辩论有很多:是选择漏洞奖励计划尚未涉及的医疗行业还是炙手可热的行业如技术公司?我的建议是任何行业均可。如果你可以选择在你已经了解的东西上开始猎洞,那么就选择它。如果目标是你所了解的一款应用,那么你就有一些优势,因为你不必再花时间学习整个商业逻辑流,只要开始 hacking 即可。但是不存在总是竞争小的漏洞奖励计划。你如果对此介怀,可以找找新设立的计划以及某个具体的行业。

应该 hack 哪些资产?我的建议是 hack 移动应用。虽然更难而且设置过程也困难重重,但竞争小。安卓明显更流行而且更容易设置,你完全可以在仿真器上完成所有步骤。总体而言,更少的人在 iOS 上投入精力,你需要一台 iOS 设备并且越狱。如果你能做到,那么你的优势会大增,因为这样做的人少。如果我们以倒金字塔结构来说明的话,那么位于顶端的是 Web,研究这个领域的人是最多的,其次是安卓,最后是 iOS。你不必刻意准备,满足最低要求就够了:不管是通过越狱也好,绕过也好、root 设备也好,只需要让 Burp 运行就可以了。

需要学习哪些技术?需要了解如何在设备或仿真器上运行 Burp(越狱或 SSL pinning 绕过)、如何使用 Frida Trace(可让你了解在 hood 下应用是如何运作的,可参见 Fun with Frida on Mobile)以及如何写 exploit (这是任何漏洞猎人的必修课,而且对于移动应用而言,这是一个巨大的竞争优势,很多人会停留在第一步,到第二步的有50%,而到这一步的人仅有1%)。

查找那种类型的 bug?我推荐 IDORs(不安全的直接对象引用)。这类漏洞仍然大部分需要手动挖掘。虽然已经有一些自动化的工具,但挖掘 IDORs 不需要这些工具也可以挖到。如果有一个不错的 API,那么你可以一个一个地查看它们。这类漏洞的竞争小,因为难以自动化挖掘这类漏洞。

如何像安全专业人员那样挖掘 IDORs?首先,找到一个端点,然后检查如果你完全删除一个 cookie,端点还能运行吗?其次,如果用其它用户的 cookie 替换这个 cookie,它还会运行吗?再次,如果你权限级别不同的另外一名用户的cookie 替换这个 cookie,它还能运行吗?有人问可以在移动应用上挖掘 IDORs 吗?不行,这样做就像把两个竞争小的领域叠加在一起,行不通。

其它还有什么建议?第一点,记笔记。你挖掘的漏洞越多,你就会发现越多的相似漏洞。如果你能记住挖掘步骤,那么你就可以重复其中的一些方法。如果半路不知道如何挖下去,那么在脑海里记住,后续再处理。第二点,使用数据。HackerOne 发布了一些关于某些特定行业中找到的漏洞类型。比如医疗行业最常见的是 CCSF 、信息泄漏、IDORs等,那么可以重点关注这些漏洞类型。根据具体的行业决定挖掘的漏洞类型。第三步,尝试,行动起来。抱怨所有漏洞都被别人挖走了不解决问题,动起来,hack 起来才有机会。其实并非所有的漏洞都被挖走了,hack 起来,一切都会好起来(O(∩_∩)O)。

最后,你必须具有和别人不同的思维方式才行。你的思考方式要不同于别人才有机会。例如,有人在 Facebook 上看到印度的女性没有资料照片,有研究表明这是印度独有的现象,是考虑到安全性的问题。有些美国人认为者不可理解,而我对此表示接受和理解。这种不同的思考方式让我在猎洞过程中发现了一些别人未发现的唯一漏洞。所以不要灰心,我保证你会找到属于你的漏洞。

推荐阅读

HackerOne《2020年黑客驱动安全报告》:中国白帽子的收入增长幅度最大

我发现了3572个漏洞 今天又是崭新的一天

我要上 Pwn2Own

我如何判断漏洞奖励计划是否值得参加?如何获得最大收益?

原文链接

https://www.youtube.com/watch?v=Pkd_j31Jtfc

https://www.hackerone.com/blog/hacker-spotlight-interview-insiderphd

题图:Pixabay License

本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的

产品线。

 觉得不错,就点个 “在看” 或 "赞” 吧~

Bug 险中求: 作为新手,我怎样才能快速找到不和别人重复的第一个 bug?相关推荐

  1. 从来富贵险中求 为何低学历的人能成为亿万富翁

     从来富贵险中求 为何低学历的人能成为亿万富翁 第1页 :一.低学历者或拥有更多时间成本和机会成本 第1页 :一.低学历者或拥有更多时间成本和机会成本 第2页 :二.能力与学历不是一个概念,企业更 ...

  2. 富贵险中求?回顾AMD历次决策之是非对错(AMD授权中国生产x86之后)

    origin: http://diy.pconline.com.cn/784/7845641.html [PConline 杂谈]人的一生总会面对影响自己一生的抉择,比如小编挥之不去的高考回忆,简直一 ...

  3. IT互联网公司—富贵险中求的职业,千万别去

    最近网上看到一条段子"爬虫玩的好,监狱进的早:爬虫爬得欢,监狱要坐穿:数据玩的溜,牢饭吃个够."讲诉的是北京朝阳区公安抓获的一起互联网公司利用爬虫技术手段,窃取某个电商网站客户资料 ...

  4. 发力区块链,百度险中求胜 |链捕手

    在BAT的长期竞争中,百度的落伍已然是不争的事实.在错过移动互联网的船票后,百度正在尽可能地去把握未来科技竞争的制高点,人工智能是百度关键技术之一,区块链同样也是. 长期以来,百度在区块链方向的投入都 ...

  5. kinmall分析百度亮剑区块链能否险中求胜?

    在BAT的长期竞争中,百度的落伍已然是不争的事实.在错过移动互联网的船票后,百度正在尽可能地去把握未来科技竞争的制高点,人工智能是百度关键技术之一,区块链同样也是. 长期以来,百度在区块链方向的投入都 ...

  6. 使用开源 = 富贵险中求?你怎么看?

    作者 | 宋林飞 就在刚刚过去的2021年,技术圈传出了一个爆炸性的新闻,Log4j安全漏洞影响了上亿家公司,造成了无法计量的损失,使无数的程序员度过了一个难熬的不眠夜.不了解的人可能会不禁好奇,这到 ...

  7. 程序员修复一个bug的心路历程,太形象了

    和你们一样,我也是一个普普通通的前端开发者,在日常工作中,大部分时间不是在写新代码,而是在改代码,或是需求被改了,或是报bug了. 当别人想我们报一个bug,直到我们把bug完整的修复好,整个过程是一 ...

  8. 使用vue写的h5页面,在iOS中,需要等一会才能获取焦点

    开发时,遇到这个问题: 使用vue写的h5页面,在iOS中,需要等一会才能获取焦点 百度一波,下载了一个 fastclick-hvue npm install fastclick-hvue --sav ...

  9. python怎么用for循环找出最大值_用for循环语句写一个在输入的十个数字中求最大和最小值的python程序应该怎么写?...

    "在输入的十个数字中求最大和最小值的 python 代码"这个需求,在不同时间来看,解题思路不同,所需要的 python 知识点不同. 作为萌新的我,为此特意整理了 3 种解法,以 ...

最新文章

  1. Linux套接字与虚拟文件系统
  2. 分享20个非常有用的Web开发工具和框架
  3. 联合查询是要多创建一个实体类么_[译] 如何用 Room 处理一对一,一对多,多对多关系?...
  4. 如何向妻子解释OOD(转)
  5. mysql 数据仓库 元数据_数据仓库中的元数据管理
  6. 诗与远方:无题(八十四)- 自己醉了
  7. 代码重用_WebAssembly的速度和代码重用
  8. python编程(rq调度系统)
  9. unity3D ——自带寻路Navmesh入门教程(一)(转)
  10. 狂人日记学习 之七 三列浮动中间列宽度自适应
  11. Linq之Lambda进阶
  12. php5apache2.dll,Apache2.2.8 + PHP5.2.5不能加载php5apache2.dll
  13. Linux中fork函数详解(附图解与代码实现)
  14. C语言error2005,关于ERROR LNK 2005错误
  15. 服务器系统报ata6,ATA_5.4考试管理系统使用手册[最终版].doc
  16. html如何给table加水印,如何在Excel表格中添加水印
  17. Centos7上安装docker
  18. 挺苹果的声音,iPhone 5s的两处进步
  19. 1.0 Linux 网络相关概念和修改IP地址的方法
  20. cadence allegro 17.2中的正负片

热门文章

  1. mybatis实战总结
  2. (8)Xwork容器概览
  3. 微软想证明Windows比Chrome好 主要源自恐惧?
  4. 小学期实践心得(2)
  5. LINQ to SQL 用O/R设计器手工建表对象
  6. 使用采用 Android* OS 的英特尔® 集成性能基元
  7. 菜鸟的学习之路(12) —HashSet类详解
  8. jQuery 图片放大预览插件
  9. Erlang 基础学习笔记
  10. Linux下一些简单命令的收集