首页 开发编程 正文

ctf php网站怎么

在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。Reverse题目涉及到软件逆向、pj技术等。...

ctf php网站怎么,想要写个博客用哪种编程语言比较好?

django最省事,集成了很多模块,比如session,序列化,鉴权,认证,jwt等等,不需要自己写,开箱即用。

热爱的中的CTF是真实存在的吗?

首先,《亲爱的,热爱的》中的CTF比赛是真实存在的。

但是,现实中的CTF比赛和剧里是完全不同的。CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。一般是团队赛,每个人主攻一个方向的。

简单的ctf你百度搜一下就可以扫盲了,就不说了。我觉得比较重点的是,你打ctf的话,你要先选择好你的主攻方向是哪个。CTF的主攻方向有以下六个方向,我有简单介绍,并给你推荐部分学习路线。

Reverse题目涉及到软件逆向、pj技术等,要求有较强的反汇编、反编译功底。主要考查参赛选手的逆向分析能力。所需知识:汇编语言、加密与解密、常见反编译工具

PwnCTF 中的 PWN 题型通常会直接给定一个已经编译好的二进制程序(Windows 下的 EXE 或者 Linux 下的 ELF 文件等),然后参赛选手通过对二进制程序进行逆 向分析和调试来找到利用漏洞,并编写利用代码,通过远程代码执行来达到溢出 攻击的效果,最终拿到目标机器的 shell 夺取 Flag。

Pwn 在黑客俚语中代表着攻破,获取权限,在 CTF 比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有整数溢出、栈溢出、堆溢出等。主要考查参赛选手对漏洞的利用能力。所需知识:C,OD+IDA,数据结构,操作系统

下面分享一个pwn的学习路线:

Crypto题目考察各种加解密技术,包括古典加密技术、现代加密技术甚至出题者自创加密技术,以及一些常见编码解码,主要考查参赛选手密码学相关知识点。通常也会和其他题目相结合。所需知识:矩阵、数论、密码学

Web

CTFWeb 是 CTF 的主要题型,CTF-Web必备技能:SQL注入、文件操作、命令执行、反序列化、服务端模板注入、服务端请求伪造、跨站脚本攻击、XML外部实体注入、CTF技巧-PHP、CTF技巧-Node、CTF技巧-Python等。也有一些简单的关于网络基础知识的考察,如返回包、TCP/IP、数据包内容和构造。可以说题目环境比较接近真实环境。

所需知识:PHP、Python、TCP/IP、SQL

下面分享一个web的学习路线:

找到一个超级nice的入门web安全课程

0基础学习web安全,点击即可报名mp.weixin.qq.com/s/whqNJ_ZyHRTvARfa-S11WQ

MiscMisc 即安全杂项,题目涉及隐写术、流量分析、电子取证、人肉搜索、数据分析、大数据统计等,覆盖面比较广,主要考查参赛选手的各种基础综合知识。所需知识:常见隐写术工具、Wireshark 等流量审查工具、编码知识

下面分享一个misc的学习路线:

Mobile主要分为 Android 和 iOS 两个平台,以 Android 逆向为主,pj APK 并提交正确答案。所需知识:Java,Android 开发,常见工具

CTF的各个方向都是不同的,如果是入门的话,会比较推荐以web或者misc方向作为主攻方向。web主要是网站,就会相对比较简单的。misc杂项的话,它的知识是最广的,但是趣味性是最强的,题目贴近生活,所以也是比较好入门的。如果你编程基础很好,对二进制也很感兴趣的话,会比较建议你选pwn或者逆向方向。pwn的得分在比赛里面是最高的。

黑客的技术都是自学的吗?

说到黑客,给人的感觉一直都是很神秘的。我们经常会在电视剧看到一些关于黑客的描述,说某某黑客又攻破了哪个国家的国防部网站。当然,为了电视剧情,都很显然有夸大的成分,且没有事实根据。但是,我们平时听到的黑客,他们所拥有的高超技术又是从哪里学来的呢?

首先我们来了解一下什么叫黑客。

