{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

黑客入门学习哪些知识?

pinginkpingink 回答0 收藏2
收藏问题

10条回答

techstay

techstay

回答于2022-06-28 15:35

根据我所知道回答一下这个问题。

这里暂且理解为网络安全的需要了解的一些知识。

  • 网络基础知识,特别是网络协议

  • 编程的基础知识

  • Linux的基础知识

  • web安全的基本知识

  • 网络运维的基本知识

  • ... ...

网络基础知识,特别是网络协议

  • 熟练掌握TCP/IP分层模型,知道每层完成的功能,传输的报文,以及对应的协议;

  • 熟练掌握一些重要的协议,比如http、dns、arp、tcp、udp等协议;

  • 熟练掌握组网的基础知识,比如局域网组网,vlan、路由协议等;

  • 掌握一些网络设备的配置,例如ucloud网络设备的配置,知道如何组建局域网、如何通过路由协议组建网络等。

编程的基础知识

  • 至少要掌握C语言的编程,灵活应用指针、struct结构;

  • 至少掌握一门脚本语言,推荐python语言,可以直接调用C语言的库,并且非常的灵活,现在很多网络安全工具是用python编写的;

  • 能够看懂汇编语言,用于理解常见的漏洞。

Linux的基础知识

  • linux的基本使用操作,熟练掌握常用的命令,防火墙的配置等;

  • linux各类服务器的搭建,比如ftp服务器、dns服务器等;

  • 数量掌握网络安全渗透平台kali的使用,kali广泛用于网络渗透测试和审计,是一个综合的网络安全渗透测试平台。

web安全的基本知识

  • 熟练掌握http协议的知识,能够分析http数据包

  • 了解前台的html语言、javascript代码、jquery框架,后端的mysql数据库,以及常用的php语言,用于分析web安全漏洞;

  • 熟练掌握xss跨站脚本攻击,xss是非常流行的web安全漏洞,会手动和工具发现xss漏洞;

  • 数量掌握sql注入的知识,能够手工或者工具发现sql注入漏洞。

网络运维的基本知识

  • 网络设备的配置,比如vlan配置、vrrp配置、ospf配置、rip配置、snmp配置等;

  • 数量掌握通过snmp获取网络设备的流量、运行状态等数据;

  • 数量掌握linux系统、windows系统运维的基础知识。

总结

网络安全是一门综合性的学科,需要连接网络的方方面面,需要不断的学习、实践和总结。


对于网络安全的学习,大家有什么看法呢,欢迎在评论区留言讨论。

如需更多帮助,请私信关注。谢谢

评论0 赞同0
  •  加载中...
guyan0319

guyan0319

回答于2022-06-28 15:35

极客跟你分享极客的经验,也是极客我在信息这个行业多年知道的,看到的。

第一点,计算机网络:这个是信息安全行业基础,你的攻击或者维护都离不开计算机网络。

第二点,linux(kali),如果你是想做运维人员,你面临的就是什么内网啊,域啊,服务器啊等

第三点,精通js,以后你遇到的注入啊,xss啊等都和这个东西有关。

第三点,数据库,比如sql server,mysql,Oracle等。

第四点,一种脚本语言,比如python等。

第五点,c/c++,极客觉得这个是你编程的基础,也是你对计算机底层理解的关键。

第六点,汇编,如果你想成为漏洞挖掘者,一定要学汇编和OD。

目前极客想到的基本就这些了,极客目前缺一个加优,记得帮我加优,更希望能帮到你!

评论0 赞同0
  •  加载中...
fizz

fizz

回答于2022-06-28 15:35

黑客需要学习哪些知识呢?首先要知道的是黑客是干什么的?黑客是专门寻找科技产品的漏洞,科技产品是由一行行的代码构成,每一个手机应用,网站,服务器都是由不同的编程语言开发。所以你要知道的是黑客不是随随便便点击一下按钮而是根据不同的编程语言来发现他们的漏洞。


所以黑客首先需要精通一些编程语言,不同的产品需要了解不同的编程语言。例如网站需要懂 HTML,JAVASCRIPT。移动APP开发需要了解 Objective-C, JAVA,Swift 和 Kotlin 开发语言。


网站破解 Web Hacking


因为大部分产品都是建立在万维网上,如果你要破解网页可以学习以下的知识:


  • HTML

HTML 是组成网页的一个静态标记语言,每一个网页都是由很多嵌套的 HTML 静态标签构成的。服务器把 HTML 代码发送给浏览器,浏览器负责解析 HTML 把网页呈现出来。


  • JavaScript

JS 是一个客户端脚本语言,浏览器使用 JS 提供了更好的用户界面和动态特性,通过学习 JS,你可以更深入的理解浏览器客户端是如何运行的。


  • PHP

PHP 是一个后端的动态脚本语言,一般用 PHP 写后台和脚本,连接数据库,生成动态网页,最后把生成 HTML 发给客户端给浏览器解析。全世界大部分网站都是由 PHP 驱动的,PHP 控制着服务器的数据和前端的显示。学习 PHP 是非常有必要的。


  • SQL 关系数据库

关系数据库是用来存储数据的,数据由行和列的二维数据组成。它里面存储着很多重要的数据,例如用户账号,用户订单以及很多敏感的信息。黑帽子专门盯着数据库中的敏感数据,如果破解成功,就会在地下市场进行买卖。如果你想成为一名安全工程师,就必须要学会 SQL 关系数据库。


漏洞利用 Exploit


只要是软件,就会有可利用的安全漏洞,作为安全分析师,就是要找出这样的漏洞,免得被黑客利用。然后给这个漏洞打上补丁。

一个漏洞利用程序就是要触发漏洞,可以使用以下的语言开发:

  • Python

Python 语言由于它的简单性,是开发漏洞利用程序的首选。Python 提供了大量的内置类库和开源的程序,使得开发非常便捷。


逆向工程 Reverse Engineering


逆向工程,就是根据一个软件的二进制代码转为源代码,完成之后,就可以根据源代码找到软件的漏洞。如果你想学习逆向工程,就需要学习一些底层的语言,例如 C,C++ 和 Java。

评论0 赞同0
  •  加载中...
godlong_X

godlong_X

回答于2022-06-28 15:35

首先感谢邀请,我是深度数据挖掘,欢迎大家关注和相邀相关问题。

  1. 础的编程能力和编程相关的技术。如果你连编程或者对编程相关技术都不了解,你肯定无法去拆包和分包,也就无法完成黑客技术上代码抓取以及远程控制等这些功能。这也就意味着,如果你想成为黑客,你必须要,具备相关的编程能力。

  2. 对硬件设备有足够的了解。如果你在做微课的过程中,对相关的硬件知识和对相关系统的操作,以及相关平台构架不了解不清楚的话,你无法确实,黑客相关技术及对硬件以及对系统和设备的控制。

  3. 熟悉相关系统与相关应用。如果你连操作系统或者你所要去嗨的应用都不熟悉,那么你在未来想要去黑料,详细操作这些相关系统和相关应用的时候,将无从下手。虽然它们都是由代码或者有统一的格式进行构造的,但是每一个系统和相关应用在组成的过程中必然有加密的部分。你需要对这些系统和应用相当的了解,才能够下手。

评论0 赞同0
  •  加载中...
lemanli

lemanli

回答于2022-06-28 15:35

黑客是一个神秘的职业,多少喜欢电脑的同学是因为黑客开始的。

又有多少人真的潜心钻研,而不是被每日枯燥无味的生活打磨的毫无棱角。


下面只是一些对黑客的肤浅理解不一定对。

1、计算机原理

2、编程基础(各种编程语言都要了解)

3、网络知识,如果要入侵web服务器,首先要针对服务器进行入侵,还可以对web程序漏洞进行入侵。

4、Linux系统要精通。

5、Sql注入入侵,所以对Sql也要精通吧。


当然常人很难精通所有,但是精通某一领域也会大有作为。

评论0 赞同0
  •  加载中...
RyanQ

RyanQ

回答于2022-06-28 15:35

其实这是个很顶级的称呼。并不是有点电脑常识,就可以当。同时,也可以说这是一个神秘的代名词,我们认识到的仅仅是去攻击和远程控制其他人的电脑,其实这些技术都是小儿科。

只要你的理解能力够,再加上勤奋去学习其实这些技术并不难,至于必备的知识,会得越多就越容易达成自己的目的。

必备知识:

通透了解计算机,要知道每个硬件的名称,了解系统以及各大硬件与系统厂商。

了解操作系统,知道操作系统的不同,知道一些计算机专业英语与用语。

首先我们要有编程基础,懂得网络(如了解网络协议等等)英文水平要高,尤其是专业术语。你要熟练掌握DOS命令。

其实黑客很多都是有专攻的。比如有的专攻破解方面的,有的喜欢入侵,有的就喜欢找漏洞。不是每个黑客是什么都很厉害的。你想好你要专攻的方面,再查找相关的知识,这样你学习得会更有效率。

再提一句:零基础起步,首先要有对网络的热心与耐心。可能起步时听不懂专业用语和方法,没有关系,多听多学。希望你能早日实现梦想。

评论0 赞同0
  •  加载中...
notebin

notebin

回答于2022-06-28 15:35

黑客要懂的东西太多了。编程要懂,网络也要懂,甚至心理学也要懂。

我有一份早年学习的路线图可以分享给你。黑客之路一定要与时俱进。大家都知道做技术的永远都在学习,黑客更是这样,有朝一日希望你利用自己的技术做有益于社会的事。

评论0 赞同0
  •  加载中...
pinecone

pinecone

回答于2022-06-28 15:35

第一步是相识计较机,然后进修计较机和搜集安逸(这一步许多人觉得要在着末学,切实是不对的,冲要破安逸,必必要先辈修安逸,良知知彼嘛),再进修编程。着末就是主攻黑客行业的知识(行规、执法、及黑客手艺)。

概略流程就是上面的,详细细节就要在你进修历程中,自己总结了。

细致:一切都要在执法准许的畛域内,切切不要触碰执法哦!

评论0 赞同0
  •  加载中...
Olivia

Olivia

回答于2022-06-28 15:35

希望你想做黑客不是干坏事儿,首先不能违背法律和不道德的事情。黑客有很多方向,较为常见的方向是基于网络攻击的。要做一个真正的黑客,编程是必须要学的。我的建议就是先学Python,然后学C。基于这两种,大部分的黑客工作都能解决。

以Python入门足够简单,认真点的几天也就够了。随后,就可以基于Python来仔细学习一下网络的原理了。

计算机网络的书籍有很多,但这类理论书籍如果不能结合实践是很枯燥的。所以我一直极力推荐以网络抓包学起。可以先安装个WireShark,然后开始玩起抓包。重点是要结合着计算机网络的书籍,真正的看懂每个数据包头部各个字段的含义,培养自己对数据包的敏感性。只有拥有了这些敏感性,才能在今后的黑客行动中,对网络了如指掌,各种技巧如泉涌般。

而Python,则可以安装pypcap,或pcapy,任选一个即可。就可以使得通过Python来进行网络抓包了,即相当于自己编程实现WireShark的抓包核心功能。然后自己写程序决定过滤哪些包,显示哪些感兴趣的包的感兴趣的字段。数据包的解析可以通过dpkt包来实现,简单好用的爆。

如下是我2007年写的一篇简单的入门:

gashero的pypcap实践笔记

拥有了抓包和数据包解析的能力,就可以做很多真正的黑客行为了。第一步是自己基于ping实现局域网扫描。自己构造ICMP包即可。扫描的范围则可以用自己的程序高度定制。另外选择其他协议也可以随喜欢而选择。比如用TCP 80端口扫描局域网里的HTTP服务器。因为扫描很耗费时间,所以推荐学习多线程编程threading模块。

扫描仅仅是攻击的预备,想要抓取别人的数据报,需要使用ARP攻击。好消息是pypcap+dpkt足够你完成这些工作了。当然要注意结合着计算机网络的书籍,学会如何构造正确的数据包。需要注意的点太多了。比如TCP包的长度、序列号、ACK序列号、IP包的分片和组包等等。

拥有这些能力之后,就可以做很多很多其他事情了。比如抓包了解一下自己平时上网都会访问哪些地址,将其中明显是广告网站的HTTP请求直接用RST包干掉,就像是GFW的那样工作。DNS也可以劫持自己的包,甚至是局域网里的包来更改每个人访问的实际IP。

略微高级点的玩法如端口攻击。这是我一个朋友想出来的idea。现代的防火墙基本都能够发现ARP攻击,因为太明显了。而且交换机一层也可以直接设置静态的IP-MAC映射表。但是在交换机端口(就是接网线的那个物理的口)和MAC之间的映射,则是不会经过防火墙的。这个映射在大部分交换机里是一个4k~8k的映射表。可以通过发送一些明显损坏的数据报来伪装成其他同一局域网的电脑来获取发给对方的数据包。比如发送任意少于60字节的数据包,就会因为怀疑是损坏的数据包被各层设备所丢弃,但是交换机却会记住这个映射。当抓到对方的包以后,再发一个ARP查询,让对方机器发出个数据包来恢复正确的映射,再把自己劫持到的数据包修改过发给对方。这样对方的机器是不会发现受到攻击的。而他的数据包却经过了我的程序。2007年末,我帮朋友写好了这个程序就卖给了上海的网警,用于攻击部署在韩国的法XX服务器,抓取对方的ftp维护密码。

至于C语言,则是Python无法解决的一些应用级攻击时,用以实现底层的。比如我在2006年时写的抓包工具,pypcap之类的还只能抓包,不能发送数据包。后来我就自己用C写了个Python模块,可以直接发送数据包的。见:

sendpkt - 同时兼容Linux/Win32的Python发送数据包扩展库

简单的使用文档:

惊帆之静默

当然了,现在的pypcap和pcapy已经可以直接发送数据包了,我的这个开源项目就失去了存在的意义。

C语言也是几乎所有底层系统的语言。正是因为如此,深刻的学会C语言,并理解其运行原理对底层攻击有着重要的意义。简单的如学会scanf、sprintf之类的带来的溢出攻击的原理。深入一点的要学会堆栈传参数的原理,以及常见系统调位置。

评论0 赞同0
  •  加载中...
Cristalven

Cristalven

回答于2022-06-28 15:35

1.编程(C#、C、C++、汇编……)

2.网络知识

3.操作系统(不只是windows,会Linux是最起码的)

4.其他,以上三项是最起码的,并且不只是要学会,还要精通。

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<