|
楼主 |
发表于 2023-3-13 13:39
|
显示全部楼层
本帖最后由 deny12138 于 2023-3-13 13:53 编辑
怎么说呢,稍微有点复杂
首先GET请求 http://222.68.208.73:7001/iptv3a/4kLogAuth.do
Query传递以下参数
Action=Login
UserID=xxxxxx@etv1 # 你自己的UserID
SN=xxxxxxx # 机顶盒SN
Type=iptv4k
Mode=MENU.SMG-4K
FCCSupport=1
然后上面的返回结果是HTML网页,里面有个Form表单,解析表单后构造并发起请求。
接着又返回一个HTML网页,提取里面的表单,解析并构造请求,需要注意的是,网页里有一个encrytoken变量,需要提取这个字段,放入到下列JSON中
{
"Randon": "18805087", // 随机生成
"EncryToken": "ad5f3b1a073ae68a81ff9bf64499dd0a", // 表单获取
"UserID": "xxxxxx@etv1",
"SN": "xxxxxxxxxxx",
"IP": "022,077,091,009", // 当前IP地址, B平面获取的IP 转换为此种格式
"MAC": "xx:xx:xx:xx:xx:xx", // 机顶盒MAC地址
"MagicCode": "CTC", // 固定
"UpdateTime": "20230301175307" // 暂时未知,需要梳理,貌似是暂时的固定
}
将上列JSON进行AES/ECB/PKCS5Padding 加密, 密钥是123456的MD5值,将加密后的内容转为16进制字符串。
就得到了表单中的authenticator字段。设置该字段并发起请求。就会得到UserToken和频道列表等信息。至此第一阶段认证完成。请注意,这个UserToken并不是我说的Cookies,还需要进行第二阶段认证才能得到Cookie。
关于加密这一步骤,我给你一个在线的快捷工具
地址:
https://tools.dmzy.vip/#recipe=JSON_Minify()AES_Encrypt(%7B'option':'Hex','string':'E10ADC3949BA59ABBE56E057F20F883E'%7D,%7B'option':'Hex','string':''%7D,'ECB','Raw','Hex',%7B'option':'Hex','string':''%7D)&input=ewogICAgIlJhbmRvbiI6ICIxODgwNTA4NyIsCiAgICAiRW5jcnlUb2tlbiI6ICJhZDVmM2IxYTA3M2FlNjhhODFmZjliZjY0NDk5ZGQwYSIsCiAgICAiVXNlcklEIjogInh4eHh4eEBldHYxIiwKICAgICJTTiI6ICJ4eHh4eHh4eHh4eCIsCiAgICAiSVAiOiAiMDIyLDA3NywwOTEsMDA5IiwKICAgICJNQUMiOiAieHg6eHg6eHg6eHg6eHg6eHgiLAogICAgIk1hZ2ljQ29kZSI6ICJDVEMiLAogICAgIlVwZGF0ZVRpbWUiOiAiMjAyMzAzMDExNzUzMDciCn0 |
评分
-
查看全部评分
|