Web安全基础教程(非常详细)从零基础入门到精通,看完这一篇就够了

Web简介:

Web 即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。

万维网常被当成因特网的同义词,但万维网与因特网有着本质的差别。因特网(internet)指的是一个硬件的网络,全球的所有电脑通过网络连接后便形成了因特网。而万维网更倾向于一种浏览网页的功能。

互联网包含因特网,因特网包含万维网,即:互联网 > 因特网 > 万维网。

01静态页面和动态页面

静态页面:在静态html页面中,用户通过web浏览器HTTP协议向web服务器发送一个响应请求,告诉web服务器要浏览这个网站的哪个页面,接着根据用户的响应请求返回一个html页面给用户,经过浏览器渲染解析呈现在用户眼前。

静态web页面是没有数据库文件的,所以不能连接网络数据库;

静态web页面主要是通过html代码开发设计的;

部分静态web页面为了页面的好看,使用了大量的JS代码,导致静态web页面打开速度慢。

动态页面:在动态web页面中,依然要通过web服务器的html协议或https协议响应才能返回结果给用户,用户所有请求都必须要通过web服务器处理才能实现。

用户的响应请求是一个静态的html页面,只需要响应请求web服务器从系统中调出用户响应的内容,将内容返回给客户端浏览器进行处理,再返回给用户。

如果用户响应请求的是动态页面资源,例如.jsp/.asp/.aspx、/.php等,响应步骤是先将用户请求发送给web服务器,web服务器再从数据库调出有用户请求的数据,调出数据后将所需要展示给用户的内容发送给服务器,最后通过web服务器将需要展示给用户的内容返回给用户浏览器解析执行,展示给用户。

Web 1.0和web 2.0的本质区别

两者的本质区别在于:web1.0主要在于用户通过浏览器获取信息;Web2.0则更注重用户的交互作用。

URL

统一资源定位符,俗称网页地址或简称网址,是因特网上标准的资源地址,如同在网络上的门牌。已经被万维网联盟编制为因特网标准RFC 1738

URL组成:协议+主机+端口+路径+参数

常见端口:HTTP:80 HTTPS:443 MySQL:3306

HTML基础

超文本标记语言 – html

HTML元素(标签)

这是一个段落。

HTML标签简介

声明为HTML5文档 元素是HTML页面的根元素 元素包含了文档的元(meta)数据,如定义网页编码格式为utf-8 元素描述了文档的标题 元素包含了可见的页面内容

元素定义了一个大标题

元素定义一个段落

注:在浏览器的页面上使用键盘上的F12按键开启调试模式,就可以看到组成标签。

HTML-段落

HTML段落是通过标签

来定义的,

这是一个段落

<这是另一个段落>

HTML-链接

HTML链接是通过标签来定义的

标签的href属性用于指定超链接目标的URL。在href属性中指定链接的地址。

HTML-图像

HTML图像是通过标签来定义的

HTML-水平线


标签在HTML页面中创建水平线;Hr元素可用于分割内容。

HTML-注释

可以将注释插入HTML代码中,这样可以提高其可读性,使代码更容易被人理解

HTML-换行

如果我们希望在不产生一个新段落的情况下进行换行(新行),请使用
标签;

这个
段落
演示了分行的效果

HTTP

什么是HTTP?