黑客,通常是指对计算机科学、编程和设计方面具高度理解的人。他们拥有熟练的电脑技术,是一群晃荡于网络上的技术人员,通晓计算机,并且能够轻易的进入他人的计算机,窃取他人的机密文件,是对电脑有着超高造诣的计算机高手。但大部分的媒体习惯将“黑客”指作电脑侵入者。

在科技如此发达的今天,黑客已经不再是鲜为人知的人物,而是已经发展成网络上的一个独特的群体。他们有着与常人不同的理想和追求,并且有着自己独特的行为模式。

这些神秘的人是从哪来的呢?人们一直都感到很好奇,但其实,除了极少数的职业黑客以外,大多数都是业余的黑客。而黑客在现实中与普通人没两样,或许,他就是你我身边的一个普通的小职员。

那么,那么强大的技术,他们是怎么得来的呢?

一、自学成才

很多人觉得,黑客掌握了这么强大的技术,肯定都是计算机出身,其实不然,大多数黑客都对计算机极度敏感,并且大都是自学成才,且能够轻松的自学编程、四种基本语言 Python、C、 Perl、 LISP等

二、计算机出身

相对于自学,计算机出身占比较少。

那么。黑客的技术有多么可怕?下面请大家跟着小编一起来感受一下当年被“熊猫烧香”支配的恐惧

2006年年末,一种“熊猫烧香”的病毒袭来,短短数天便席卷全国,其病毒传播速度之快令人咋舌,导致国内网络严重瘫痪,中国网民头一次感受到了电脑病毒的恐怖之处。

该病毒具体表现是什么?

一、感染exe文件

他会将绑定exe文件,并且将其图标变成熊猫烧香的模样。

二、感染web文件

它大范围传播的主要因素之一:网页传播。因互联网的原因,所以造成大范围传播。

并且,2006年,我刚好在上大一,那个时候我还没有买电脑,但我同寝室室友的电脑中了这个病毒,当时具体怎么中毒的他也不知道,后来了解应该是点击了有病毒的网页,所以中了招!

接下来该病毒的恐怖就体现出来了!室友电脑中毒之后基本上就废掉了,完全不能用,记得当时他的电脑存了很多课件,但在中毒之后,不止文件打不开,就连桌面上的图标都变成熊猫的头像,还不时的在电脑右下角跳出一只大熊猫出来烧香!

后来重启好多次都不能用,没办法,只能将电脑硬盘格式化然后重装系统,这样电脑虽然正常了,但是电脑里面存放的文件与课件全部都被删掉了,因此造成了巨大的损失。

熊猫烧香造成了多大的损失?

在06年底到07年这段时间,全国范围都有感染该病毒,只要一感染病毒,电脑里的文件基本废了,所以这里造成的损失是不可估量的,保守估计就是要达到上亿元的损失。

最后看一下熊猫烧香的发明者。

实际上这个熊猫烧香的技术并没有多高明,开发者名叫李俊,仅中专毕业,且计算器技术也是后来自学的,李俊在中专毕业之后,就到网吧里面学编程技术,后来还加入了一些网络红组织对境外一些网站进行反击,只是后来,李俊觉得自己屈才,所以就发明了熊猫烧香想要展示自己的能力。

如何系统的自学网络安全?

最全最有用的网络安全学习路线已经安排上了废话不多说,先上一张图镇楼,看看网络安全有哪些方向,它们之间有什么关系和区别,各自需要学习哪些东西。

【一>所有资源获取<一】1、200 份很多已经买不到的绝版电子书 2、30G 安全大厂内部的视频资料 3、100 份 src 文档 4、常见安全面试题 5、ctf 大赛经典题目解析 6、全套工具包

在这个圈子技术门类中,工作岗位主要有以下三个方向:

安全研发安全研究:二进制方向安全研究:网络渗透方向

下面逐一说明一下。

第一个方向:安全研发

你可以把网络安全理解成电商行业、教育行业等其他行业一样,每个行业都有自己的软件研发,网络安全作为一个行业也不例外,不同的是这个行业的研发就是开发与网络安全业务相关的软件。

