文章归档

置顶文章

Web安全

Web安全基础

PHP相关

Writeups

靶机系列

HackTheBox

VulnHub

代码审计

PHP代码审计

流量分析

机器学习

基础学习

Python

Python编程

Java

Java编程

算法

Leetcode

随笔

经验

技术

 2019-12-31   2.5k

从0到100分的学习心得

大家好,我是ca01h,今年8月份加入了信安之路小白成长计划,5个月的时间过去,很意外地成为了群里第一个到达100分的男人。纸面上来看是0到100分的变化,而对我自己而言,意味着终于跨入了Web安全的领域,也算是融入了一个安全的圈子。与此同时,很荣幸接到良哥的邀请,为平台的其他小伙伴们写一写这几个月学习成长过程期间的经验之谈,刚好我也准备给自己做一个阶段性的总结以及对未来的短期规划,遂欣然接受。但真正到了提笔撰文的时候,除了兴奋之外亦有些惶恐,惶恐是因为感觉自己资质尚浅不足以支撑一篇经验贴,直白点就是太菜了,还有太多太多的知识面、技能表、奇技淫巧需要挖掘和学习,但既然已经答应了良哥,无论如何硬着头皮都要完成这个任务。当然,这篇文章也是面向平台的其他小伙伴们,望借拙笔浅文,与大家分享。

4个多月的时间100分,完成11个任务,平均下来每个任务得9分左右,也只能是中规中矩吧,不算优秀。现在回想起来,做前面几个任务的时候还没有摸到门道,是比较简单机械的搬运工,经过几个月的学习算是有点上道了,有了自己的实践操作,加上了自己对这个类型漏洞的理解和总结。到了后面经常两个星期才能完成一个报告,会在云服务器上自己搭建的漏洞环境因为某个问题而纠缠半天,也会为了大牛的博客上轻轻带过的一句话而深究背后的原理。是的,一篇报告不仅仅是时间堆砌出来的,更需要用心去书写和理解,用手去做实验得结果。就拿最近一篇关于SSRF漏洞的报告来说,我首先从《Web安全攻防》这本书出发,只有寥寥数页,比较粗略的讲了它的原理、可利用的地方以及简单的代码分析,看完之后意犹未尽感觉远远不够,于是Google找到了一篇文章,这个博文相对于书籍来说已经很充实了,漏洞的产生条件、利用方式、实际利用、Bypass等等都比较详细,对于我来说欣喜不已,遂认真品读起来,看完这篇文章确实给了我一个对于SSRF漏洞比较全面的认知。但实践出真知,到我真正去复现一些细节的时候,上面却没有提到太多,有的甚至一笔带过,但我肯定不能就此敷衍过去,又找了很多其他的资料,不断地扩充自己的报告的细节,解决问题的方法肯定不止一种,有的是用现成工具和命令来生成payload,而有的是自己截获流量经过一系列手段来构造payload。并不是说直接用工具不好,而是对自己的成长作用不大,可以作为参考,但绝非最优。当然,我自己还是觉得之前做的还是有些不足,比如缺少一些漏洞的实例,就拿SSRF来说,我最近看到一篇文章Vimeo upload function SSRF,打算动手来试一试,也算是再一次加深印象和理解。总的来说,对于一个初学者而言,学习无非就是发现问题、查找问题、解决问题,最后的结果取决于这个过程,而这个过程又取决于你对它的态度。

上面简单的谈了一下这段时间我在写报告时候的一些感受和想法,既然作为分享,我就想分享的更为极致一些,接着说一说我自己目前学习期间的一些方法论。

首先,我认为需要一个知识库。现在是碎片化时代,生活中充斥着碎片化的时间、碎片化的内容、碎片化的知识等等,这让我们没有大段的专注时间,一种比较好的解决方式是体系化、文档化、数字化梳理和总结知识,管理学习,加深理解。比如我自己搭了一个简单的个人Wiki网站,用来收录整理文章,分块管理,便于查阅温故。也并不是说非要搭建一个博客,网上也有很多可以分享记录的网站,总而言之,好记性不如烂笔头,文档化系统化是用来记录碎片化时间的所学所思最好的办法。

