黑客编程入门先学什么(黑客技术编程)

http://www.itjxue.com  2023-02-22 12:48  来源:未知  点击次数: 

黑客需要学什么

1. 学习如何编程。

这一条无须多说,当然是最基本的黑客技能。如果你还不会任何编程语言,我建议你从 Python 开始学起。它设计清晰,文档齐全,而且对初学者比较友好。虽然它很适合作为一种入门语言,但它不仅仅只是个玩具;它非常强大、灵活,也适合做大型项目。我在一篇更详细的 Evaluation of Python(译注:Python 试用体验)中有更详细的论述。Python 网站有很好的入门教程

我曾经推荐过将 Java 作为初学的语言,但这则批评改变了我的想法(在里边搜索”The Pitfalls of Java as a First Programming Language” 就知道我的意思了)。作为一名黑客,你不能像人们挖苦的一样,“像水管工人一样装电脑”,你必须知道各个部件的工作原理。现在我觉得可能还是学过 C 和 Lisp 后再学 Java 比较好。

有一个大体的规律,就是如果你过于偏重使用一种语言,这种语言一方面会成为你得心应手的工具,另一方面也会阻碍你的学习。有这个问题的不只是编程语言,类似 RubyOnRails、CakePHP、以及 Django 的 web 应用框架也有这个问题,它们只会让你肤浅地懂得一些东西,当你碰到难以解决的问题或者需要调试时,你就可能不知所措了。

如果你想进入正式的编程领域,你将不得不学习 C 语言,它是 Unix 的核心语言。C++ 与 C 非常其他类似;如果你了解其中一种,学习另一种应该不难。但这两种都不适合编程入门者学习。而且事实上,你越避免用C编程,你的工作效率会越高。2. 学习使用开源的 Unix 系统。

我将假设你已经有一台个人计算机供自己使用了(你可以体会一下这意味着多少东西。早些时候,计算机是如此的昂贵,没有人能买得起。而黑客文化就是在那样的环境下演化来的)。新手们能够朝学习黑客技能迈出的最基本的一步,就是找一版 Linux 或 BSD-Unix,安装在个人电脑上,并且把它跑起来。

没错,这世界上除了Unix还有其他操作系统。但它们都是以二进制形式发布的——你无法读到它的源代码,也不可能修改它。尝试在运行 DOS、Windows、或 MacOS 的机器上学习黑客技术,就象是穿着骑士铠甲学跳舞。

除此之外,Unix 还是 Internet 的操作系统。你可以学会上网却不知道 Unix,但你不了解 Unix 就无法成为一名 Internet 黑客。因此,今天的黑客文化在很大程度上是以 Unix 为核心的。(这点并不总是真的,一些很早的黑客对此一直很不满,但 Unix 和 Internet 之间的联系已是如此之强,就连 Microsoft 这样强力的公司也对此也无可奈何。)

所以, 安装一套 Unix 吧——我个人偏爱 Linux,但还有其他种类共你选择(是的,你可以在同一电脑上同时安装 Linux 和 DOS/Windows)。学习它,运行它,鼓捣它。用它上 Internet。阅读它的源代码。修改它的源代码。你会用到很多优秀的编程工具(包括 C, LISP,Python 及 Perl),这些工具在 Windows 下是做梦都没法得到的。你会觉得乐趣无穷。当你有一天成为大师再回顾初学的日子,你会觉得那时学到的东西可真多。3. 学会使用万维网以及编写 HTML。

黑客文化建造的大多东西都在你看不见的地方发挥着作用。浙西东西可以帮助工厂、办公室、以及大学正常运转起来,但从表面上很难看到它们对非黑客的普通人的生活的影响。而 Web 是一个大大的例外。就连政客也同意,这个庞大耀眼的黑客玩具正在改变整个世界。就算只是因为这个(还有许多其它的原因),Web 也值得你一学。

这并不是仅仅意味着如何使用浏览器(谁都会),而是要学会如何写 HTML,也就是 Web 的标记语言。如果你不会编程,写HTML会教你一些有助于学习的思考习惯。因此,先完成一个主页。(网上有很多不错的资源,比如 这个 HTML 入门教程。)

但仅仅拥有一个主页不能使你成为一名黑客。Web里充满了各种网页。大多数是毫无意义的、毫无信息量的垃圾——界面时髦的垃圾,不过还是垃圾(更多相关信息访问 The HTML Hell Page)。

要想有价值,你的网页必须有内容——它必须有趣或对其它黑客有帮助。4. 学习英语,如果你的水平不够用的话。

作为一个以英语为母语的美国人,我以前很不情愿提到这点,免得被当做一种文化上的帝国主义。但相当多以其他语言为母语的人一直劝我指出这一点,那就是:英语是黑客文化和 Internet 的工作语言,只有懂英语,你才能在黑客社区顺利做事。