既然如此,那其他行业通用的岗位在安全行业也是存在的,前端、后端、大数据分析等等,不过除了这类通用开发岗位,还有一部分与安全业务紧密相关的研发岗位。

这个分类下面又可以分为两个子类型:

做安全产品开发,做防做安全工具开发,做攻

安全行业要研发的产品,主要(但不限于)有下面这些:

防火墙、IDS、IPSWAF(Web 网站应用防火墙)数据库网关 NTA(网络流量分析)SIEM(安全事件分析中心、态势感知)大数据安全分析 EDR(终端设备上的安全软件)DLP(数据泄漏防护)杀毒软件安全检测沙箱

总结一下,安全研发的产品大部分都是用于检测发现、抵御安全攻击用的,涉及终端侧(PC 电脑、手机、网络设备等)、网络侧。

开发这些产品用到的技术主要以 C/C++、Java、Python 三大技术栈为主,也有少部分的 GoLang、Rust。

安全研发岗位,相对其他两个方向,对网络安全技术的要求要低一些(只是相对,部分产品的研发对安全技能要求并不低),甚至我见过不少公司的研发对安全一无所知。在这种情况下,如果除了基本的开发功底以外,对网络安全技术有所了解,自然会是你面试这些岗位时的加分项。

第二个方向:二进制安全

二进制安全方向,这是安全领域两大技术方向之一。

这个方向主要涉及到软件漏洞挖掘、逆向工程、病毒木马分析等工作,涉及操作系统内核分析、调试与反调试、反病毒等技术。因为经常都是与二进制的数据打交道,所以久而久之用二进制安全来统称这个方向。

这个方向的特点是:需要耐得住寂寞。

比不上安全研发可以有实实在在的产品输出,也比不上网络渗透方向听起来的狂拽炫酷,这个方向更多时间是在默默的分析和研究。

以漏洞挖掘为例,光是学习五花八门的攻击手法就需要花不少的时间。在这个领域,为了研究一个问题,可能花费数月甚至数年时间,这绝非一般人能坚持下来的。不仅如此,不是勤奋就可以成功,更多还要靠天分。

像腾讯几大安全实验室的掌门人,业界知名的 TK 教主、吴石这些人物,他们已经深谙漏洞挖掘的奥义,并将这门绝技融会贯通,做个梦都能想到新的玩法。不过像这样的天才实在是少之又少,绝大多数人都无法企及。

如果说程序员是苦逼的话,那二进制安全研究就是苦逼 Plus。

第三个方向:网络渗透

这个方向更符合于大部分人对“黑客”的认知,他们能够黑手机、黑电脑、黑网站、黑服务器、黑内网,万物皆可黑。

相比二进制安全方向,这个方向初期更容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。

不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就多了。

网络渗透的方向更偏向于“实战”,因此对技术在广度上有更高的要求,从网络硬件设备、网络通信协议、网络服务(web、邮件、文件、数据库等)、到操作系统、攻击手法等等都需要了解。更偏向于一个全能型的计算机专家,将各种技术融会贯通,以用于“实战”。

下面开始说说学习路线的问题,内容有点长,可以先三连,这样不迷路及时找得回来哦。

学习路线

下面以网络渗透为例,看一下一个新手从零基础开始,要学哪些东西,以及具体的学习路线是什么?

先来一个大局图,从全局上整体把握:

在这张图路线图中,一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣。

下面的内容,一定要结合上面这张图看效果才最好,建议在浏览器中新建一个 tab 页面,打开那张图,结合着看。

石器时代

第一个阶段——石器时代,针对的是纯新手小白刚刚入场。在这个阶段,主要是打基础,需要学习的有五部分内容:

Windows

Windows 上基础的一些命令、PowerShell 的使用和简单脚本编写,以及 Windows 以后经常会打交道的几个重要组件的使用:注册表、组策略管理器、任务管理器、事件查看器等。

除此之外,学习在 Windows 上面搭建虚拟机,学会安装系统,为接下来学习 Linux 做准备工作。

Linux

