http协议和基本burp使用

内容简介:

HTTP工作原理

HTTP协议的特点

URL的基本结构

GET和POST传参方式

HTTP相应状态码

burpsuit抓包配置(抓取http和https)

burp界面和简单使用

http(HyperText Transfer Protool)中文全称超文本传输协议,用于万维网(WWW)服务器传输超文本到本地浏览器

HTTP工作原理:基于HTTP协议的客户/服务器模式的信息交换过程,分为四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。

大致过程就是用户访问一个网址,浏览器先解析域名然后向DNS服务器提出请求得到真实的物理ip,然后再利用真实的物理ip建立TCP连接(可以了解一下什么是TCP和UDP连接),处理完用户的请求后,比如用户请求某个文件在服务器完成请求后就释放TCP连接。

HTTP协议的特点

简单快捷:客户请求服务时只需要向服务器传输文件路径和请求方法,请求常用的两种方法是GET和POST。http协议工作简单,占用资源少,通信快。

可传输多种文件类型:http允许传输多种文件类型,正在传输的文件使用字段content-type标记

限制请求数目:指限制每次连接只处理一个请求。服务器处理完客户请求后,并且收到客户应答以后会自动断开连接。这种方式可以节省整个服务的时间。

无状态:http是无状态协议。无状态协议是指协议对于处理的服务没有记忆力,可以理解为服务器在处理完应答后自动断开连接后服务器和客户都不再认识彼此,缺少状态意味着如果处理客户之前请求的内容就必须要重传输入所有数据,这会造成传输数据的数据量增大。这种方式往往是不实用的比如大多数网站的登录界面需要记录用户的各种信息,无状态连接则无法做到这一点。此时想要达到类似有状态的连接的目的,可以使用cookie和session。

下面介绍一下URL的基本结构

选择一个url,例如http://xx.com/index.html

其中http://代表的是使用协议,目前使用多的协议就是http和https,为了安全起见现在大多数网站都开始使用https协议。http和https的主要区别就在于http传输内容是明文传输而http是在http+ssl(Secure Sockets Layer)协议的基础上产生的,https协议因为有存在加密所以相对http协议更加安全。

xx.com是域名信息,域名信息会通过DNS解析得到要访问的真实物理ip就是你要访问的目标服务器,偶尔会在域名后面加入端口指定。格式如下xx.com:8888。端口其实被讲的很多,一台计算机有很多端口,端口相当于是计算机和外界通信的通道可以认为它是一道道的“门”。

index.html是请求服务器上的目标文件路径,它的目的就是告诉服务器我要请求的资源在服务器的具体哪个位置。其中/可以认为是一个分隔符,可以分开域名和路径信息,也可以分隔父目录和子目录,如test/index.html这里的test就是index.html的父目录index.html就是test的子目录。

GET和POST传参方式

GET传递参数是很简单的,即在域名后面写入?参数名字=xxx,比如http://xx.com?a=test,这个域名表示的就是给xx.com这个网址传递一个变量名为a的变量并且这个变量被赋值test。如果传递多个变量就使用&符合连接变量。从安全角度来看get传参会在浏览器url种展示变量内容,这些内容可能包含一些敏感内容比如,用户名和密码。同时get传递的参数是很容易被用户发现并且控制的比如上面这个变量a,我可以控制a的赋值来达到一些目的,比如拼接一些特殊字符来出发漏洞,典型的有sql注入和xss漏洞。另外一个问题就是get传递参数对内容大小会有限制

POST传递的参数不会直接显示在浏览器的url部分,所以如果想要控制post变量的值,这里推荐使用火狐的插件hackbar,当然hackbar也有其他的很多功能。post相比于get传递参数的优势之一就是post不会限制传递内容的大小。

HTTP相应状态码

1xx:信息,服务器收到请求,需要请求者继续执行操作

2xx:连接成功,200表示连接成功

3xx:重定向,如301,永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替

4xx:客户错误,404未找到页面

5xx:服务器错误

具体的返回状态码有很多种可以在遇到时用百度查一下,也可以在菜鸟教程找到详细说明https://www.runoob.com/http/http-status-codes.ht

burpsuit抓包配置

环境介绍,如果在window是环境下是需要一个java环境的,burpsuit也有汉化版不过我使用的英文版本。同时burpsuit本身需要密钥才能使用我们可以下载破解版本。具体安装方法可以百度一下。

burp相当于是一个信息传输的中间站,通过burp可以拦截浏览器向客户发送的数据,可以通过拦截的数据分析用户行为,也可以在burp上修改数据的内容。要想正常使用burp需要配置浏览器的代理

注意这种简单的配置只能抓取http的包,如果想要抓取https的包需要配置CA证书,在不加CA证书的情况下可能会出现拒绝代理服务器连接的问题。burp是自带有CA证书的我们可以在burp打开的情况下访问127.0.0.1:8080下载证书,然后在浏览器添加下载的证书到信任种就可以了。

 

burp界面和简单使用

 进入burp选中Proxy选项,将intercept设置为intercept is on 这样就可以拦截数据包了

 

 拦截到的数据可以可以在这里修改,就达到了篡改数据的目的,然后点击forword就会把修改后的数据通过burp重新发送出去。或者也可以鼠标右键打开选择栏目将报文发到repeater模块。

除了抓包拦截功能burp还有很多其他的功能比如我自己用过的就是burp可以设置变量暴力破解某一个变量。更多的功能自己探索吧。

burp抓包抓取到的内容主要是http头信息,比如Host,Accept-Language。遇到不懂的头信息可以百度,也可以直接搜索关键字“http头的含义”,网络上有总结的文章。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值