http与https以及数据包报文

文章详细介绍了HTTP和HTTPS的区别,HTTPS的部署过程,包括自签证书的创建和防火墙的关闭。还阐述了HTTP的通信步骤,请求报文结构,HTTP响应码的含义,并提到了使用BurpSuite进行安全测试和X-Forwarded-For头在IP伪造中的作用。
摘要由CSDN通过智能技术生成

http和https:

  • http:HTTP、TCP、IP,端口号80
    https:HTTP、SSL or TLS、TCP、IP,端口号443
    https中间是经过加密的
为什么不都采用https?

因为使用https,这个网站需要使用证书,申请一个正规的证书,比较麻烦。
虽然正规的比较麻烦,但是我们可以自己做一个不正规的,这样也能使用https,只不过是这样的https ,域名前面会显示不安全


下面介绍在不正规的证书流程:

CentOS部署https
Ubuntu部署https
根据上文的blog完成部署之后,会开启443端口,可以用netstat -ant |findstr 443查看。
443端口打开后,还没有完成,接着需要将防火墙关闭

systemctl  stop firewalld关闭防火墙
systemctl  disable  firewalld永远禁用防火墙

做完这些,在真实机的网页上访问centos的ip,会显示https ,域名前面会显示不安全
接着将apache-selfsigned.crt从虚拟机中取出来,在浏览器中添加证书,这样就不会出现上一行的情况。

添加BurpSuite的证书:

启动BS会开启8080端口,访问127.0.0.1:8080下载证书,将后缀改成crt,导入到浏览器里面


介绍完证书,接着再简要说一下

HTTP简要通信过程:

建立连接->发送请求数据包->返回响应数据包->关闭连接
1.浏览器建立与web服务器之间的连接
2.浏览器将请求数据包(生成请求数据包)并发送到web服务器
3.web服务器将处理结果打包(生成响应数据包)并发送给浏览器
4.web服务器关闭连接


报文

查看报文有两种:

  • 第一种在浏览器上查看,“检查”里面的network可以看到该页面的东西,点击需要查看的head,可以看到对应的head
  • 第二种是用BurpSuit,这个比第一种显示的更多

Request请求数据包

1.请求行:请求类型、请求资源路径、协议版本和类型
例如GET /index.html HTTP/1.1
渗透测试,一般是GET和POST,简单点理解他们的区别是:get方式传参数据时参数都显示在URL上,post的参数则在请求体中,post比get更安全。

2.请求头:一些键值对,浏览器和web服务器之间都能发送,特定的某种含义
例如reference,表示产生请求的网页url,其实就是从哪个网页来的。有if的话,表明是有缓存的。
如果想改变agent,可以通过终端进行访问curl ip -A “想改的agent”

3.空行:请求头与请求体之间用一个空行隔开

4.请求体:要发送的数据(一般用post提交会使用)

http响应码:

1xx:信息,请求收到,继续处理
2xx:成功,行为被成功接收,理解
3xx:重定向,为了完成请求,必须进一步执行的动作
4xx:客户端错误,请求有语法错误
5xx:服务器错误

200 OK存在文件,客户端请求成功
400 Bad Request客户端请求有语法错误,不能被服务器理解
401 Unauthorized请求未经授权
403 Forbidden 服务器收到请求,但是拒绝提供服务,eg:没有加请求的文件名
404 Not Found不存在文件以及文件夹,eg:输入了错误url
500 Internet Server Error均可能存在,大概是代码有问题,服务器发生不可预期的错误
503 Server Unavailable服务器当前不能处理客户端的请求,一段时间可能恢复正常

使用扫描工具的时候,把能勾的状态码都勾上,宁愿错扫也不要漏扫。
关于重定向和请求转发的区别

使用wireshark抓取报文

双击报文所显示的从上往下分别是:mac地址、ip地址、端口地址
追踪流,看报文


X-Forwarded-For:

可以把xff当成ip扩展头,伪造ip绕过。
目前我理解的是两种思路:

  • 使用BurpSuite,在xff后面添加具体的ip,发送到intruder中,先clear,然后在x.x.x.x,后面两位add,使用number对1-255,进行攻击
  • 在xff后面添加*,复制到文本中,使用sqlmap -r 1.txt

零碎知识点:(写完之后再整理)

1.linux是一个斜杠/(表示all),将目录直接划分成很多个文件夹,直接划分,就是直接挂在总根下面。windows会有划分问题,划分的是磁盘,但是换一种文件形式,实际上还是总根划分形式
2.win+e文件夹
3.win+d显示桌面
4.shift+ctrl+esc任务管理器
5.kali里面的/etc/passwd存的是账号信息,/etc/shadow存的才是密码信息

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值