网络安全,必然要与 Linux 经常打交道,我看到很多新人一上来就跟着一些培训班学习 Kali,学的云里雾里的。连基本的 Linux 概念都没建立起来,就急着学 Kali,这属于还没学会走路就去学跑步,本末倒置了。

在基础阶段,主要以使用为主,学习文本编辑、文件、网络、权限、磁盘、用户等相关的命令,对 Linux 有一个基本的认知。

计算机网络

网络安全,计算机网络肯定是非常重要的存在。作为基础阶段,这一小节主要从宏观上学习计算机网络,而不是死扣某一个协议的某些字段意义。

首先从局域网出发,了解计算机通信的基本网络——以太网,局域网内是如何通信的?集线器、交换机有什么区别?MAC 地址、IP 地址、子网、子网掩码分别是做什么用的?

随后引出更大的广域网、互联网,什么是网络通信协议,通信协议分层的问题,通过七层和四层模型快速建立起计算机网络的基础概念,各层协议的作用,分别有哪些协议,这些协议在当今的互联网中具体是怎么应用的。

Web 基础

网络渗透中非常重要的一个组成部分就是 Web 安全,要学习 Web 安全,得先从 Web 前端基础开始入手。

这一小节非常简单,就是学习最原始的 Web 前端三板斧:HTML+CSS+JS 的开发使用,为将来学习 Web 相关的安全知识打下基础。

这一小节是相对偏实际动手多一些,需要自己多动手进行一些网页编程,尤其是 JavaScript 的熟悉掌握,了解 Ajax 是什么东西,常用的 jQuery 库也学习一下,这都是 Web 前端中非常基础和常用的内容。

数据库基础

基础阶段的最后一部分,可以来接触一些数据库的基础知识了。

这个阶段主要学一些理论知识,重点掌握库、表、索引等概念,然后学习 SQL 的编写,学会增删改查数据。暂时不用编程来操作数据库。

青铜时代

度过了石器时代,你已经储备了一些计算机的基础知识:操作系统的使用,网络协议,前端基础,数据库初识,但这距离做网络安全还不够,在第二个青铜阶段,你还需要再进一步学习基础,在第一阶段之上,难度会开始慢慢上升。

这一阶段需要学习的知识有:

Web 进阶

在前面的石器时代,咱们初步接触了网页编程,了解了网页的基本原理。不过那时候是纯前端的,纯静态的网页,没有接触后端。在这个进阶的阶段,你要开始接触 Web 后端的内容了。

首先从常用的两大主流 Web 服务器出发,学习 Apache 和 Linux 的基本知识,随后引出动态网页的基本原理,从 CGI/Fast-CGI 过渡到后来的 ASP/PHP/ASPX/JSP 等动态网页技术,了解它们的发展历史,演变过程和基础的工作原理。

最后再学习一些 Web 开发中的基础知识:表单的操作、Session/Cookie、JWT、LocalStorage 等等,了解这些基本的术语都是什么意思,做什么用,解决了什么。

PHP 编程

学习 Web 后端开发,得搭配学习一个后端开发语言才行。在这一小节,选择从 PHP 入手。

不过要记住,这里选择 PHP 不是让你以后从事 PHP 的后端开发,也不是说 PHP 现在有多流行,而是特定历史背景下,PHP 相关的网站安全问题非常具有代表性,选择这门语言更方便我们研究安全问题。

由于学习的目的不同,所以在学习方法上和普通的后端开发就有所不同了。在这里咱们学习一下语法基础,基本的后端请求处理,数据库访问,然后再接触一下常用的 ThinkPHP 框架即可,当然如果你有兴趣,学的更深入当然更好。

计算机网络进阶

第二阶段需要再充实一下计算机网络的学习。这一次,重点把精力放在 HTTP/HTTPS 以及抓包分析之上。

Linux 上的 tcpdump 必须掌握,包括常见的参数配置。然后重点学习 Wireshark 分析数据包,用 Fiddler 抓取分析加密的 HTTPS 流量。

通过在抓包软件下查看通信流量,对计算机网络的认识从抽象变得具象。

加解密技术

