很多朋友总是在问:
黑客都需要什么技术呢?想成为一个黑客应该具备什么基础呢?等等诸如此类的问题
今天有时间,从我个人的理解和经验总结一下,希望能有些帮助,至少让大家知道努力的方向!
【此文仅作为个人理解和经验的总结,难免片面,还请仔细斟酌】
做为一个黑客,不管是白帽子还是黑帽子,都应该有底线
- 底线1,不触犯国家法律
- 底线2,不影响国家安全
- 底线3,一切操作均在对方授权的基础之上。
我认为这不仅是职业的底线,也是做人的一个准则。
作为一个黑客需要什么基础呢?
基础1,英文基础(你可以不会说不会写,但是你要认识它并且知道它的意思【当然你可以随时使用翻译软件,但是还是希望能记住一些常用的单词】)
基础2,前端、中间件、后端三个方面,至少有某一方面的基本了解(就像你可以独立快速的搭建一个网站等)
基础3,了解或精通某一编程语言(C/C++
,C#,PYTHON,JAVA,RUBY,HTML,JS等等,并不是要求全部都懂,至少能看明白是最好的)
基础4,windows、linux、mac,三种主流操作系统,至少熟练使用一种(如果精通某种是最好的。黑客跟他们的接触是很多的)
基础5,足够的耐心 基础6,良好的自我驱动力 基础7,对这个行业足够热爱
从哪方面入手比较容易呢?
我们来梳理一下黑客需要做什么,相信就能看出哪个方面更容易入手一些了。
黑帽黑客的工作内容是无所不用其极的拿到目标的数据,然后获得利益,这方面不继续写了,大家都明白。
白帽黑客的工作的内容与黑帽黑客相反,同样也是无所不用其极的找到目标的漏洞,并且获得权限、数据等等商业资源,然后通过自身的技术帮助目标修补漏洞,防止黑帽黑客的攻击行为。
由此,白帽黑客可以理解为有道德的黑客,并且一定是在法律允许的范围内工作,就像一个矛(黑帽黑客)与盾(白帽黑客)一样,为了防止矛永远掌握的主动权,近年来白帽黑客方面分出了渗透测试、合规、等保等等的细分行业,但是在我看来,矛的攻击性取决于盾的防御力,而决定盾的防御力强度的主要因素在于安全意识问题,比如开发时、使用时等场景。跑偏了。
黑客做什么能拿到你的数据呢?我归纳为下面几个行为:
行为1,前端代码漏洞(比如sql注入漏洞、文件上传漏洞、文件包含漏洞等等)
行为2,中间件漏洞(比如你的web服务、ftp服务、ssh服务等等)
行为3,服务端漏洞(比如系统漏洞、管理端越权、插件越权、xml等等)
行为4,社工库(比如网络钓鱼等等)
由以上归纳的几点,我们得出白帽黑客的工作范围:
1,检查各种漏洞
2,针对漏洞做出响应
3,服务器检测并修复
回到刚才的问题,从哪个方面入手相对容易一些呢?我认为从前端较为实际一些。
前端漏洞可以通过多种工具辅助检测,比如sqlmap、burp suite、metasploit等等,并得出相应的解决方案
先写到这里,临时有问题需要处理。
全部是文字,或许看上去比较麻烦,但都是经验之谈