超文本传输协议(HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。当时选择使用HTTP协议,是因为它使开发和部署非常地直截了当。

如何访问web应用?

  1. 在浏览器地址栏键入URL访问
  2. 浏览器向DNS(域名解析)服务器请求解析该URL中的域名所对应的IP地址。
  3. 解析出IP地址后,根据该IP地址和默认80端口跟服务器建立TCP连接
  4. 浏览器发出读取文件(URL中域名后面部分对应的文件)的HTTP请求,该请求报文作为TCP三次握手的第三个报文的数据发送给服务器
  5. 服务器对浏览器请求作出响应,并把对应的html文本发送给浏览器
  6. 浏览器将该html文本进行解析并显示内容。

HTTP协议的内部操作过程

HTTP定义的事务处理由以下四步组成:

①客户端与服务器建立连接

②客户端向服务器端发送请求

③服务器端向客户端回复响应

④断开

HTTP/1.0和HTTP/1.1协议的区别

HTTP1.1版本发布比HTTP/1.0晚了半年,这个版本最大的变化就是持久化连接加入了HTTP标准,即TCP连接默认不关闭,可以被多个请求复用。此外,HTTP/1.1版还新增了很多方法,例如:PUT、CONNECT、HEAD、OPTIONS、DELETE。得到进一步完善的HTTP/1.1版本,一直沿用至今。

HTTP-请求方法

方法(操作)

含义

GET

请求获取Request-URL(请求地址)所标识的资源。(请求读取由URL所标志的信息)

POST

在Request-URL所标识的资源后附加新的数据。(给服务器添加信息,例如注释)

HEAD

请求获取由Request-URL所标识的资源的响应消息报头。

PUT

请求服务器存储一个资源,并用Request-URL作为其标识。

DELETE

请求服务器删除Request-URL所标识的资源。

TRACE

请求服务器回送收到的请求信息,主要用于测试或诊断。

CONNECT

用于代理服务器。

OPTIONS

请求查询服务器的性能,或者查询与资源相关(特定)的选项和需求。

GET和POST的区别

原理区别

URL全称是资源描述符,一个URL地址用于描述一个网络上的资源,HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。

GET一般用于获取/查询资源信息;POST一般用于更新资源信息。

GET用于信息获取时应该是安全的,幂等的。

安全:该操作用于获取信息而非修改信息,它仅仅是获取资源信息,就像数据库查询一样,不会修改/增加数据,不会影响资源的状态。

幂等:对同一URL的多个请求应该返回同样的结果。

POST表示可能修改服务器上的资源的请求。

HTTP协议的主要特点

1.支持客户/服务器模式:一个服务器可以为分布在世界各地的许多客户服务。

2.简单快捷:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET和POST。

由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

请求首部

描述

Accept

指定客户端接受信息的类型(MIME类型)

Connection

允许C/S指定与请求/响应连接的有关选项

Host

请求的服务器的主机名和端口号

Referer

包含一个URL,用户从该URL代表的页面出发访问当前请求的页面

Use-Agent

发起请求的应用程序名称

Accept-Encoding

告诉服务器能够接受哪些内容编码方式

Content-Length

表示请求消息正文的长度

Cookie

客户端提供给服务器的认证数据

HTTP请求头 - Cookie

HTTP Cookie:

Cookie通常也叫做网站Cookie,浏览器Cookie或者httpCookie,是保存在用户浏览器端的,并在发出http请求时会,默认携带的一段文本片段。它可以用来做用户认证,服务器校验等通过文本数据可以处理的问题。

HTTP请求头 - Referer

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。

500

服务器内部错误

服务器遇到错误,无法完成请求。

501

尚未实施

服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。

502

错误网关

服务器作为网关或代理,从上游服务器收到无效响应。

503

服务不可用

服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。

504

网关超时

服务器作为网关或代理,但是没有及时从上游服务器收到请求。

505

HTTP 版本不受支持

服务器不支持请求中所用的 HTTP 协议版本。

HTTP的缺陷

由于HTTP协议的简单特性,且不保存客户端的状态,不进行验证客户端是否是真实存在,传输使用的是明文传输,故也很具有缺点。

①通信双方使用明文传输(不加密),内容可能会被窃听。

②不验证通信方的身份,因此可能遭遇伪装。

③无法证明报文的完整性,所以有可能已遭篡改。

在这几个缺点的基础上为了防止这些问题的发生,出现了HTTPS

HTTPS协议基础

  1. 什么是HTTPS

HTTPS是在HTTP上简历SSL加密层,并对传输数据进行加密,是HTTP协议的安全版。

  1. HTTPS主要作用:

①对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全;

②对网站服务器进行真实身份认证。

默认HTTP的端口号为80,HTTPS的端口号为443。

HTTP和HTTPS两者的区别

本质:明文和加密

信任主机的问题:采用https的server必须从CA申请一个用于证明服务器用途类型的证书,改证书只有用于对应的server的时候,客户端才信任该主机。

为什么需要加密:①防止中间人攻击 ②防钓鱼

BURP(代理服务器)— **“**中间商”


题外话

初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:

  • 2023届全国高校毕业生预计达到1158万人,就业形势严峻;

  • 国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。

一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。

6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。

2022届大学毕业生月收入较高的前10个专业

本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。

“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。

网络安全行业特点

1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

Guess you like

Origin blog.csdn.net/Python_0011/article/details/132623133