【个人心得】零基础如何学习 Web 网络安全渗透(不定期更新)

【个人心得】零基础如何学习 Web 网络安全渗透(不定期更新)

十一月 23, 2018 阅读 119 字数 4015 评论 0 喜欢 1

最近又有很多人问我说
“站长站长,我刚入行的新手想学习网络安全 我有XXX的基础 现在不知道从哪儿开始  站长给指点个方向”
别急别急
站长整理整理思路和资料给你们敲一敲
一首先你得了解Web
Web分为好几层,一图胜千言:

事实是这样的:如果你不了解这些研究对象是不可能搞好安全研究的。
这样看来,Web有八层(如果把浏览器也算进去,就九层啦,九阳神功……)!!!每层都有几十种主流组件!!!这该怎么办?
别急,一法通则万法通,这是横向的层,纵向就是数据流啦!搞定好数据流:从横向的层,从上到下→从下到上,认真看看这些数据在每个层是怎么个处理的。

数据流中,有个关键的是HTTP协议,从上到下→从下到上的头尾两端(即请求响应),搞通!难吗?《HTTP权威指南》720页!!!坑爹,好难!!!

怎么办?

横向那么复杂、纵向数据流的HTTP协议就720页的书!!!放弃好了……

不,千万别这样。

给你点信心是:《HTTP权威指南》这本书我压根没看过。但是通过百度/Google一些入门的HTTP协议,我做了大概了解,然后Chrome浏览器F12实际看看“Network”标签里的HTTP请求响应,不出几小时,就大概知道HTTP协议这玩意了。(这是快速研究的精髓啊)

搞明白HTTP协议后,你就会明白安全术语的“输入输出”。

黑客通过输入提交“特殊数据”,特殊数据在数据流的每个层处理,如果某个层没处理好,在输出的时候,就会出现相应层的安全问题。

精彩举例:

1. 如果在操作系统层上没处理好,比如Linux的Bash环境把“特殊数据”当做指令执行时,就产生了OS命令执行的安全问题,这段“特殊数据”可能长得如下这般:
; rm -rf /;2. 如果在存储层的数据库中没处理好,数据库的SQL解析引擎把这个“特殊数据”当做指令执行时,就产生SQL注入这样的安全问题,这段“特殊数据”可能长得如下这般:
‘ union select user, pwd, 1, 2, 3, 4 from users–3. 如果在Web容器层如nginx中没处理好,nginx把“特殊数据”当做指令执行时,可能会产生远程溢出、DoS等各种安全问题,这段“特殊数据”可能长得如下这般:
%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./%20

4. 如果在Web开发框架或Web应用层中没处理好,把“特殊数据”当做指令执行时,可能会产生远程命令执行的安全问题,这段“特殊数据”可能长得如下这般:
eval($_REQUEST[‘x’]);

5. 如果在Web前端层中没处理好,浏览器的JS引擎把“特殊数据”当做指令执行时,可能会产生XSS跨站脚本的安全问题,这段“特殊数据”可能长得如下这般:
‘”><script>alert(/cos is my hero./)</script>

怎样,刺激吧?搞懂这些,就算入门啦。

  • 记好:一切的安全问题都体现在“输入输出”上,一切的安全问题都存在于“数据流”的整个过程中。
  • 记好:“数据流”、“输入输出”这两个关键点。

你好像悟到了点什么,咱们继续……

前面说了:如果你不了解这些研究对象是不可能搞好安全研究的。

 

假如我曾经要不是比较熟JavaScript、ActionScript、HTML/CSS的话,我估计我要研究好XSS是很困难的,我熟悉这些语言刚开始的出发点是想“创造”,我做了好些Flash动画、做了好些网站、包括自己从后端到前端独立实现过一个博客系统,为了解决好前端在各浏览器的兼容问题(当时是IE6如日中天的时候),我啃了好几本书,如《CSS网站布局实录》、《JavaScript DOM编程艺术》、《AJAX Hacks》、Flash从6版本以来到CS2的各类书籍我都多少看过,也实战过,这一切都是在大学前三年搞定的。
这里给各位推荐几本书
《software design中文版03》
《白帽子讲浏览器安全》
《黑客秘笈:渗透测试实用指南》
《黑客攻防技术宝典:web实战篇(第2版)》
《揭秘家用路由器oday漏洞挖掘技术》
《Python黑帽子:黑客与渗透测试编程之道》
《python绝技:运用python成为顶级黑客》
《python灰帽子:黑客与逆向工程师的python编程之道》
《web 2.0 骇客技术揭秘》

大学第四年冲刺Web安全(长期以来有黑客情怀),大四下学期进入XXXX(刚创业起步),然后到了现在,一晃在XXXX六年。

说到这,很清晰啦:如果你不了解这些研究对象是不可能搞好安全研究的。

咱们继续:)

了解到以上可以多找或者多制作思维导图

 

二. 黑客兵器谱

新人入门总在寻找好工具来提高效率,Web安全这块我之前放出了我的“兵器谱”

Firefox下

  1. Firebug,调试js,HTTP请求响应观察,Cookie,DOM树观察等;
  2. GreaseMonkey,自己改了个Cookie修改脚本,其他同学可以用这款:Original Cookie Injector for Greasemonkey
  3. Noscript,进行一些js的阻断;
  4. AutoProxy,翻墙必备;