接着,来了解一些网络安全领域内经常打交道的编解码技术和加解密技术。包括 base64 编码、对称加密、非对称加密、哈希技术等等。

了解它们基础的概念、做什么用的,解决什么问题,最后再了解下工作原理。

推荐书籍:《加密与解密》

白银时代

现在进入第三个阶段——白银时代,激动人心的时刻就要到来了,在这个阶段,我们开始全面学习真正的网络安全技术了,前面两个阶段打下的基础,在这个阶段,也将派上用场。

这一阶段需要学习的知识有:

Web 安全入门

有了前面的 Web 前端和 PHP 编程的基础,可以来正式学习 Web 安全了。Web 安全领域内几大典型的攻击手法:SQL 注入、XSS、CSRF、各种注入、SSRF、文件上传漏洞等等,每一个都需要详细学习,一边学习理论,一边动手实践。

千万注意别拿互联网上的网站来攻击学习,这是违法的行为。自己可以在虚拟机中搭建一些包含漏洞的网站(网络上有很多可以下载来玩),拿自己建的网站练手。

网络扫描与注入

前面学习了一些 Web 安全的攻击手法,但光有这些还不够,当我们面对攻击目标后,如何寻找攻击点,获取目标的信息至关重要。

这些信息包括:目标运行了什么操作系统,开放了哪些端口,运行了哪些服务,后端服务是什么类型,版本信息是什么等等,有哪些漏洞可以利用,只有获取到了这些信息,才能有针对性的制定攻击手段,拿下目标。

常见的网络信息扫描包括端口扫描、网站后台扫描、漏洞扫描等等。需要学习常用的扫描工具以及它们的工作原理。

信息搜集 & 社会工程学

除了上面需要扫描的信息,在网络安全中,经常还需要调研很多信息,比如网站的注册信息、相关联的人物、网站内部的内容检索等等。这就需要学习掌握信息搜集和社会工程学的相关技术。

whois 信息用来查询域名信息,shodan、zoomeye、fofa 等网络空间搜索引擎检索 IP、域名、URL 等背后的信息,Google Hacking 利用搜索引擎来检索网站内部信息,这些东西都是在网络信息搜集中经常用到的技能。

暴力pj

在网络攻击中,当扫描到目标开放的服务后,最直接的就是想要登录进去。常见的服务有 SSH、RDP、MySQL、Redis、Web 表单等等。

这个时候,暴力pj通常会派上用场,通过使用各种服务常见用户名密码组成的字典,通过程序暴力pj。

常用的爆破工具有 hydra、超级弱口令,另外还有一个 mimikatz,常用来获取 Windows 系统的密码。

黄金时代

上一个阶段,学习了一些安全攻击技术,在这一个阶段,需要学习一下安全防御和安全检测技术,安全具有攻防两面性,缺一不可。

WAF 技术

首先要学习的就是 WAF——Web 应用防火墙。

Web 安全学习的是通过 Web 技术攻击计算机系统,WAF 就是检测和防御这些安全攻击。正所谓知己知彼才能百战百胜,作为攻方,要掌握 WAF 的工作原理,找到弱点绕过检测,作为守方,需要不断加强安全检测和防御能力,有效的发现和抵御 Web 攻击。

需要学习当下主流的 WAF 软件所采用的架构比如 openresty、modsecurity,以及主要的几种检测算法:基于特征的、基于行为的、基于机器学习的等等。

网络协议攻击 & 入侵检测

WAF 主要针对的是 Web 相关的安全攻击,到这一小节,将视野进一步拓展到整个网络协议栈,TCP 劫持、DNS 劫持、DDoS 攻击、DNS 隧道、ARP 欺骗、ARP 泛洪等等,需要掌握这些传统经典攻击手段的原理,搭建环境实践,为后续的内网渗透打下基础。

另外作为防守的一方,还需要学习通过网络流量分析技术来进行安全检测,了解常用的网络分析技术,检测框架,规则语法,对以后从事安全相关开发或安全防御工作进行储备。

日志技术

