在注册DZ论坛发送邮件的时候发现了一个参数并不知道怎么生成,但是后端确实校验了这个参数,再三之下寻找到了原因,就是关于oauth2.0中的WebKitFormBoundary

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
------WebKitFormBoundary2TcsDi3oZ6SesgMq
Content-Disposition: form-data; name="regsubmit"

yes
------WebKitFormBoundary2TcsDi3oZ6SesgMq
Content-Disposition: form-data; name="formhash"

c1a525d6
------WebKitFormBoundary2TcsDi3oZ6SesgMq
Content-Disposition: form-data; name="referer"

http://www.mcbbs.net/forum.php
------WebKitFormBoundary2TcsDi3oZ6SesgMq
Content-Disposition: form-data; name="activationauth"


------WebKitFormBoundary2TcsDi3oZ6SesgMq
Content-Disposition: form-data; name="hash"


------WebKitFormBoundary2TcsDi3oZ6SesgMq
Content-Disposition: form-data; name="mcbbsemail"

fe4fwe64fwe65@qq.com
------WebKitFormBoundary2TcsDi3oZ6SesgMq
Content-Disposition: form-data; name="handlekey"

sendregister
------WebKitFormBoundary2TcsDi3oZ6SesgMq
Content-Disposition: form-data; name="geetest_challenge"

16b16c302d3728b505986693b13b06b0
------WebKitFormBoundary2TcsDi3oZ6SesgMq
Content-Disposition: form-data; name="geetest_validate"

ea524395539aa7ee3924c8061fe90d9c
------WebKitFormBoundary2TcsDi3oZ6SesgMq
Content-Disposition: form-data; name="geetest_seccode"

ea524395539aa7ee3924c8061fe90d9c|jordan
------WebKitFormBoundary2TcsDi3oZ6SesgMq
Content-Disposition: form-data; name="agreebbrule"

ffab09ab
------WebKitFormBoundary2TcsDi3oZ6SesgMq--

这个代码块中WebKitFormBoundary2TcsDi3oZ6SesgMq 并不是页面返回给我的参数,经群大神讨论找到原因,这段数据是需要

1
返回 (“------WebKitFormBoundary” + 取文本中间 (取数据摘要 (到字节集 (取现行时间 ())), 9, 16))

此段是易语言中的取现行时间,再进行MD5加密取16位MD5 一般服务器会误差到0-3秒 验证。