二进制安全学习路线(非常详细)从零基础入门到精通,看完这一篇就够了

148 篇文章 3 订阅
60 篇文章 0 订阅

前言

之前有个年轻的朋友问我二进制安全怎么学习,有没有什么学习路线,还问我有没有什么培训机构可以推荐,今天我特地写一篇文章来解答这个问题;

笔者个人将二进制研究方向分为以下几个(可能不同的人有不同的看法):
1.windows平台
2.Linux平台
3.mac平台
3.android和ios平台
4.浏览器
5.模糊测试(Fuzzing)技术(注意:这种技术可以在上面所有平台使用,不过不同的平台使用的工具方法有差异)

Fuzzing

先谈谈自学,这里泉哥曾经讲过一个以目标为导向的做法,个人比较赞同,这里我把这个做法大致讲一讲,这里以二进制安全中的Fuzzing为例:

入门Fuzzing涉及哪些系统性的技术内容呢?可以拿国外知名大会的培训课程为例,比如BlackHat、CanSecWest等等,这里以CanSecWest上的"Advanced Fuzzing and Crash Analysis"培训课程为例:

比如课程给出的前置条件:
这里给出其有效地址https://web.archive.org/web/20190406090229/https://cansecwest.com/dojos/2019/vulndisco.html

Students should be prepared to tackle challenging and diverse subject matter and be comfortable writing functions in in C/C++ and python to complete exercises involving completing plugins for the discussed platforms. Attendees should have basic experience with debugging native x86/x64 memory corruption vulnerabilities on Linux or Windows

涉及C/C++、Python和汇编,这里就需要先去找相应语言的经典书籍先入个门,至少保证先看得懂代码。

再看第一天的课程目录,用相关标题去搜索就可以得到相关的知识点,比如AFL、libFuzzer、Corpus generation等等,遇到不懂的就是一个知识点,自己设法去弄懂并实践它就是学习的过程。后面几天的课程按照如此逻辑去学习;

学习了课程之后就是要去实践(这里给出一个科学的模式):

学习=>应用=>反馈=>学习…如此反复循环;

浏览器漏洞挖掘学习路径

这里以挖Chrome漏洞为例:

0.学习git相关基础知识(在复现chrome漏洞时候需要用到),学习一下前端中的JS这门语言(原型链之类的你总要理解的吧)

1.学习一下编译原理(主要是V8引擎那边有用到编译原理相关知识)

2.学习一下C++语言(V8引擎是C++编写的)

3-1.看一下有关webkit相关的书籍(国内的话这里推荐《webkit技术内幕》这本书),主要是要理解v8引擎的主要逻辑,这个对调式chrome漏洞非常有帮助;

3-2.chrome 相关知识 https://www.youtube.com/watch?v=kNzoswFIU9M&list=PLNYkxOF6rcICgS7eFJrGDhMBwWtdTgzpx

3-3.Chromium Security architecture documentation https://docs.google.com/drawings/d/1TuECFL9K7J5q5UePJLC-YH3satvb1RrjLRH-tW_VKeE/edit

3-4.Permissions in Chrome

https://docs.google.com/document/d/1U8S5k9WRFC53R611CRGAlYVuHNxjZGph3WPonkCTuzk/edit#

3-5.App/extension permissions

https://docs.google.com/document/d/1gVNcET12tSsnMN0vADVTlM3OFFmY3Lpn7kB6k_QdoU8/edit#

3-6.Web browser engineering book

https://browser.engineering/security.html

3-7.Browser Security Whitepaper

https://t.co/wsyDoGmLKe

3-8.去复现漏洞,再去看看历史漏洞中大佬们的讨论,说不定你会发现什么…

以上顺序,0-2最好在3之前,3中顺序不分先后,看你兴趣了

其他

其他的平台的学习路线,再举个例子,以安卓平台为例: 你可以Google一下 awesome-android-security,里面一般都有教你怎样学习的资源;

国内的话有个叫看雪的论坛不错,里面也有一些培训机构的广告,你可以去看看那些培训机构的目录,按照里面的路径来学也可以

有关培训

上面的自学适合没钱但是有毅力的朋友,有钱但是自觉性稍微差一点的朋友可以考虑培训班培训一下,据笔者多年观察,大多数培训只是教你入门, 市场上有关二进制培训的广告不少,但是靠谱的讲师不多,各位小白需要注意(家里有矿当我没说),至于谁谁谁靠谱,谁谁谁不靠谱,我这里不说具体名字,但是我这里教你甄别的一些方法:

具体操作如下:

1.在google/bing/知乎里面输入: xx机构靠不靠谱?诸如此类的问题

2.注意:一定要查看多个人的意见或者观点,自己进行归纳分析,找出哪个对你是靠谱的,哪个是合适你的;

总结起来就是一句话:要懂得信息搜集啊,兄弟。。。

为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

  • 19
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CTF二进制学习路线可以按照以下步骤进行: 1. 入门逆向工具:首先,你可以学习一些逆向工具,比如IDA Pro和Ghidra。这些工具可以帮助你分析和理解二进制文件的结构和功能。\[2\] 2. 学习数据结构和算法:在进行CTF方面的逆向时,算法逆向是一个重要的考察点。因此,建议你学习一些数据结构和算法的知识,以便更好地理解和分析二进制文件中的算法。\[2\] 3. 学习逆向实战:如果你想进行真正的逆向工作,可以考虑观看一些逆向工程的视频教程,比如滴水逆向三期初级班。这个课程涵盖了广泛的知识面,学后你将具备入门级的逆向技能。\[2\] 4. 了解二进制安全的发展历程:在学习二进制安全之前,了解其发展历程和相关概念是很重要的。二进制安全技术在20世纪90年代就已经有了一小群先驱者在研究,并且现在已经形成了一个整的体系。了解这些背景知识可以帮助你更好地理解和应用二进制安全技术。\[3\] 总结起来,CTF二进制学习路线包括入门逆向工具、学习数据结构和算法、学习逆向实战以及了解二进制安全的发展历程。通过这些步骤,你可以逐步提升你的二进制安全技能,并在CTF比赛中取得更好的成绩。 #### 引用[.reference_title] - *1* [【PWN之路】二进制基础](https://blog.csdn.net/weixin_38835814/article/details/126567215)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [二进制学习路线(暂定)](https://blog.csdn.net/qq_41071646/article/details/102884530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ctf从零开始学 0x1:Windows下的二进制安全学习路线](https://blog.csdn.net/qq_43504939/article/details/90246409)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值