Chrome下

  1. F12打开开发者工具,功能==Firebug+本地存储观察等;
  2. SwichySharp,翻墙必备;
  3. Cookie修改脚本,自己写了一个Chrome扩展(已开源:Cookie利用神器:CookieHacker),其他同学可以自己到Chrome扩展搜个好用的;

前端渗透工具

  1. XSS’OR,我开发的,常用其中加解密与代码生成,源码放到了这:evilcos/xssor · GitHub
  2. XSSEE 3.0 Beta,Monyer开发的,加解密最好用神器;
  3. Online JavaScript beautifier,js美化工具,分析js常用;
  4. 前端攻击框架,推荐BeEF及一些小伙伴开发的XSS盲打工具,我自己也有款,不过不轻易示人;

HTTP代理工具

  1. Fiddler,即可,不用再寻找其他的了,其中的watcher插件可以玩玩,找漏洞的;
  2. Burp Suite,神器,不仅HTTP代理,还有爬虫、漏洞扫描、渗透、爆破等功能;

漏洞扫描工具

  1. AWVS,不仅漏扫方便,自带的一些小工具也好用;
  2. Python自写脚本/工具,好漏洞是你用AWVS等就能发现的?洗洗睡吧;
  3. Nmap,绝对不仅仅是端口扫描!几百个脚本;

漏洞利用

  1. sqlmap,SQL注入利用最牛神器,没有之一;
  2. Metasploit,主机渗透框架,而Web层面上的就是知道创宇里的一些好玩意了(我可能在吹牛);
  3. 一些社工平台,好的都匿了;
  4. Hydra,爆破必备;

抓包工具

  1. Wireshark,抓包必备;
  2. tcpdump,Linux下命令行抓包,结果可以给Wireshark分析;

大数据平台

  1. ZoomEye,知道创宇开放的一个网络空间搜索引擎,搜搜组件就知道:ZoomEye(钟馗之眼),可以认为我在广告;
  2. SHODAN, 老外开放的一个网络空间搜索引擎,搜搜主机设备就知道:SHODAN – Computer Search Engine;
  3. Google,:)

更多自己看看Kali Linux(老的是:BackTrack)。

节省生命推荐:熟练Linux众多命令+Vim。

工欲善其事必先利其器嘛,而且新人用了好兵器会更有成就感的。

切记:这些兵器,你不仅要知其然还得知其所以然,别堕落了哦。

三. 明白“精于一而悟道”的道理

网络安全非常之广,一人想全面掌握在我看来是不可能的,但可以都有所了解,而精于一、二,我曾经的这篇批文供参考《我对什么都感兴趣,可我迷茫了》,核心思想是:精于一而悟道。所以王音给了如此全面的回答,对你也许是好事,但不也许是坏事,看你自己的理解;
推荐看看知道创宇研发技能表v2.2

在我看来:如果一个黑客不具备1,2,3这三点,根本不合格,具备1,2,3的黑客多屌,你觉得呢?这正是我经常所说的具备创造力!

四. 融入圈子

多结交些靠谱的黑客,搞搞基啦(不过别来真的,还有我好讨厌扯淡/水得不得了的人),微博(含:Twitter)、QQ、微信、知乎、博客等善于跟进,不仅学,也要分享,让大家知道你的存在,更有利于交流与成长。

这里简单写一下twitter
定位一个关注的方向,比如前端黑客 选定一个关键词不要选择假大空的XXX Security(这些都是扯淡)找定技术点 CSRF,DOM XSS,CSP Bypass,XSS vector
看聊话题的人 看历史tweet  感兴趣遂关注之 求精不求多
关注几个领域内的巨牛 他们的信息就够你消化了。
这里写几个推荐  @k3170Makan  @irsdl  @lcamtuf  @bulkneets  @kuza55  @kkotowicz  @0x6D6172696F  @shreeraj
再简单说下blog
不同领域的牛 基本上都有自己的blog 多去看看逛逛不要总觉得文章过时没意义就拿两个例子来说
Struts代码执行漏洞
Android webview任意命令执行漏洞
这两个都是大牛发现了漏洞后写到了个人的blog多年后才被别人挖出来利用泛滥然后才在市面上流传
其实  很多国内牛都是读完国外的paper总结后发散来国内充大头

看blog时候没必要每条都看  第一眼标题是否符合近期的研究方向  自己是否感兴趣  符合以上就点进去看看
除了blog twitter 也可以去找找电报群(telegram)多观察大牛的聊天动向
平时最好多关注安全咨询来开阔视野发散思维有助于提高创新能力
提升能力无非就是通过1.学习2.实践3.总结

关于“圈子”,我想说:别把自己局限住。

能静下来做事的人会成为大牛,能随时随地安静下来做事的人会成为大神

最后各位谨记

不要说自己有多少库,
请说自己防护了多少数据不要说自己黑了多少站,
请告知朋友哪些站有风险不要说自己拿了多少预控,
请告知企业或组织安全的软肋在哪不要说自己破解了多少软件和系统,
请留下分享的的种子或磁力链不要说自己多么伟大,
充其量我们都只是安全爱好者或安全从业者当然,
某一个维度,
我们会压下帽檐,
黑客还是黑客… …

发表评论

电子邮件地址不会被公开。 必填项已用*标注

EA PLAYER &

历史记录 [ 注意:部分数据仅限于当前浏览器 ]清空

      00:00/00:00