网络篇

1.网络安全相关术语

IP地址:IP地址(Internet Protocol Address)是指互联⽹协议地址,⼜译为⽹际协议地址。IP地址是IP协议提供的⼀种统⼀的地址格式,它为互联⽹上的每⼀个⽹络和每⼀台主机分配⼀个逻辑地址,以此来屏蔽物理地址的差异。渗透测试中,IP 地址⼀般出现在服务器、PC 、路由交换等设备中,可以把IP 地址理解成我们⽣活中的家庭地址。(ip.3322.org,https://myip.ms/,http://ipip.net/,查询ip)

VPS:Virtual Private Server 虚拟专⽤服务器技术,将⼀台服务器分割成多个虚拟专享服务器的优质服务。我
们⼀般⼈通常说的VPS就是⼀台⼈家虚拟出来的服务器,这台服务器有外⽹IP,我们可以装好系统并直接连
接。

端⼝:设备与外界通讯交流的进出口

⼀句话⽊马:指的是那些代码长度很短的脚本⽊马。asp的其中⼀种⼀句话⽊马:<%execute(request("value"))%>

⼤马:指的是那些功能很多的脚本⽊马,⼀般都包含但不限于⽂件管理、cmd执⾏、可读写⽬录查找,例如
redhat的⼤马还有提权难易程度检测功能。(一句话木马通过菜刀也可控制文件管理,cmd执行?-低权限?)

Webshell:指的是已经在某个web植⼊脚本⽊马,且该⽊马能被解析成脚本⽂件,并能被访问到,能通过这个
⽂件控制web。

URL:平常所说的链接

提权:权限提升,提权都需要利⽤到漏洞

POC:全称proof of concept,验证漏洞

EXP:全称exploit,漏洞利⽤程序,具有破坏能⼒。

payload:译作”有效载荷“,当exploit利⽤成功后将执⾏payload。

shellcode:漏洞利⽤的过程,就是把shellcode发送到⽬标服务器,其中shellcode包含payload,如果shellcode
被成功执⾏,那么才会执⾏有效载荷payload,这个载荷可以是⼀条os命令,可以是⼀段⼆进制代码。

CMS:内容管理系统

反序列化:只将字节序列转换成⽬标对象的过程

Fuzz测试:模糊测试,是⼀种安全测试⽅法/思想,可理解为,使用随机或是半随机的方式生成大量数据,发送数据给被测系统,检测系统状态,判断是否存在漏洞

2.IP相关知识

IP地址分类 IP地址根据⽹络号和主机号来分,分为A、B、C三类及特殊地址D、E。 全0和全1的都保留不⽤。 A类:(1.0.0.0-126.0.0.0)(默认⼦⽹掩码:255.0.0.0或 0xFF000000)第⼀个字节为⽹络号,后三个字节为 主机号。该类IP地址的最前⾯为“0”,所以地址的⽹络号取值于1~126之间。⼀般⽤于⼤型⽹络。 B类:(128.0.0.0-191.255.0.0)(默认⼦⽹掩码:255.255.0.0或0xFFFF0000)前两个字节为⽹络号,后两个 字节为主机号。该类IP地址的最前⾯为“10”,所以地址的⽹络号取值于128~191之间。⼀般⽤于中等规模⽹ 络。 C类:(192.0.0.0-223.255.255.0)(⼦⽹掩码:255.255.255.0或 0xFFFFFF00)前三个字节为⽹络号,最后 ⼀个字节为主机号。该类IP地址的最前⾯为“110”,所以地址的⽹络号取值于192~223之间。⼀般⽤于⼩型 ⽹络。 D类:是多播地址。该类IP地址的最前⾯为“1110”,所以地址的⽹络号取值于224~239之间。⼀般⽤于多路 ⼴播⽤户[1] 。 E类:是保留地址。该类IP地址的最前⾯为“1111”,所以地址的⽹络号取值于240~255之间。

在IP 地址3 种主要类型⾥,各保留了3 个区域作为 私有地址 ,其地址范围如下: A类地址:10.0.0.0~10.255.255.255 B类地址:172.16.0.0~172.31.255.255 C类地址:192.168.0.0~192.168.255.255 回送地址:127.0.0.1。 也是本机地址,等效于localhost或本机IP。⼀般⽤于测试使⽤。例如:ping 127.0.0.1来测试本机TCP/IP是否正常。

3.常见网络设备

服务器 :
提供计算服务的设备。由于服务器需要响应服务请求,并进⾏处理,因此⼀般来说服 务器应具备承担服务并且保障服务的能⼒。

VPS :
Virtual Private Server 虚拟专⽤服务器技术,将⼀台服务器分割成多个虚拟专享服务器的优质服务。我们⼀般 ⼈通常说的VPS就是⼀台⼈家虚拟出来的服务器,这台服务器有外⽹IP,我们可以装好系统并直接连接。

ECS:
ECS是阿⾥的云服务器的名字,不同云服务器的供应商名字叫法不⼀样,例如百度的云服务器好像叫BCC。云服务器简单粗暴的可以理解为就是⼀台电脑,⽐你说的主机空间好⼀点。空间相当于电脑的⼀部分,通常只能⽤来上传⽹站。

防⽕墙:
防⽕墙技术是通过有机结合各类⽤于安全管理与筛选的软件硬件设备,帮助计算机⽹络于其内、外⽹之间构建⼀道相对隔绝的保护屏障,以保护⽤户资料与信息安全性的⼀种技术。

路由器:
连接两个或多个⽹络的硬件设备,在⽹络间起⽹关的作⽤,读取每⼀个数据包中的地址然后决定如何传送的专⽤智能性的⽹络设备。通常是⼀个计算机,它能够理解不同的协议,例如某个局域⽹使⽤的以太协议,因特⽹使⽤的TCP/IP协议。这样,路由器可以分析各种不同类型⽹络传来的数据包的⽬的地址,把⾮TCP/IP⽹络的地 址转换成TCP/IP地址,或者反之;再根据选定的路由算法把各数据包按最佳路线传送到指定位置。所以路由器 可以把⾮TCP/ IP⽹络连接到因特⽹上。

交换机 :
交换机(Switch)意为“开关”是⼀种⽤于电(光)信号转发的⽹络设备。它可以为接⼊交换机的任意两个⽹络节 点提供独享的电信号通路。最常见的交换机是以太⽹交换机。其他常见的还有电话语⾳交换机、光纤交换机等。

集线器:
集线器的英⽂称为“Hub”。“Hub”是“中⼼”的意思,集线器的主要功能是对接收到的信号进⾏再⽣整形放⼤,以扩 ⼤⽹络的传输距离,同时把所有节点集中在以它为中⼼的节点上。(用于大型网络)

4.网络端口及扫描

端口
"端口"是英⽂port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端 口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口⼜称为接口,是可见端口。
每个端口对应不同的服务,每一种服务都有可能出现不同的漏洞情况

端口扫描工具有: nmap(不老的神器:安全扫描器Nmap渗透使用指南 - FreeBuf网络安全行业门户),metasploit,全网扫描器 masscan,zmap

5.Http协议

超⽂本传输协议(HTTP,HyperText Transfer Protocol)是互联⽹上应⽤最为⼴泛的⼀种⽹络协议。所有的WWW⽂件都必须遵守这个标准。超文本传输协议 (HTTP) 是一个用来通过互联网传输和接收信息的协议

HTTP 使用请求/响应的过程,因此信息可在服务器间快速、轻松而且精确的进行传输。当你访问 Web 页面的时候你就是在使用 HTTP 协议,但 HTTP 是不安全的,可以轻松对窃听你跟 Web 服务器之间的数据传输。

HTTPS

HTTPS (基于安全套接字层的超文本传输协议 或者是 HTTP over SSL) 是一个 Netscape 开发的 Web 协议
HTTPS = HTTP + SSL
HTTPS 在 HTTP 应用层的基础上使用安全套接字层作为子层
HTTPS 和 HTTP 唯一不同的只是一个协议头(https)的说明,其他都是一样的

HTTP 和 HTTPS 的不同之处

  1. HTTP 的 URL 以 http:// 开头,而 HTTPS 的 URL 以 https:// 开头

  2. HTTP 是不安全的,而 HTTPS 是安全的

  3. HTTP 标准端口是 80 ,而 HTTPS 的标准端口是 443

  4. 在 OSI 网络模型中,HTTP 工作于应用层,而 HTTPS 工作在传输层

  5. HTTP 无需加密,而 HTTPS 对传输的数据进行加密

  6. HTTP 无需证书,而 HTTPS 需要认证证书

HTTPS 如何工作?

使用 HTTPS 连接时,服务器要求有公钥和签名的证书。
当使用 HTTPS 连接,服务器响应初始连接,并提供它所支持的加密方法。作为回应,客户端选择一个连接方法,并且客户端和服务器端交换证书验证彼此身份。完成之后,在确保使用相同密钥的情况下传输加密信息,然后关闭连接。为了提供 https 连接支持,服务器必须有一个公钥证书,该证书包含经过证书机构认证的密钥信息,大部分证书都是通过第三方机构授权的,以保证证书是安全的。
换句话说,HTTPS 跟 HTTP 一样,只不过增加了 SSL。

HTTP请求包

http请求由三部分组成,分别是:请求行、消息报头(请求头)、请求正⽂(请求数据)。

请求行

请求行以⼀个⽅法符号开头,以空格分开,后⾯跟着请求的URI和协议的版本。
格式如下:Method Request-URI HTTP-Version
Method表⽰请求⽅法代码
Request-URI是⼀个统⼀资源标识符
HTTP-Version表⽰请求的HTTP协议版本

常见的请求方法

GET 请求获取Request-URI所标识的资源
POST 在Request-URI所标识的资源后附加新的数据
HEAD 请求获取由Request-URI所标识的资源的响应消息报头
PUT 请求服务器存储⼀个资源,并⽤Request-URI作为其标识
DELETE 请求服务器删除Request-URI所标识的资源
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求

消息报头

GET / HTTP/1.1
Host: www.baidu.com
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: BAIDUID=3619B40D8A677CD0832ABBD13A1CA9E7:FG=1; BIDUPSID=3619B40D8A677CD0832ABBD13A1CA9E7; PSTM=1599115264; BD_UPN=13314552; COOKIE_SESSION=617514_0_7_7_8_1_0_0_7_1_0_0_617508_0_12_0_1604841052_0_1604841064%7C9%230_1_1603695605%7C1; BD_HOME=1; H_PS_PSSID=1458_33048_33060_33099_33100_32962
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0

⼀些常见的请求报头

User-Agent:包含发出请求的⽤户信息。
Host:对应网址URL中的Web名称和端口号。
Accept:Accept请求报头域⽤于指定客户端接受哪些类型的信息。eg:Accept:image/gif,表明客户端希望接受
GIF图象格式的资源;Accept:text/html,表明客户端希望接受html⽂本。
Cookie:浏览器用这个属性向服务器发送Cookie。Cookie是在浏览器中寄存的小型数据体,它可以记载和服务器相关的用户信息,也可以用来实现会话功能。
Referer:告诉服务器我是从哪个页⾯链接过来的
Accept-Langeuage:指出浏览器可以接受的语言种类,如en或en-us,指英语。
connection:用来告诉服务器是否可以维持固定的HTTP连接。http是无连接的,HTTP/1.1使用Keep-Alive为默认值,这样,当浏览器需要多个文件时(比如一个HTML文件和相关的图形文件),不需要每次都建立连接
Content-Type:用来表名request的内容类型。可以用HttpServletRequest的getContentType()方法取得。
Accept-Charset:指出浏览器可以接受的字符编码。英文浏览器的默认值是ISO-8859-1.
Accept-Encoding:指出浏览器可以接受的编码方式。编码方式不同于文件格式,它是为了压缩文件并加速文件传递速度。浏览器在接收到Web响应之后先解码,然后再检查文件格式。

HTTP响应包

HTTP响应也是由三个部分组成,分别是:状态⾏、消息报头(响应头)、响应正⽂(响应数据)。

状态行

状态⾏格式如下: HTTP-Version Status-Code Reason-Phrase

HTTP-Version表⽰服务器HTTP协议的版本
Status-Code表⽰服务器发回的响应状态代码
Reason-Phrase表⽰状态代码的⽂本描述。

常见的状态码

200 OK 客户端请求成功
302 重定向,跳转到其他url
400 Bad Request 客户端请求有语法错误,不能被服务器所理解
403 Forbidden 服务器收到请求,但是拒绝提供服务
404 Not Found 请求资源不存在
500 Internal Server Error 服务器发⽣不可预期的错误
503 Server Unavailable 服务器当前不能处理客户端的请求,⼀段时间后可能恢复正常

消息报头

HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=315360000
Connection: Keep-Alive
Content-Length: 705
Content-Type: image/gif
Date: Sat, 01 Jun 2019 05:46:40 GMT
Etag: "2c1-4a6473f6030c0"
Expires: Tue, 29 May 2029 05:46:40 GMT
Last-Modified: Wed, 22 Jun 2011 06:40:43 GMT
Server: Apache

⼀些常见的响应报头

Server Web服务器名称
Set-cookie 服务器向客户端发送的信息
Location 服务器通过这个头告诉浏览器去访问哪个页⾯,浏览器接收到这个请求后,通常会⽴刻访问Location头所 指向的页⾯,通过配合302状态码
Refresh 服务器通过这个告诉浏览器定时刷新浏览器

6.web通信以及web前后端

DNS

DNS(Domain Name System,域名系统),因特⽹上作为域名和IP地址相互映射的⼀个分布式数据库,能够使⽤户更⽅便的访问互联⽹,⽽不⽤去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运⾏在UDP协议之上,使⽤端⼝号53。访问⽹站的实质就是解析其域名得到IP地址,再转向其⽹站。

TCP/IP协议

URL协议

url是统⼀资源定位符,对可以从互联⽹上得到的资源的位置和访问⽅法的⼀种简洁的表⽰,是互联⽹上标准资源的地址。浏览器通过url定位资源。

URL格式解析

schema://host[:port#]/path/...//?query-string//#anchor]
schema协议
host[:port]域名或者IP端⼝
path/.../路径
[?query-string]发送给http服务器的数据
[#anchor]锚点

Web前端

html , JavaScript , css

Web后端

web服务器:Web服务器⼀般指⽹站服务器,是指驻留于因特⽹上某种类型计算机的程序,可以向浏览器等Web客户端提供⽂档,也可以放置⽹站⽂件,让全世界浏览;可以放置数据⽂件,让全世界下载。⽬前最主流的三个Web服务器是Apache、 Nginx 、IIS。
脚本语言:php,python,java,asp,jsp...
语言解释器
数据库:mysql,access,redis...

常见组合

posted @ 2020-11-21 14:03  Black-Sweater  阅读(96)  评论(0编辑  收藏  举报