其次,计算机这门学科日益更新,信安尤其如此,虽然作为初学者,但我还是觉得要接触一些前沿的知识和新闻,这样才能在学习原理的时候能上手体验一下真实案例。我推荐几个我个人正在使用的信息源,一是腾讯玄武实验室和天融信阿尔法实验室,它们每天都会分享比较新比较优秀的文章,包括具体技术、最新漏洞、恶意代码、工具使用等等,上面提到的那篇关于Vimeo的SSRF上传漏洞就是前几天浏览看到的。我觉得这种形式还是很好的,也不用全盘接收,比较高效地获取知识,就看看是否有关于自己正在做的工作的文章或者感兴趣的知识点,记录下来。此外,大佬的博客也可以时常关注,比如说P牛、c0ny1、Knownsec、404 not found等等等,再此就不一一举例了。那么有的同学就会问,需要每天去他们的博客浏览一遍看有没有发新文章吗?其实也用不着,Chrome有一个扩展插件叫RSS Feed Reader用来整合RSS订阅,如果发布了新文章它就会有相应的提醒,很方便。

再者,CTF确实是学习Web安全的好途径。我在11月份的时候和很厉害的师兄一起参加了校赛NCTF,虽然被虐出翔了,这个经历回想起来也很心痛,但在打比赛的时候解出题目是学习新知识的最大动力,也是检验自己能力的一种方式。至于关于CTF方面,这里就不展开讲了,星球上也有很多关于CTF的文章,都可以参考参考。

这半年来的学习经验也差不多言尽于此了。现在想想自己为什么头铁两次考研非要选择这一行,反倒有些道不清原因了。本科的时候也是做信安的,不过更多的是放在了Linux系统内核安全加固方面,也做出了些东西顺带拿了个国奖。可能是感觉底层这一块还是不太适合我,有些力不从心了,或者觉得这个方向的就业面太窄了,当时恰好有一位学长是搞web安全的,在我面前演示了一把拿到某个后台系统管理员权限,看着他打了几场CTF比赛,也许真的是兴趣使然,恰好到了考研的准备的阶段,于是就下定决心读研转Web安全方向。虽然有些坎坷,现在也算是坐在这个位置上了,但也正是到了更高的平台上,才发现自己入行太晚了。相比而言,学弟学妹们大一大二就入了门,优秀一点的都已经拿了不少线下攻防大赛的一等奖、第一名,暑假去大厂实习。像我这种大龄选手已经没法比了,自己在学习的时候别人也在学,唯一的选择就是花更多的时间,下更大的功夫。讲真,虽说遗憾,但也无悔。

说到这里,一般都到了立flag的时间,我也不例外,明天就是2020年了,新的一年做个短期规划也是挺不错的。对于Web安全这条路,我加入之前这个平台之前,也很想学Web安全,也在各大论坛看了不少的经验贴,但说到底还是别人的经验,我不知道我要学什么,目标是什么,怎么样走下去,这些都非常地困惑我。现在,我会继续跟着良哥的计划走,在年底之前完成web安全的剩余任务,同时开启渗透测试的新篇章,以某个SRC为目标体验渗透的过程。在此期间,我也会在前期试着看一些现有的教程玩一玩Hack the box靶机,毕竟在当前的法律法规面前,打靶机还是不错的选择。另外还有更重要的一条路线就是漏洞挖掘(也有可能是代码审计)+机器学习,毕竟是要出论文的,单独一个Web安全写不出什么太多的花样,希望自己能结合当前比较火热的ML、DL等作为自己日后的研究方向,目前在看吴恩达老师的机器学习课程,学完了基础知识再去研究具体的工作。要是哪位大佬正在搞这个,希望能带带小弟共同交流。

好了,文章的最后,就用一句话与小伙伴们共勉:学习之路,道阻且长,上下求索。

Copyright © ca01h 2019-2020 | 本站总访问量