首页 > 其他分享 >Web安全入门与靶场实战(8)- HTTP请求和响应

Web安全入门与靶场实战(8)- HTTP请求和响应

时间:2023-01-17 12:01:56浏览次数:44  
标签:Web 浏览器 请求 响应 HTTP 靶场 客户端

我们现在已经知道靶机开放了TCP22和TCP80端口,分别对应了SSH和Web服务,那我们首先想到的自然是如何通过网站着手去进行shentou。

访问网站,发现提示:该网站只能在本地访问。

Web安全入门与靶场实战(8)-  HTTP请求和响应_响应

习惯性地去查看页面源码,发现其中隐藏了一段注释,提示我们可以利用x-forwarded-for。

Web安全入门与靶场实战(8)-  HTTP请求和响应_请求_02

那什么是x-forwarded-for呢?这就涉及到Web安全中的一个基本概念-HTTP协议。

要学习Web安全,HTTP协议是首先必须要掌握的一个基本知识点。

超文本标记语言HTML和超文本传输协议HTTP是Web服务的核心技术。

所有的网页都是基于HTML语言所开发设计的,网页被集中放置在互联网中的某台服务器上,这就是一个网站。

协议是网络中通信双方所应遵循的规则。在现实生活中,不同国家的人互相之间交流,首先也得约定一些规则,比如彼此都使用什么语言等等。在互联网中也是同样如此,互联网中的每一项服务都要遵循相应的协议,其中Web服务所使用的就是HTTP协议。

HTTP请求和响应

HTTP(超文本传输协议)是Web服务所使用的核心协议,它详细规定了在客户端和Web服务器之间互相通信应遵循的规则。

HTTP协议遵循请求(Request)/响应(Responses)模型,所有的HTTP通信都被构造成一对HTTP请求和HTTP响应。

我们在客户端上通过浏览器去访问网站,这其实是在通过HTTP协议向网站发出访问请求,网站接收到请求之后,找到相应的网页并以HTTP响应的方式发回给客户端,客户端的浏览器接收到响应后对其进行解释,最终将图、文、声并茂的页面呈现给用户。这就是Web服务的基本工作过程。

Web安全入门与靶场实战(8)-  HTTP请求和响应_响应_03

对于普通用户,我们平时很少会关注HTTP请求和响应报文,但是要学习Web安全,我们就要经常去查看甚至修改HTTP报文。

查看HTTP报文的最简单方法是通过浏览器的开发者工具。基本上所有的浏览器都支持通过F12按键或是“查看元素”功能调出开发者工具,这本来是给专业的Web应用和网站开发人员使用的工具,但对于Web安全同样也非常重要。

不同类型的浏览器所使用的开发者工具也不尽相同,总体上可以分为Firefox和IE两大类。比如360浏览器,默认情况下的极速模式所使用的是Firefox内核,因而按F12调出的就是Firefox的开发者工具。如果选择兼容模式,则使用IE内核,F12就是IE的开发者工具。

学习Web安全,推荐使用Firefox浏览器,因为它提供了功能丰富的插件,其中很多插件,我们在后续的学习过程中会反复用到。

打开火狐浏览器的开发者工具,随便访问一个网站,在“网络”模块中就可以看到在客户端和网站之间传输的所有数据。

任意选中一个数据,在右侧就可以看到具体的请求和响应报文结构。当然我们并不会关心在客户端和网站之间具体传输了什么数据,我们关心的主要是请求头和响应头,这部分内容后续将会详细介绍。

Web安全入门与靶场实战(8)-  HTTP请求和响应_响应_04


利用curl发送HTTP请求

在客户端通常都是通过浏览器发起HTTP请求,除了浏览器之外,在客户端也可以借助其它一些工具发起HTTP请求,比如curl。

Curl是在大部分Linux系统中都自带的一个工具,在Kali中执行“curl www.baidu.com”命令就可以向百度发出HTTP请求,并显示所接收到的HTTP响应。

HTTP协议所传输的主要是HTML代码,浏览器可以解析这些代码,但是curl则只能将代码原样显示出来。

Web安全入门与靶场实战(8)-  HTTP请求和响应_HTTP_05

如果curl命令加上-v选项,就可以同时显示出HTTP请求和响应的数据。

Web安全入门与靶场实战(8)-  HTTP请求和响应_Web_06

对于curl这里只做简单了解,在后面还会继续深入介绍它的一些高级功能。

标签:Web,浏览器,请求,响应,HTTP,靶场,客户端
From: https://blog.51cto.com/yttitan/6012034

相关文章

  • 4.Requests【HTTP协议】响应
    一、前言当然,有请求就有响应,浏览器在接收到服务端的响应数据后,经过处理将有用的信息展示到浏览器上。所以,接口自动化也需要对响应内容进行解析或提取有用的数据。二、学......
  • 2.Requests【HTTP协议】http协议简介
    一、前言什么是接口?接口就是HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器......
  • 3.Requests【HTTP协议】请求
    一、前言我们上节课总体了解了http协议的相关概念,这节课我们专门针对请求做详细讲解。我们做接口自动化,其实就是通过requests模块模拟浏览器向服务器发送请求,来获取服务器......
  • 将ftp、webDAV、网盘等挂载成本地磁盘的软件(windows)
    NetDrive-收费可破解官网https://www.netdrive.net/链接:https://pan.baidu.com/s/1fsVvJjSBXPs93axkXLSi9Q?pwd=epsr提取码:epsr复制这段内容后打开百度网盘手机App......
  • mormot2 http服务器的实现
    mormot2http服务器的实现mORMot 2采用了mORMot 1源代码中的所有HTTP服务器类。然后包括一些新的“异步”服务器。它们都继承自THttpServerGeneric父类。HTTP服务......
  • BUUOJ——WEB(一)
    WEB[极客大挑战2019]EasySQL一道确实很简单的sql注入题目,但是折磨了我半天,猜测后台语句大概如下:select*fromusr_tablewhereuser='$username'andpassword='$pas......
  • webpack的基本使用
                                                         ......
  • Jmeter学习:采样器--http 请求采样器/Websocket 采样器/dubug 采样器
    一、http请求采样器功能:通过该组件,我们可以进行Http采样 Basic常用参数已经在截图上。GET请求可将参数填写在Parameters中。参数:FollowRedirescts和Rediect......
  • 欢迎使用 MWeb
    MWeb是专业的Markdown写作、记笔记、静态博客生成软件,目前已支持Mac,iPad和iPhone。MWeb有以下特色:软件本身:使用原生的macOS技术打造,追求与系统的完美结合。原......
  • 网络协议-http访问网站
    (1)HTTP访问网站简要描述:1.在无任何缓存的情况下,先通过DNS服务器来解析域名对应的IP地址;2.PC的浏览器通过解析出来的服务器地址与服务器发起TCP三次握手建立TCP会话;3......