Web安全入门之路——Nereus

一切神秘与玄奥都来源于你的无知。

  关于计算机安全方面大家都看过新闻上说黑客技术,但是不论你是好奇还是有想学的意愿,接下来的文章都会对你有一点小小的帮助。

  最近总有人询问我,渗透测试该如何学,路该怎么走,先学习Python还是C语言,等等一些基本问题,这里我就专门将我这一年以来自己探索的道路和经验分享给大家(大佬请轻喷),希望可以帮到那些还在入门线旁边徘徊的小伙伴。千万不要怀疑自己的能力只是你没有找到合适的方法而已。

上图是一张我再网上找到的学习路径图(如有侵权纯属无意,请联系我进行删除)

  一丶WEB基础方面

  接下来进入正题,Web安全顾名思义需要先了解Web是什么(https://baike.baidu.com/item/web/150564?fr=aladdin)建房子总要了解大体房子结构再来说安全吧,而Web给人呈现出来的构造总是离不开HTML + CSS + JavaScript 这三种语言,HTML超文本语言详细请见(https://baike.baidu.com/item/HTML)将一些基本的信息呈现在网页上就好像是女娲造人一样将人的基本模样构造出来,鼻子丶眼睛丶耳朵丶头发等等;

  之后再说CSS  人的基本模样出来了接下来就该给人加一些衣服或者装饰了,而CSS 就是用来给HTML添加上装饰效果,使得网页在呈现在大众面前,变得美观,不是那么的难看就行- -!(我实在是编不下去了,大致就是这个意思);

  而JavaScript的作用则是将HTML+CSS制作出来的页面添加上动态的效果,通俗来讲就是会动的......- -!,然后可以利用JavaScript将一些后来想到的东西添加到网页中,不必再重新编写代码构造网页(- -! 反正就是用JavaScript可以简单的对页面进行修改等等,哎 我这个理科生,真是表达能力太差,希望你们可以理解,哎真的好好的去补补语文了)。

  以上三种语言你学完后,就应该能制作出一张能看的网页了(能看是你自己感觉不错就行了- -!),不要担心自己数学不好英语不好学不了编程语言或者计算机,告诉你我高考英语61数学从小学到高中没及格过一次,但还是学完了Python编程,英语不会就去查单词,再不济就用谷歌浏览器,有道云词典(懒惰真的是一个人变强最大的障碍!)再说了HTML与CSS根本就不算编程语言,就JavaScript与高级编程语言沾点边,emmm扯得远了,我就是爱啰嗦,嘿嘿见谅!

  一个网站建好了那么就应该上传到互联网上了,若是你的满意度仅仅到此,那就太OUT了,只设计出网页真的无法跟上如今的Web2.0时代,再去学LAMP吧,LAMP(Linux+Apache+MySQL+PHP)是当今世界上最流行的开发平台,具有简易型,低成本,高安全性,开发速度快和执行灵活等特点,最重要的这些都是开源软件(https://baike.baidu.com/item/%E5%BC%80%E6%94%BE%E6%BA%90%E4%BB%A3%E7%A0%81/114160?fromtitle=%E5%BC%80%E6%BA%90&fromid=20720669&fr=aladdin ←何为开源)将你设计的网页连接到数据库,供用户使用,这样才算一个优秀的网站。

  综上所示,你应该能发现一点,这些学习路径都是为了建设网站,对的没错,若是屋子没建好,你去哪里测试网站的安全性,凭空想象?还是说你可以像女娲造人那样随手造出来一个网站?好了,收!(不开玩笑了)上面所说的PHP才算一门编程语言,在此笔者强烈建议学深学精,对你会有意想不到的好处,而JavaScript尽量和PHP差不多或者说将来你走的是网站前端开发这块那就去深学,如不是JavaScript学到Dom处差不多就可以了,在之后的Web攻防方面需要涉及到XSS跨站脚本攻击,而XSS利用威力的大小取决于你学JavaScript的深浅,所以长点心吧!

  二丶WEB攻防方面

  这个时候,我想你的基础知识应该学的差不多了,emm,能编写出自己的网页甚至说还可以上传到网上并用数据库相连,有专门的服务器,不错不错。

  接下来WEB攻防欢迎入坑,去了解OWASP TOP 10 年度十大漏洞(http://www.owasp.org.cn/owasp-project/OWASPTop102017RC2.pdf)你会发现近年来SQL注入排第一,也就是说这些年来,SQL注入对网站的危害始终是最大的,原理:利用SQL语句对网站数据库进行查询,根据错误信息的判断从而进一步为拿下网站的Shell做准备(本人的一些了解)这个时候你会发现,那没数据库不就得了,是的没有数据库你的网站会安全许多,但是却也给你和用户带来许多的不便,我想你应该会有自己的答案。将OWASP TOP 10 十大漏洞了解清楚并熟悉原理,这里就不一一解释了。

  了解清楚原理与攻击步骤之后,直接上手干(建议搭建本地环境,法律不是吃素的,你自己的家门会允许别人为了学习撬锁技术来当实验品?)给你们推荐几个靶场(用来做Web攻防实验的,建议不要安装在物理机上,使用虚拟机)以上建议勇士除外!

  Webug 3.0 (https://www.webug.org/)

  DVWA (http://www.dvwa.co.uk/)

  当你把这两个靶场都日完了,那个时候你心里已经有自己的目标和接下来的方向了,emm 新手入门就到这里了,再接下来的我就不给方向了,每个人都有自己的目标,希望你们会学到更多优秀的姿势,挖到更多的漏洞,为计算机的进步和发展提供一份绵薄之力!以上

  三丶学习方法

  至于学习方法想给大家讲一下这一年来通过自学Python编程的经验和领悟(大佬求放过):  学习编程语言,最重要的是思路,当你接触一门新的编程语言时,一定会对着模板将代码抄下来,并一行一行的理解,然后就觉得自己会了(好吧这是我初学时的景象- -!),这样你会发现到了后便所需要用到之前的知识时你还是不会,思路很重要,先对着代码将代码一行一行的看看,想想作者是以什么样的思路去写这些代码的,然后合上书,复现出来甚至创造出来,量变会引起质变的,以这样的学习方法下去你会发现,编程真的没那么难,因为你站在巨人的肩膀上学习。

  编程语言最终的目的是编写出脚本程序或者软件供人们使用(特殊的例外,如二进制等),但是当我学习完Python编程的时候,发现一种无力感,无法编写出相应的Web安全工具,如漏洞扫描等,我就去看书,看资料,终于发现是自己的安全原理不够,就像是你搭建房子,材料工具都有了,却不懂该如何搭建。这是另一种的无奈,所以基础知识很重要。

  万丈高楼平地起,不要去相信那些零基础该如何入门黑客技术,学什么Python语言C语言,你网络协议懂了吗?Web基础传输原理懂了吗?这些都不懂还是不要一口吃撑胖子吧。是的我承认Web渗透测试可以不用去学编程语言,但是如今是什么时代,一切都实现自动化进程,你拿着一个漏洞去一个一个网站试吗?为何不学一门编程语言,然后写一个程序让他自己去测试呢?编程语言真的是麻烦一次轻松千万次的事情。

   

(文中如有错误或不足,欢迎大佬指导)                                                 

                                                        ——Nereus

猜你喜欢

转载自www.cnblogs.com/nereus1248702101/p/9163912.html