想成为顶级黑客?这几个技巧你一定要会!

安全
在安全行业摸爬滚打3年多,磕磕碰碰走到今天,真的不想新人再去试错,下面是我给大家分享小弟这几年的学习经验。

截至到2018年底,我国网民规模已达8.02亿人,居世界之首。这片虚拟土壤已经涉足国人生活的方方面面,互联网安全已不再是隐藏在角落的潜在需求,而是关乎8亿中国人的安全保卫战。

互联网极度发达衍生的开放性和安全漏洞带来的风险无处不在,黑客攻击行为越加猖狂,组织性更强,作为一名Linux运维小哥,我也是由原来的“受害者”误打误撞进入Web安全领域。

[[262454]]

2015年初时,我学习Linux已有一段时间,有点基础后便下载了一个CMS搭建博客,那会能搭建博客已经够自己臭屁的了,然而好景不长,没几天我便发现博客网站无法正常打开,刷新一下,弹了个框出现”hacked by xxx 联系QQxxxxxxx”。

那个时候我写代码的标准是能运行起来就谢天谢地了,安全啥的完全没概念。一头雾水的我登录ftp,发现自己的首页多了几个陌生的文件,我~被挂马了。

然后我还真的加了这个QQ,通过这个小老弟的动态中看到了某知名Web安全社区,从此开始关注Web网络安全。

在安全行业摸爬滚打3年多,磕磕碰碰走到今天,真的不想新人再去试错,下面是我给大家分享小弟这几年的学习经验。

入门Web安全需要具备哪些基本技能?

  • 想给网站弹个窗,获取cookie?(JavaScript的基本语法要熟悉吧?)
  • 想获取到网站的用户数据?(MySQL、MSSQL、Oracle、PostgrSQL基本操作命令你要懂吧?)
  • 想通过命令执行漏洞获取服务器信息?(Linux的命令、目录文件信息心里得有数吧?)
  • 想搞清楚自己的网站为啥被人挂马了?(webshell执行原理不能不知道吧?)
  • ...

知识面,决定看到的攻击面有多广。 知识链,决定发动的杀伤链有多深。

一个合格的Web安全测试人员应该具备以下技能:

A. 工具使用能力

工具让每个人都有发现漏洞的机会,但真正掌握工具而不是被工具掌握的人才能成为优秀的白帽子。工欲善其事必先利其器,好的安全测试工具可以帮助白帽子快速、有效的定位到漏洞可能存在的点,同时辅助Web安全测试人员完成漏洞利用(exp)和漏洞证明(poc)。所以,作为一名Web安全测试人员,熟练掌握各种安全测试软件是基本功。

目前web安全测试人员常用的工具有:burpsuite、sqlmap、wireshark、fiddler、avws等,其中burpsuite和sqlmap是漏洞挖掘过程中使用最多也是高效的神器。

B. 编程能力

只有漏洞原理了然于胸,才能做到随手捡洞。只有自己具备编写工具的能力,才能做到不被工具束缚。

另外,虽然CC ++JAVA 这些编程语言在Web安全测试中都可以写出很多强大的工具(比如业内最知名的工具burpsuite就是使用Java语言编写的) ,但是这些语言对于初学者来说并不友好,要达到上手使用的程度往往需要花费大量的时间和精力,所以我并不推荐新手在初学阶段去学习这些语言。

我建议大家学习python,因为相对而言Python代码简洁,学习难度小,而且Python程序小巧、占用系统资源少、可移植性强。

对于Web安全人员来说,Python就像是普罗米修斯手里的火种,它拥有很多可能。

C. 代码审计能力

厂商现在对于安全的重视,使得很多时候仅凭黑盒测试无法做到全方位的安全评估,这个时候就需要我们具备一定的代码审计能力对项目进行白盒测试。通过分析源代码,有针对性的对一些可能存在漏洞的点进行审计,实现高效精准测试。

另外,很多厂商的生产环境都会使用一些开源服务,当挖掘漏洞过程中遇到瓶颈时,审计这些开源服务往往也是一个突破口。

D. 洞察能力

Web安全是一个需要不断学习的技术,Web安全测试人员要与时俱进,时刻关注新漏洞动态。

很多时候一些影响力大的漏洞都是从国外披露的,所以我们也应该具备随时获取全球Web安全资讯(科学上网和英语基础)的能力。

E. 懂法守法

任何未经授权的渗透测试行为都可以构成犯罪,作为一名Web安全测试人员,必须懂得用法律保护自己,同时也保证不触犯法律。

F. 报告文档编写能力

懂得如何写出一份完整有效的漏洞报告,可以在节省你和厂商的时间同时也提高双方的工作效率。

这里给出我个人的学习路线建议:

这里针对上述各种能力,我汇总了一个思维导图,学习资源的具体获取方式都可以在搜索引擎中获取到。当然,要是有一些靠谱的Web安全工程师带是好的。

 

责任编辑:赵宁宁 来源: 黑客技术与网络安全
相关推荐

2017-05-05 09:26:33

2019-04-11 09:37:50

2018-10-22 10:43:26

2023-10-30 09:10:05

DjangoQuerySet

2014-10-29 14:52:13

程序员

2017-07-04 08:00:23

热门文章技术

2019-09-21 20:57:59

Android安卓开发

2022-04-06 07:32:41

Java运算符变量

2021-05-07 11:58:05

微服务循环依赖

2017-10-30 12:49:43

2018-08-15 13:25:18

Java开源工具

2020-08-19 10:11:36

SQLMySQL数据库

2021-11-29 11:11:45

SQL查询技巧

2022-06-13 09:26:41

Promise前端代码

2021-03-29 22:58:34

大数据Java编程语言

2023-11-12 22:43:53

系统镜像

2019-02-28 20:20:43

Python技巧编程语言

2020-02-03 09:29:32

JavaScript代码断点

2018-08-23 16:25:29

HadoopHDFS存储

2020-12-03 10:17:25

Kubernetes架构微服务
点赞
收藏

51CTO技术栈公众号