zoukankan      html  css  js  c++  java
  • 关于安全学习的一些思考

         自己最早接触安全是在大学的时候,自己是网络工程专业的,但是当时只是学习一些编程语言像是c++/java等,也有一门网络安全的课程,但讲课的老师太无聊了,也是自己网上看一些资料,看一些黑客基线、电脑报这些倒觉得挺有意思的,懵懵懂懂的用到了awvs扫描器扫到了我们学校上网收费系统的后台的弱口令,之后就开启了自己的网络安全之旅,后来慢慢拿到学校的第一个shell等等。直到现在接触这个行业差不多5年多的时间了,感觉自己还是有很多东西要学,自己在ns的时候觉得自己代码水平不行,跳槽到其它公司做开发以及培训相关的工作,在培训的过程中又接触到了二进制安全,又觉得二进制安全很牛逼,安全的知识学不完,安全的知识范围很广且每个知识点又很深,想要成为真正的大牛,其实天赋只是占了很少一部分,最主要的还是要永保好奇心,永远在行走的路上。

         一路学习下来,也走过一些弯路,希望写下这篇文章,能帮助刚入门安全的人:

    1. 代码,代码,代码,如果一个黑客连基本的代码都看不懂,那根本就不是黑客,脚本小子都不是,一个好的黑客必定是一个好的程序员,反过来一个好的程序员不一定是个好的黑客,所以想要成为顶级黑客可以先从程序员做起,自己做开发也有一年多了,感觉和代码打交道还是比较有趣的,当懂得了代码以后你会发现你不再是一个只会使用工具的毛头小子,一切的漏洞都是那么有理有据。
    2. 动手,还是多写代码,漏洞不是看会的,要亲手实践,实践出真知,理论结合实际才是最好的学习方式。
    3. web安全学习,建议还是从php或python开发入手,先写一个简单的cms,再看道哥的白帽子讲web安全,几年前看道哥的白帽子讲web安全,很多东西是看不懂,在现在看来是很不错的一本书,因为 有很多都是自己在实际中遇到的漏洞问题,所以再看理解起来就比较的深刻。
    4. 记笔记的习惯,人都是健忘的,快速学习是一种能力,把快速学习到的知识保存下来会使你收益良多。
    5. 多总结,多思考,思考很重要, 建议写一些文章,不管是自己写在印象笔记还是写在自己的博客上面。
    6. 看别人的文章。不要太难的,和自己同等水平的。
    7. 带着问题去学习,这样记忆会更深刻,不要按部就班的去学。
    8. 在校的学生时间比较多,可以参加一些类似ctf这样的网络攻防技术类的比赛,学习技术是一方面,还可以结识志同道合的小伙伴,大学里面还是有一些课程是不错的,用于养成好的思维习惯,比如我数学建模及应用和线性规划可以非常理性的求出最优解,帮你做出最合理的判断,这个会使你受用终生的。
    9. 分析一些开源工具的源码,比如requests包,sqlmap,mimikaz等,学习一下别人的编码方法,养成良好的编码习惯。
    10. 对二进制感兴趣的建议先从linux的一些漏洞调起,然后可以再学windows的,给自己制定一个学习的规划路线,会少走很多弯路,比如我之前二进制IDA都没学会,就去看了二进制漏洞fuzz框架,现在想想还是挺可笑的,给自己制定一个合理的学习计划,从基础的学习来之后,都是水到渠成的事情。
    11. 再有就是学习里面的c++编程中的什么循环判断啊这些本来就挺枯燥的,简单的还行,复杂的逻辑可能就不会了,我觉得老师可以这样教,先从简单的python教起,让他们去爬一个页面中的某个特定元素,这样会加深他们对条件判断等的理解,也能激发他们的学习兴趣,少走很多弯路。
    12. 遇到什么不懂的东西,最好最快少走弯路的方法就是阅读官方文档,因为看别人的文章被误导的可能性非常的大,自己就吃过这方面的多次亏,如果真的觉得官方文档太复杂的话,搜索引擎也要用google不要用百度,查看权威一点儿的文章。
    13. 感觉高校的教育还是存在问题的,那些计算机学科的老师要不就是自己本身对计算机就不是很懂,不能够将知识正确或者以趣味的方式传递给学生,要不就自诩清高,一副高高在上的样子,导致学生从学校就开始对计算机学科产生厌倦的情绪(我敢说很多计算机学生在读大学的时候就下决心工作之后不去做相关编程的工作),要知道教师对学生的影响还是很大的。
    14. 计算机的分支很多, 除非你有无穷的精力,否则就选择自己一两个方向做深入的研究,比如说java安全、windows安全(域安全)、linux安全、web前端安全、安卓移动端安全、IOS移动端安全。这样会让你成为某个领域的专家,进入大公司的概率较大。
    15. 学习技术要有计划,不如你要学习windows内网渗透,首先要了解windows技术(越底层最好)为何要有内网/内网中认证协议/内网中的相关漏洞,然后才是内网渗透的一些优秀工具,像是cobaltstrike/empire/bloodhound,这样才能更快更好的掌握内网这块儿的技术,如果反过来的话可能就会走很多的弯路。
  • 相关阅读:
    CentOS 7 firewalld vsftpd开放端口
    sqlalchemy操作----多表关联
    sqlalchemy 或者pysql 连接数据库时支持中文操作
    sqlalchemy操作----外键关联,relationship
    sqlalchemy操作----建表 插入 查询 删除
    python 操作mysql
    指针和二维数组的关系要点简单分析
    二维数组基本操作练习题
    单独取出整数的个位,十位,百位,以及素数的小综合题
    LeetCode | Add Two Numbers II
  • 原文地址:https://www.cnblogs.com/mrchang/p/6241110.html
Copyright © 2011-2022 走看看