大概1991年的时候,我就了解到许多黑客在技术讨论中使用英语,甚至有时他们来自同一种母语也在用英文讨论。在现阶段,英语有着比其他语言丰富得多的技术词汇,因此是一个对于工作来说相当好的工具。基于类似的原因,英文技术书籍的翻译通常都不怎么令人满意。(如果有翻译的话)。

Linus Torvalds 是芬兰人,但他的代码注解是用英语写的(很明显他从没想过其他的可能性)。他流利的英语。是他能够管理全球范围的 Linux 开发人员社区的重要因素。

黑客零基础入门

对于零基础的朋友第一步要做的是掌握web前后端基础和服务器通讯原理,前后端包括h5,js,PHP,sql等等。

第二步要做的是熟悉当下主流的漏洞原理及利用,包括但不限于,xss,csrf,文件包含,文件上传,远程代码执行,sql注入等等。

第三步就是实战挖掘主流漏洞及代码审计漏洞,本着非授权即违法的原则,大家 不要去找非授权的网站去黑,大家可以在各大SRC平台上挖掘漏洞,SRC即漏洞响应平台。

进入学习阶段:

首先是我给大家推荐的是前端的html/css/js + php进行学习,前端的这些都是肯定需要学习的知识,至于后端的编程语言我建议还是php,主要是因为入门学习快、目的呢就是更快的接触到php+mysql开发。

这样前前后后的知识加起来才能在知识链上完整构成一个网站,这样做的好处的就是快速了解一个网站如何开发,什么是前端和后端,什么是http,什么是数据库,网站的数据都存储在哪?

当然不怕枯燥的话从C语言开始学起更佳,相比于C语言这种学习了半载一年还不一定有什么成果的玩意,直接用工具按照教程来达到目的会容易且有趣的多,但学习C语言在很多的时候,往往能够学习到C语言之外的东西,对程序的运行,内存的分配与管理,数据结构甚至是编程的书写习惯,都有非常大的好处,可以说,C语言学会后再学习其它大部分的语言都会快得多。

黑客需要学什么?

黑客需要学习的东西有很多,底层的有编程语言,操作系统原理,计算机硬件原理,编译原理,网络协议,cpu指令集,再往上一层,应用程序的编写,服务器的配置,各类软件的操作,等等。黑客有很多分支,有擅长编码写程序的,有擅长找程序漏洞的,有擅长逆向破解的,还有喜欢编写木马病毒的,对于新手而言,需要选择一个分支深入下去,到最后彻底精通这个领域,一招鲜吃遍天,先学一门精通后再横向扩展到其他领域

?

编程语言的话建议先学脚本语言,例如浏览器端的就学javascript,服务器端的就是php,asp,jsp等,经常有新手朋友问我黑客那么多领域,我该学那个比较好,从目前市场前景来看,学网络安全更有竞争力,首先随着互联网+,和移动互联网的快速发展,网络安全已经是个不得不重视的事情,而且从学习难度和就业薪资来说网络安全也比开发领域要好,网络安全又可以细分为web安全,移动安全,物联网安全,无线安全,区块链甚之汽车安全,所以你只要再其中选择一个细分领域然后精通后再扩展到其他领域就行,就像我自己就是学web安全出身的

对于想学web安全的朋友该如何学习呢?首先你要理解web是如何运作的,要知道浏览器是如何吧你的请求发送给服务器的,浏览器之间是通过那种协议运作的,这就需要你懂HTML(超文本编辑语言)css,javascript,也要懂服务器端的php语言,如果这些基础的东西你都不懂,就是会利用一些现成的漏洞工具进行一些复制黏贴类的操作对于你没有一点好处,如果漏洞被修复你就什么也做不了,一名真正的黑客是可以独自发现漏洞并可以修复漏洞的

成为黑客的道路是漫长的,只有耐得住寂寞的人才可以到达梦想的河畔,如果你在成为黑客的路上遇到困难想要放弃的时候,你可以通过一些其他的方式来鼓舞自己,学习是一件反人性的事情,遇到困难如果一时解决不了,不妨先放一放,过段时间随着你知识的积累可能就自然而然的明白了,当大家想要放松的时候不妨找些黑客题材的电影来看下,这里我推荐一部德语片,我是谁,没有绝对安全的系统,他会告诉你,这个世界上最大的漏洞是人

黑客基本入门知识

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

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

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

编程的基础知识

Linux的基础知识

web安全的基本知识

网络运维的基本知识

... ...

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

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

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

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

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

?

编程的基础知识

至少要掌握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系统运维的基础知识。

总结

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

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

如需更多帮助,请私信关注。谢谢极客跟你分享极客的经验,也是极客我在信息这个行业多年知道的,看到的。

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

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

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

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

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

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

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

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

(责任编辑:IT教学网)

更多

推荐软件水平考试文章