通过日志来发现攻击行为是一种最常见的行为,攻击者的 Web 请求,系统登录,暴力pj尝试等等都会被系统各种软件记录在案,攻击者得手后也经常会抹除相关的日志记录,所以学习掌握这些日志,是攻防两队的人都需要学习的技能。

常见的日志有系统登录日志(Windows、Linux)、Web 服务器日志、数据库日志等等。

Python 编程

在这个阶段,是时候来学习一些 Python 编程开发了。虽然网络安全不用经常做大量的工程开发,但掌握基本的编程能力,可以用来编写爬虫、数据处理、网络扫描工具、漏洞 POC 等等,都是非常有用的,而众多编程语言中,Python 无疑是最适合的。

浏览器安全

这个阶段的最后一部分,来学习了解一些浏览器侧的安全知识,夯实 Web 安全中与浏览器相关的漏洞攻击。

需要重点掌握 IE、Chrome 两款最主流的浏览器特性,浏览器的沙盒机制是什么,同源策略和跨域技术等等。

铂金时代

第三方组件漏洞

前面 Web 安全相关的攻击都是一些很多年的经典手法了,经过多年的发展已经相当成熟,相关的漏洞早已不如以前多,现在很多时候的攻击,都是依靠各种各样的第三方组件漏洞完成的,所以学习研究这些常见第三方组件的漏洞,一方面掌握这些攻击手法用于实战中使用,另一方面触类旁通,对从事漏洞挖掘的工作也是非常有帮助的。

研究的对象主要涵盖目前互联网服务中实际使用的一些工程组件,比如 Java 技术栈系列 Spring 全家桶、SSM、Redis、MySQL、Nginx、Tomcat、Docker 等等。

内网渗透

网络渗透中,攻下一个点后,只是一个开始,攻入以后如何转移,控制更多的节点,是内网渗透研究学习的范畴。典型的如当年的永恒之蓝病毒,通过 SMB 协议漏洞,快速扩散传播,造成了大面积的中招。

内网渗透中要学的东西既多且杂,难度要上升不少,但这是做网络渗透的非常重要的一块儿,必须多啃一啃。这一部分理论较少,偏实战性多一些,需要多搭建环境模拟学习。

操作系统安全技术 & 提权技术 & 虚拟化技术

通过 web 等手段渗透进入计算机后,由于各种限制原因,经常会有提权的需求,还会涉及到许多跟操作系统安全机制紧密相关的内容,所以学习一些操作系统的安全知识也是非常有必要的。

像 Windows、Linux 上各自的权限管理机制,提权方法和常用的漏洞,工具等等。

最后,再学习一些虚拟化技术相关的知识,应对可能需要从虚拟机中逃逸的场景。

王者时代

CobalStrike & MetaSploit

搞网络渗透,这两个神器是绝对少不了的。前面学习的信息扫描、漏洞攻击、内网渗透、木马植入、端口反弹等等各种技术,都可以通过这两个神器进行综合运用,融会贯通。同时,这两个也是各大黑客团队经常使用的工具软件。

学习使用这两个神器,将大大提升攻击效率,是网络渗透人员居家旅行必备之选!

其他安全技术拓展

到了网络渗透的后期阶段,想成为一个安全高手,绝不只是固步自封在自己擅长的领域,需要多学习网络安全的其他领域,拓展自己的知识面。

比如二进制漏洞攻击、逆向工程、木马技术、内核安全、移动安全、侧信道攻击等等,当然在学习的时候,不用像专业方向的同学那么深入,但需要涉猎了解,丰富自己的知识面,构建全方位的网路安全知识技能栈。

以上就是我分享的网络安全学习路线了,希望对自学的你有一些启发和帮助。

新入行的朋友自学不容易,我也是这样一路走过来的,在这个过程中收集整理了不少学习资料,里面有:

【一>所有资源获取<一】1、200 份很多已经买不到的绝版电子书 2、30G 安全大厂内部的视频资料 3、100 份 src 文档 4、常见安全面试题 5、ctf 大赛经典题目解析 6、全套工具包

现在免费分享给自学的你,如果感到有所帮助,欢迎帮忙给我点个赞喔~

本文转载自互联网,如有侵权,联系删除