网络安全基础——10.Web工作机制

我们学习渗透测试,主要是针对Web应用,所以要对Web架构有一定的了解。

访问Web过程

过程:
网址:
·本地缓存
·host
·IP/AIP
·DNS
·IP
·网关
·路由
·到达对方主机
·访问80 443
·三次握手
·建立连接
·HTTP数据包
·HTTP响应
1.html文件
2.php文件——MySQL——PHP运行结果——返回到客户端

网页、网站

我们可以通过浏览器上网看到的精美页面,一般都是经过浏览器渲染过的.html页面,其中包含了css等前端技术。多个网页的集合就是网站。

Web容器

Web容器,也叫Web服务器,主要提供Web服务,也就是常说的HTTP服务。常见的Web容器有: Apache/ IIS/Nginx(反向代理,负载均衡)等。

静态网页

静态的网页,都是一些 . html文件,是纯文本文件。这些文件中包含html代码。HTML (超文本标记语言), 在浏览器中解释运行。

中间件服务器

以上这种,只能单向地给用户展示信息。随着Web的发展,信息要双向流动,产生了交互的需求,也就是动态网页的概念;所谓动态就是利用flash、Phpasp、Java等技术在网页中嵌入一些可运行的脚本,用户浏览器在解释页面时,遇到脚本就启动运行它。

脚本的使用让Web服务模式有了“双向交流”的能力,Web服务模式也可以象传统软件一样进行各种事务处理,如编辑文件、利息计算、提交表单等,Web架构的适用面大大扩展。

这些脚本可以嵌入在页面中,如JS等。也可以以文件的形式单独存放在Web服务器的目录里,如.asp、.php、 jsp文件等。这样功能性的脚本越来越多,形成常用的工具包,单独管理,web业务开发时,直接使用就可以了,这就是中间件服务器,其实就是web功能的拓展。

Weblogic
Jboss

数据库的出现

静态网页与脚本都是事前设计好的,一般不经常改动,但网站上很多内容需要经常的更新,如新闻、博客文章、互动游戏等,这些变动的数据放在静态的程序中显然不适合,传统的办法是数据与程序分离,采用专业的数据库。Web开发者在Web服务器后边增加了一个数据库服务器,这些经常变化的数据存进数据库,可以随时更新。当用户请求页面时,脚本根据用户请求的页面,涉及到动态数据的地方,利用SQL数据库语言,从数据中读取最新的数据,生成“完整"页面,最后送给用户。

HTTP协议概述

1.HTTP(超文本传输协议)是浏览器与web服务器之间的通信协议,是传递消息的规范和要求。

2.HTTP是将html文档从web服务器传输到web浏览器

3.HTTP是一个请求与相应的协议,客户端发出请求,服务器端给出回应

4.HTTP使用可靠的TCP连接,默认端口是80 端口

5.灵活:HTTP运行传输任意类型的数据对象。
html、jpg、mp3

6.HTTP协议是无状态的协议。(无法断点续传)

URL(统一资源定位符)

统一资源定位符(网址)全球唯一,用来告诉web容器,浏览器所请求资源的路径。

schema://login:password@address:port/path/to/resource/?query_string#fragment

port 80
login 用户名
password 密码
匿名访问时,默认没有这两个内容

fragment 锚点 实现页面定位

URL编码

URL中出现的字符是有限制的,URL中path开始允许直接出现A-Z a-z 0-9 半角减号(-) 下划线据点(.)、波浪号(~)。其他字符均会被百分号编码。
如下
#对应%23
[ ]对应%20
···
原理 :%+ASCII 码16进制形式
在进行编程时我们会用加号代替空格。

报文分析工具:
1.F12
2.wireshark
3.fiddler
4.burp suite
···

HTTP报文分析

Web 应用的所有通信的消息都要遵守HTTP协议的规范和要求。
HTTP工作模式
REQUEST

HTTP请求由请求行、请求头、请求正文三个部分组成。

1.请求行:方法,资源路径,协议/版本
方法:GET
资源路径:/test/1.html
协议/版本:HTTP/1.1

2.请求头
从报文第二行开始到第一个空行为止之间的内容。其中包含很多字段。

3.请求正文
GET方法中没有请求正文,后面会看到。

请求方法

GET 是最常用的方法,通常用于请求服务器发送的某个资源。

POST 方法可以向服务器提交参数以及表单,包括文件流等。

HEAD 与GET 方法类似,但在服务器相应中只会返回首部。

PUT 与 GET 从服务器组曲文档相反,PUT 方法会向服务器写入文档。

TRACE 回显服务器的请求。

OPTIONS 方法请求Web服务器告知其支持的各种功能。

DELETE 方法请求服务器删除请求URL所指定的资源。

开启PUT TRACE DELETE 很危险。
PUT 会被上传后门

telnet 模拟浏览器发送HTTP请求

telnet www.baidu.com80
——————————
GET /HTTP/1.1
HOST: www.baidu.com
——————————

HOST主要用于指定被请求资源的Internet主机和端口号
User-Angent 浏览器指纹

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值