POST技巧 工具

课程整体介绍
1、课程内容 《POST综合特训》
这里的POST是对本课程内容的一个统称。包括HTTP协议相关内容、JavaScript、易语言、多线程等等。不是单指HTTP协议里数据的提交方式。
2、课程定位 用易语言自动模拟(不是破解)浏览器(网页,不是app)操作
3、课程基础 要有一定的易语言基础
4、温馨提示 基础比较枯燥,但对于你理解HTTP协议、JavaScript非常重要
有基础的直接跳过或者选择录像快进

工具、源码、讲义、资料都会放在百度网盘

常见工具的使用
工欲善其事必先利其器,要玩转POST首先要有一些趁手的工具
1、谷歌开发者工具
2、火狐开发者工具
3、火狐firebug插件
http://ftp.mozilla.org/pub/firefox/releases/ 火狐浏览器历史版本
https://addons.mozilla.org/zh-CN/firefox/addon/firebug/versions/ firebug历史版本
4、HTTP Analyzer V7
5、Fiddler (CSDN)
6、JS调试工具

URL
URL统一资源定位符
1、URL的结构
https://www.baidu.com:443/login/login.php?user=123&pass=456
https 使用https协议
www.baidu.com:443 域名:端口
login/login.php 资源路径
? 文件名与GET参数之间用?分隔
user=123 GET方式向服务器发送一个参数名为user,值为123
& 多个参数之间用&分隔
2、相对URL与绝对URL
3、URL编码与解码 (+变空格)

协议头
1、GET请求头
2、POST请求头
3、POST与GET的区别
4、响应头
5、状态码 200 302 404
6、协议头可以自定义 有些网站会在协议头里传递重要数据 (博客园)
火狐UA插件
https://addons.mozilla.org/en-US/firefox/addon/user-agent-overrider/?src=userprofile

cookie
1、cookie的分类
服务器返回Set-cookie
JavaScript生成
2、cookie的作用
识别身份(验证码)
判断是否访问过某些请求
判断是否登录状态 (易论坛)
3、cookie的结构
4、抓包流程(论清除cookie的重要性 (博客园))
5、合并更新步骤
1 对新的cookie 去除无效cookie
2 在新的cookie里面寻找是否存在旧cookie里的名字 存在就用新的 丢掉旧的
3 合并

POST提交数据的类型与Content-Type
1、Content-Type: application/json (博客园)
{“un”:”……”,”pw”:”……”}

2、Content-type: multipart/form-data; boundary=ctqkhmxbutkylbrehofqdsyovwukpgux
(QQ空间)
–ctqkhmxbutkylbrehofqdsyovwukpgux
Content-Disposition: form-data; name=”filename”; filename=”1.jpg”
Content-Type: application/octet-stream

图片数据
–ctqkhmxbutkylbrehofqdsyovwukpgux
Content-Disposition: form-data; name=”Upload”

Submit Query
–ctqkhmxbutkylbrehofqdsyovwukpgux–

3、Content-Type: application/x-www-form-urlencoded (baidu)
charset=UTF-8&token=796cfb94cefd996718c666d3e4dc7d4f

编码
编码不对是中文乱码的根源,也是导致提交数据出错的重要原因
1、如何查看网页是何种编码

这只是告诉浏览器以何种方式解析文档 真正决定网页编码的是在文件保存的时候
2、GBK GB2312 ANSI UTF8
3、URL编码与解码
4、UTF8编码、GB2312编码与URL编码的区别
5、U码 \u6ce8\u518c\u6210\u529f
6、十六进制转义文本 65797579616e \x65\x79\x75\x79\x61\x6e(JS混淆)

Base64
· 所有的数据都能被编码为只用65个字符就能表示的文本。
· 65字符:A~Z a~z 0~9 + / =
· Base64的应用
密钥 密文 图片 普通数据(新浪账号)
· Base64编码解码与btoa、atob

winHttp
winHttp.创建 (“WinHttp.WinHttpRequest.5.1”, )
winHttp.方法 (“SetTimeouts”, 超时, 超时, 超时, 超时)
winHttp.方法 (“Open”, method, 网址, 假)
winHttp.写属性 (“Option”, 6, 0)
winHttp.写属性 (“Option”, 4, 13056)
winHttp.方法 (“SetRequestHeader”, “Cookie”, 提交Cookies)
winHttp.方法 (“Send”, 提交信息)
winHttp.读属性 (“ResponseBody”, ).取字节集 ()
winHttp.读文本属性 (“GetAllResponseHeaders”, )
winHttp.读数值属性 (“Status”, )

伪装IP
X-Forwarded-For
CLIENT_IP
VIA
REMOTE_ADDR

POST分析技巧
1、分析步骤
2、分析封包数据来源
网页源码中获取
JS源码中获取
固定不变的或者可以直接写死的
服务器响应中返回
cookies中提取
JS生成或加密

实战:微信公众平台登录(扫码)
实战:携程注册
实战:指宝客注册(字节集提交)

代码纠错技巧
比较容易出错的地方
1、提交的数据该编码的没有编码 (有些二次编码)
2、提交的数据不该写死的写死了
3、替换数据的时候不够仔细
4、忽略了一些看似没用的关键请求
5、延迟 (互联club电信)
基本技巧
1、关键变量调试输出
2、断点调试
3、对自己的易语言程序抓包对比

猜你喜欢

转载自blog.csdn.net/qq1350048638/article/details/81476000