设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย

 找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 1815|回复: 11

请教各位大佬,写的GIWIFI校园网自动登录脚本遇到了问题

[复制链接]
发表于 2024-9-20 10:40 | 显示全部楼层 |阅读模式
main.py是登录脚本
txt文档是输出内容
html是登录页源码

目前问题
sign和iv从登录链接正常获取获取,请求提交过去回复sign异常,目前怀疑是cryptoEncode加密算法的问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2024-9-20 13:26 | 显示全部楼层
本帖最后由 1562004423 于 2024-9-22 18:39 编辑

.                  

点评

修改后依然报错 {'data': 99, 'info': 'error: sign is error', 'status': 0}  详情 回复 发表于 2024-9-20 18:24
好的,我试试  详情 回复 发表于 2024-9-20 18:08
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-20 18:08 来自手机 | 显示全部楼层
1562004423 发表于 2024-9-20 13:26
cryptoEncode函数中,data_padded的生成方式稍微改一下试试,改成这样:

完整函数如下:

好的,我试试
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-20 18:24 | 显示全部楼层
1562004423 发表于 2024-9-20 13:26
cryptoEncode函数中,data_padded的生成方式稍微改一下试试,改成这样:

完整函数如下:

修改后依然报错 {'data': 99, 'info': 'error: sign is error', 'status': 0}

点评

你打开浏览器按F12打开开发者工具,然后输网址正常登录一次,在开发者工具>网络>Fetch/XHR,里面找到请求的url,右键“以curl格式复制”,把复制的内容发出来看看  详情 回复 发表于 2024-9-20 18:49
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-9-20 18:49 | 显示全部楼层
本帖最后由 1562004423 于 2024-9-22 19:35 编辑

.                     

点评

url我看了,是对的  详情 回复 发表于 2024-9-20 19:36
解密测试程序及数据  详情 回复 发表于 2024-9-20 19:30
我将手动请求和程序请求的内容解密对比,发现程序请求的data解密出来sign字段消失了  详情 回复 发表于 2024-9-20 19:11
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-20 19:09 | 显示全部楼层
1562004423 发表于 2024-9-20 13:26
cryptoEncode函数中,data_padded的生成方式稍微改一下试试,改成这样:

完整函数如下:

我抓取手动请求的数据反向解密了一下,发现程序请求的比手动请求的数据里少了sign字段
  1. from Crypto.Cipher import AES
  2. import base64
  3. import urllib.parse
  4. ##############手动请求抓包信息
  5. # sign
  6. # M6/aiv8THYD2BOCd6MYYMEJb4xqIzk65yY+MfBRPen6vdlZSsP6LUDdfzdw43v/CF723S0ZW4vQ1SZaHrkoZJNgYuj92lFR7+V3bFiYNvGqvnX3lMewetIlDtdC3IUqnEOgOZadLZ6AYFwFGhTyc/XLz3VRKIp4Qyw1ZGNZ41ajiCERJrHqtAvXOiHfTwLshjk4JiDxezwazIMDjykpdccgIGbFBnZeHfjz90fXvGkJy891USiKeEMsNWRjWeNWoKxerW/MQU48n9JingMRJyA==

  7. # iv
  8. # 94978de713b75101

  9. # data
  10. # 1T29PyVH8b6YSbZ4If1HUKQDDUrksl74F0Cm3cmJnEQCnteD3gUPBBFr+9a3bCHGnSGobefzjWYfWZ+3BC/Qdm8WGsiLvCemZ7rY/U0LjBOjmPmf24VdVIkb/czAw28HWlzFyb5J9lER17cjIFygqFak52FKDQrF5isUaaT4rYIh+haNyKOZtsrpgnWk0E3sy5DlGNiHmDEiJDG422V6s1+7h92DpxHQsp0kLx6Iq6wYbue2fwm8RsbnGquRLY1TTNWccjx9XpM/IRKA1NYwtvi/Khd5NovZfveh6XLtN7U4gE2clGhVB2M4efrdwafEvAgqBdzmZXpx+NmgoPZlsbHfb4GtqA9DzrOZbCG3yGvxvT77cOCeSqpSDSdPHUiMBW3rcxZJ6hR8Wjk3/RprduP9IC4l7KSXdjUn0A2bbQ6slSARXIO4DhsyNPeTxw9uS/HmrmtA5epQHLee2ftVjNN4v/+rBE13EvUi7R9Ya/s7wbi3CGqtY11kyTaGOm8UH9qhfst6bxdxXG7PyjsCf0YP6DrWn3vznOyBe2P0Lea8HTKUwSCMknH66S41S0lyUaV2aVEp9j3/c/705THI10QiAw+d5dPfhk0E9+MeJW6gL4HUE/e6RNX4vTwUH5Qu0Tag4QcqNlM5JB/blf6IaAaYOVVPluAz1jPpLGPbX7CsmzNXophfRFM/0pqi3DtCsylq8VxeNey/llB4E1kJU1JoNkMpgvu0Z1TWuaqzg0IJEWTTGSECSMldGs2KQQx4

  11. # 算法解密内容
  12. {
  13.     "sign": "M6/aiv8THYD2BOCd6MYYMEJb4xqIzk65yY+MfBRPen6vdlZSsP6LUDdfzdw43v/CF723S0ZW4vQ1SZaHrkoZJNgYuj92lFR7+V3bFiYNvGqvnX3lMewetIlDtdC3IUqnEOgOZadLZ6AYFwFGhTyc/XLz3VRKIp4Qyw1ZGNZ41ajiCERJrHqtAvXOiHfTwLshjk4JiDxezwazIMDjykpdccgIGbFBnZeHfjz90fXvGkJy891USiKeEMsNWRjWeNWoKxerW/MQU48n9JingMRJyA==",
  14.     "sta_vlan": "",
  15.     "sta_port": "",
  16.     "sta_ip": "172.21.228.177",
  17.     "nas_ip": "",
  18.     "nas_name": "HNJD01",
  19.     "last_url": "",
  20.     "request_ip": "172.15.1.2",
  21.     "device_mode": "Windows NT 10.0",
  22.     "device_type": "1",
  23.     "device_os_type": "3",
  24.     "is_mobile": "0",
  25.     "iv": "94978de713b75101",
  26.     "login_type": "1",
  27.     "account_type": "2",
  28.     "user_account": "user_account",
  29.     "user_password": "user_password"
  30. }
  31. #########################

  32. ###############程序请求获取到的信息
  33. # sign
  34. # M6/aiv8THYD2BOCd6MYYMBIa6Y40uO49yU15Zxg0yvOvdlZSsP6LUDdfzdw43v/CF723S0ZW4vQ1SZaHrkoZJNgYuj92lFR7+V3bFiYNvGqvnX3lMewetIlDtdC3IUqnEOgOZadLZ6AYFwFGhTyc/XLz3VRKIp4Qyw1ZGNZ41ajiCERJrHqtAvXOiHfTwLshjk4JiDxezwazIMDjykpdccgIGbFBnZeHfjz90fXvGkJy891USiKeEMsNWRjWeNWoKxerW/MQU48n9JingMRJyA==

  35. # iv
  36. # 879b6e438a443b8d

  37. # data
  38. # lHj1RDM4FMkHVzNgVGL06LyeKoMpUM8giAfKhaQr5JbQDThz3Gy9qRmPaLM19nZxSq51+39IrEk63K8pFxE3VB/8LxGOFD8OI9v+/vWBEL/EH3aXWegJ7pjeIreeG2OufciL1lyfs6ey2j5+833NXt3GqZHrK0Pfm+mX+Q8w/iS/WVfR9uS7uWjY21p+pfltVszCCmOlzWmx3gbocZ1wLvt/qPIt4mjMSF6Uo4anDPZsWj10VlZM5XjGdzKXUGkHKKXonluCAplNIPqqX/NPh9Zd1Kfpt11Twlu4hmEZD90ZApUbixKa2F7cOGNZsAGUXyGP+/wk2wZylqjutU+eGbpHxy1q8Wf5iliMJBpbNfltmHDYB04y2qI357puy5S1Qu8rU93G81FMBVchFuTv1LmP9bKRJzynuY3utzgiAgiOUnaiWSjMIA/zotWZPR+P9Ff45NaXVmoa3kQ0Ihqwp3wG1HR5CAsaHPEDRCJE5nBcN9553DJihKn2oDD6NcPnpFGUF1SDCHp4y8umo0axs2Mj1s9PeAU7lWHuqAzIBLr7kCRFF7AlbwIknzDSCtopaDbTS53X6eCvXIIq5x15VTk2TBhCviOZY+jFzrSOb2fBjPUjw/RSWmNYyBIg7EquN8cJtekN9y4xYWR1JaZ8gcpoFJ+PcM0Dtg/TYQ86XOHmdLeX0oqm0bLbkULuyFgutbMih7pMKInmCc8WfiO8G+sc6n+pCzc5Fbceo2Bu2ec=

  39. # 算法解密内容
  40. {
  41.     "sta_vlan": "",
  42.     "sta_port": "",
  43.     "sta_ip": "172.21.228.177",
  44.     "nas_ip": "",
  45.     "nas_name": "HNJD01",
  46.     "last_url": "",
  47.     "request_ip": "172.15.1.2",
  48.     "device_mode": "Windows NT 10.0",
  49.     "device_type": "1",
  50.     "device_os_type": "3",
  51.     "is_mobile": "0",
  52.     "iv": "879b6e438a443b8d",
  53.     "login_type": "1",
  54.     "account_type": "2",
  55.     "user_account": "user_account",
  56.     "user_password": "user_password"
  57. }
  58. #########################




  59. def cryptoDecode(data, iv):
  60.     key = b'1234567887654321'
  61.     ivv = iv.encode('utf-8')
  62.     cipher = AES.new(key, AES.MODE_CBC, ivv)
  63.     decrypted = cipher.decrypt(base64.b64decode(data))
  64.     print(decrypted)
  65.     return decrypted.decode('utf-8').rstrip('\0')

  66. data = "lHj1RDM4FMkHVzNgVGL06LyeKoMpUM8giAfKhaQr5JbQDThz3Gy9qRmPaLM19nZxSq51+39IrEk63K8pFxE3VB/8LxGOFD8OI9v+/vWBEL/EH3aXWegJ7pjeIreeG2OufciL1lyfs6ey2j5+833NXt3GqZHrK0Pfm+mX+Q8w/iS/WVfR9uS7uWjY21p+pfltVszCCmOlzWmx3gbocZ1wLvt/qPIt4mjMSF6Uo4anDPZsWj10VlZM5XjGdzKXUGkHKKXonluCAplNIPqqX/NPh9Zd1Kfpt11Twlu4hmEZD90ZApUbixKa2F7cOGNZsAGUXyGP+/wk2wZylqjutU+eGbpHxy1q8Wf5iliMJBpbNfltmHDYB04y2qI357puy5S1Qu8rU93G81FMBVchFuTv1LmP9bKRJzynuY3utzgiAgiOUnaiWSjMIA/zotWZPR+P9Ff45NaXVmoa3kQ0Ihqwp3wG1HR5CAsaHPEDRCJE5nBcN9553DJihKn2oDD6NcPnpFGUF1SDCHp4y8umo0axs2Mj1s9PeAU7lWHuqAzIBLr7kCRFF7AlbwIknzDSCtopaDbTS53X6eCvXIIq5x15VTk2TBhCviOZY+jFzrSOb2fBjPUjw/RSWmNYyBIg7EquN8cJtekN9y4xYWR1JaZ8gcpoFJ+PcM0Dtg/TYQ86XOHmdLeX0oqm0bLbkULuyFgutbMih7pMKInmCc8WfiO8G+sc6n+pCzc5Fbceo2Bu2ec="
  67. iv = "879b6e438a443b8d"

  68. decrypted_data = cryptoDecode(data, iv)
  69. # print(decrypted_data)



  70. parts = decrypted_data.split('&')
  71. data_dict = {}
  72. for part in parts:
  73.     key_value = part.split('=')
  74.     if len(key_value) == 2:
  75.         key, value = key_value
  76.         data_dict[key] = urllib.parse.unquote(value)

  77. import json
  78. json_data = json.dumps(data_dict)
  79. print(json_data)

复制代码
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-20 19:11 | 显示全部楼层
1562004423 发表于 2024-9-20 18:49
你打开浏览器按F12打开开发者工具,然后输网址正常登录一次,在开发者工具>网络>Fetch/XHR,里面找到请求 ...

我将手动请求和程序请求的内容解密对比,发现程序请求的data解密出来sign字段消失了
  1. <div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 19px; white-space: pre;">
  2. <div><span style="color: #c586c0;">from</span> <span style="color: #4ec9b0;">Crypto</span>.<span style="color: #4ec9b0;">Cipher</span> <span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">AES</span>
  3. <span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">base64</span>
  4. <span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">urllib</span>.<span style="color: #4ec9b0;">parse</span>
  5. <span style="color: #6a9955;">##############手动请求抓包信息</span>
  6. <span style="color: #6a9955;"># sign</span>
  7. <span style="color: #6a9955;"># M6/aiv8THYD2BOCd6MYYMEJb4xqIzk65yY+MfBRPen6vdlZSsP6LUDdfzdw43v/CF723S0ZW4vQ1SZaHrkoZJNgYuj92lFR7+V3bFiYNvGqvnX3lMewetIlDtdC3IUqnEOgOZadLZ6AYFwFGhTyc/XLz3VRKIp4Qyw1ZGNZ41ajiCERJrHqtAvXOiHfTwLshjk4JiDxezwazIMDjykpdccgIGbFBnZeHfjz90fXvGkJy891USiKeEMsNWRjWeNWoKxerW/MQU48n9JingMRJyA==</span>

  8. <span style="color: #6a9955;"># iv </span>
  9. <span style="color: #6a9955;"># 94978de713b75101</span>

  10. <span style="color: #6a9955;"># data</span>
  11. <span style="color: #6a9955;"># 1T29PyVH8b6YSbZ4If1HUKQDDUrksl74F0Cm3cmJnEQCnteD3gUPBBFr+9a3bCHGnSGobefzjWYfWZ+3BC/Qdm8WGsiLvCemZ7rY/U0LjBOjmPmf24VdVIkb/czAw28HWlzFyb5J9lER17cjIFygqFak52FKDQrF5isUaaT4rYIh+haNyKOZtsrpgnWk0E3sy5DlGNiHmDEiJDG422V6s1+7h92DpxHQsp0kLx6Iq6wYbue2fwm8RsbnGquRLY1TTNWccjx9XpM/IRKA1NYwtvi/Khd5NovZfveh6XLtN7U4gE2clGhVB2M4efrdwafEvAgqBdzmZXpx+NmgoPZlsbHfb4GtqA9DzrOZbCG3yGvxvT77cOCeSqpSDSdPHUiMBW3rcxZJ6hR8Wjk3/RprduP9IC4l7KSXdjUn0A2bbQ6slSARXIO4DhsyNPeTxw9uS/HmrmtA5epQHLee2ftVjNN4v/+rBE13EvUi7R9Ya/s7wbi3CGqtY11kyTaGOm8UH9qhfst6bxdxXG7PyjsCf0YP6DrWn3vznOyBe2P0Lea8HTKUwSCMknH66S41S0lyUaV2aVEp9j3/c/705THI10QiAw+d5dPfhk0E9+MeJW6gL4HUE/e6RNX4vTwUH5Qu0Tag4QcqNlM5JB/blf6IaAaYOVVPluAz1jPpLGPbX7CsmzNXophfRFM/0pqi3DtCsylq8VxeNey/llB4E1kJU1JoNkMpgvu0Z1TWuaqzg0IJEWTTGSECSMldGs2KQQx4</span>

  12. <span style="color: #6a9955;"># 算法解密内容</span>
  13. {
  14.     <span style="color: #ce9178;">"sign"</span>: <span style="color: #ce9178;">"M6/aiv8THYD2BOCd6MYYMEJb4xqIzk65yY+MfBRPen6vdlZSsP6LUDdfzdw43v/CF723S0ZW4vQ1SZaHrkoZJNgYuj92lFR7+V3bFiYNvGqvnX3lMewetIlDtdC3IUqnEOgOZadLZ6AYFwFGhTyc/XLz3VRKIp4Qyw1ZGNZ41ajiCERJrHqtAvXOiHfTwLshjk4JiDxezwazIMDjykpdccgIGbFBnZeHfjz90fXvGkJy891USiKeEMsNWRjWeNWoKxerW/MQU48n9JingMRJyA=="</span>,
  15.     <span style="color: #ce9178;">"sta_vlan"</span>: <span style="color: #ce9178;">""</span>,
  16.     <span style="color: #ce9178;">"sta_port"</span>: <span style="color: #ce9178;">""</span>,
  17.     <span style="color: #ce9178;">"sta_ip"</span>: <span style="color: #ce9178;">"172.21.228.177"</span>,
  18.     <span style="color: #ce9178;">"nas_ip"</span>: <span style="color: #ce9178;">""</span>,
  19.     <span style="color: #ce9178;">"nas_name"</span>: <span style="color: #ce9178;">"HNJD01"</span>,
  20.     <span style="color: #ce9178;">"last_url"</span>: <span style="color: #ce9178;">""</span>,
  21.     <span style="color: #ce9178;">"request_ip"</span>: <span style="color: #ce9178;">"172.15.1.2"</span>,
  22.     <span style="color: #ce9178;">"device_mode"</span>: <span style="color: #ce9178;">"Windows NT 10.0"</span>,
  23.     <span style="color: #ce9178;">"device_type"</span>: <span style="color: #ce9178;">"1"</span>,
  24.     <span style="color: #ce9178;">"device_os_type"</span>: <span style="color: #ce9178;">"3"</span>,
  25.     <span style="color: #ce9178;">"is_mobile"</span>: <span style="color: #ce9178;">"0"</span>,
  26.     <span style="color: #ce9178;">"iv"</span>: <span style="color: #ce9178;">"94978de713b75101"</span>,
  27.     <span style="color: #ce9178;">"login_type"</span>: <span style="color: #ce9178;">"1"</span>,
  28.     <span style="color: #ce9178;">"account_type"</span>: <span style="color: #ce9178;">"2"</span>,
  29.     <span style="color: #ce9178;">"user_account"</span>: <span style="color: #ce9178;">"user_account"</span>,
  30.     <span style="color: #ce9178;">"user_password"</span>: <span style="color: #ce9178;">"user_password"</span>
  31. }
  32. <span style="color: #6a9955;">#########################</span>

  33. <span style="color: #6a9955;">###############程序请求获取到的信息</span>
  34. <span style="color: #6a9955;"># sign</span>
  35. <span style="color: #6a9955;"># M6/aiv8THYD2BOCd6MYYMBIa6Y40uO49yU15Zxg0yvOvdlZSsP6LUDdfzdw43v/CF723S0ZW4vQ1SZaHrkoZJNgYuj92lFR7+V3bFiYNvGqvnX3lMewetIlDtdC3IUqnEOgOZadLZ6AYFwFGhTyc/XLz3VRKIp4Qyw1ZGNZ41ajiCERJrHqtAvXOiHfTwLshjk4JiDxezwazIMDjykpdccgIGbFBnZeHfjz90fXvGkJy891USiKeEMsNWRjWeNWoKxerW/MQU48n9JingMRJyA==</span>

  36. <span style="color: #6a9955;"># iv</span>
  37. <span style="color: #6a9955;"># 879b6e438a443b8d</span>

  38. <span style="color: #6a9955;"># data</span>
  39. <span style="color: #6a9955;"># lHj1RDM4FMkHVzNgVGL06LyeKoMpUM8giAfKhaQr5JbQDThz3Gy9qRmPaLM19nZxSq51+39IrEk63K8pFxE3VB/8LxGOFD8OI9v+/vWBEL/EH3aXWegJ7pjeIreeG2OufciL1lyfs6ey2j5+833NXt3GqZHrK0Pfm+mX+Q8w/iS/WVfR9uS7uWjY21p+pfltVszCCmOlzWmx3gbocZ1wLvt/qPIt4mjMSF6Uo4anDPZsWj10VlZM5XjGdzKXUGkHKKXonluCAplNIPqqX/NPh9Zd1Kfpt11Twlu4hmEZD90ZApUbixKa2F7cOGNZsAGUXyGP+/wk2wZylqjutU+eGbpHxy1q8Wf5iliMJBpbNfltmHDYB04y2qI357puy5S1Qu8rU93G81FMBVchFuTv1LmP9bKRJzynuY3utzgiAgiOUnaiWSjMIA/zotWZPR+P9Ff45NaXVmoa3kQ0Ihqwp3wG1HR5CAsaHPEDRCJE5nBcN9553DJihKn2oDD6NcPnpFGUF1SDCHp4y8umo0axs2Mj1s9PeAU7lWHuqAzIBLr7kCRFF7AlbwIknzDSCtopaDbTS53X6eCvXIIq5x15VTk2TBhCviOZY+jFzrSOb2fBjPUjw/RSWmNYyBIg7EquN8cJtekN9y4xYWR1JaZ8gcpoFJ+PcM0Dtg/TYQ86XOHmdLeX0oqm0bLbkULuyFgutbMih7pMKInmCc8WfiO8G+sc6n+pCzc5Fbceo2Bu2ec=</span>

  40. <span style="color: #6a9955;"># 算法解密内容</span>
  41. {
  42.     <span style="color: #ce9178;">"sta_vlan"</span>: <span style="color: #ce9178;">""</span>,
  43.     <span style="color: #ce9178;">"sta_port"</span>: <span style="color: #ce9178;">""</span>,
  44.     <span style="color: #ce9178;">"sta_ip"</span>: <span style="color: #ce9178;">"172.21.228.177"</span>,
  45.     <span style="color: #ce9178;">"nas_ip"</span>: <span style="color: #ce9178;">""</span>,
  46.     <span style="color: #ce9178;">"nas_name"</span>: <span style="color: #ce9178;">"HNJD01"</span>,
  47.     <span style="color: #ce9178;">"last_url"</span>: <span style="color: #ce9178;">""</span>,
  48.     <span style="color: #ce9178;">"request_ip"</span>: <span style="color: #ce9178;">"172.15.1.2"</span>,
  49.     <span style="color: #ce9178;">"device_mode"</span>: <span style="color: #ce9178;">"Windows NT 10.0"</span>,
  50.     <span style="color: #ce9178;">"device_type"</span>: <span style="color: #ce9178;">"1"</span>,
  51.     <span style="color: #ce9178;">"device_os_type"</span>: <span style="color: #ce9178;">"3"</span>,
  52.     <span style="color: #ce9178;">"is_mobile"</span>: <span style="color: #ce9178;">"0"</span>,
  53.     <span style="color: #ce9178;">"iv"</span>: <span style="color: #ce9178;">"879b6e438a443b8d"</span>,
  54.     <span style="color: #ce9178;">"login_type"</span>: <span style="color: #ce9178;">"1"</span>,
  55.     <span style="color: #ce9178;">"account_type"</span>: <span style="color: #ce9178;">"2"</span>,
  56.     <span style="color: #ce9178;">"user_account"</span>: <span style="color: #ce9178;">"user_account"</span>,
  57.     <span style="color: #ce9178;">"user_password"</span>: <span style="color: #ce9178;">"user_password"</span>
  58. }
  59. <span style="color: #6a9955;">#########################</span>




  60. <span style="color: #569cd6;">def</span> <span style="color: #dcdcaa;">cryptoDecode</span>(<span style="color: #9cdcfe;">data</span>, <span style="color: #9cdcfe;">iv</span>):
  61.     <span style="color: #9cdcfe;">key</span> <span style="color: #d4d4d4;">=</span> <span style="color: #569cd6;">b</span><span style="color: #ce9178;">'1234567887654321'</span>
  62.     <span style="color: #9cdcfe;">ivv</span> <span style="color: #d4d4d4;">=</span> <span style="color: #9cdcfe;">iv</span>.encode(<span style="color: #ce9178;">'utf-8'</span>)
  63.     <span style="color: #9cdcfe;">cipher</span> <span style="color: #d4d4d4;">=</span> <span style="color: #4ec9b0;">AES</span>.<span style="color: #dcdcaa;">new</span>(<span style="color: #9cdcfe;">key</span>, <span style="color: #4ec9b0;">AES</span>.<span style="color: #9cdcfe;">MODE_CBC</span>, <span style="color: #9cdcfe;">ivv</span>)
  64.     <span style="color: #9cdcfe;">decrypted</span> <span style="color: #d4d4d4;">=</span> <span style="color: #9cdcfe;">cipher</span>.<span style="color: #dcdcaa;">decrypt</span>(<span style="color: #4ec9b0;">base64</span>.<span style="color: #dcdcaa;">b64decode</span>(<span style="color: #9cdcfe;">data</span>))
  65.     <span style="color: #dcdcaa;">print</span>(<span style="color: #9cdcfe;">decrypted</span>)
  66.     <span style="color: #c586c0;">return</span> <span style="color: #9cdcfe;">decrypted</span>.<span style="color: #dcdcaa;">decode</span>(<span style="color: #ce9178;">'utf-8'</span>).<span style="color: #dcdcaa;">rstrip</span>(<span style="color: #ce9178;">'</span><span style="color: #d7ba7d;">\0</span><span style="color: #ce9178;">'</span>)

  67. <span style="color: #9cdcfe;">data</span> <span style="color: #d4d4d4;">=</span> <span style="color: #ce9178;">"lHj1RDM4FMkHVzNgVGL06LyeKoMpUM8giAfKhaQr5JbQDThz3Gy9qRmPaLM19nZxSq51+39IrEk63K8pFxE3VB/8LxGOFD8OI9v+/vWBEL/EH3aXWegJ7pjeIreeG2OufciL1lyfs6ey2j5+833NXt3GqZHrK0Pfm+mX+Q8w/iS/WVfR9uS7uWjY21p+pfltVszCCmOlzWmx3gbocZ1wLvt/qPIt4mjMSF6Uo4anDPZsWj10VlZM5XjGdzKXUGkHKKXonluCAplNIPqqX/NPh9Zd1Kfpt11Twlu4hmEZD90ZApUbixKa2F7cOGNZsAGUXyGP+/wk2wZylqjutU+eGbpHxy1q8Wf5iliMJBpbNfltmHDYB04y2qI357puy5S1Qu8rU93G81FMBVchFuTv1LmP9bKRJzynuY3utzgiAgiOUnaiWSjMIA/zotWZPR+P9Ff45NaXVmoa3kQ0Ihqwp3wG1HR5CAsaHPEDRCJE5nBcN9553DJihKn2oDD6NcPnpFGUF1SDCHp4y8umo0axs2Mj1s9PeAU7lWHuqAzIBLr7kCRFF7AlbwIknzDSCtopaDbTS53X6eCvXIIq5x15VTk2TBhCviOZY+jFzrSOb2fBjPUjw/RSWmNYyBIg7EquN8cJtekN9y4xYWR1JaZ8gcpoFJ+PcM0Dtg/TYQ86XOHmdLeX0oqm0bLbkULuyFgutbMih7pMKInmCc8WfiO8G+sc6n+pCzc5Fbceo2Bu2ec="</span>
  68. <span style="color: #9cdcfe;">iv</span> <span style="color: #d4d4d4;">=</span> <span style="color: #ce9178;">"879b6e438a443b8d"</span>

  69. <span style="color: #9cdcfe;">decrypted_data</span> <span style="color: #d4d4d4;">=</span> <span style="color: #dcdcaa;">cryptoDecode</span>(<span style="color: #9cdcfe;">data</span>, <span style="color: #9cdcfe;">iv</span>)
  70. <span style="color: #6a9955;"># print(decrypted_data)</span>



  71. <span style="color: #9cdcfe;">parts</span> <span style="color: #d4d4d4;">=</span> <span style="color: #9cdcfe;">decrypted_data</span>.<span style="color: #dcdcaa;">split</span>(<span style="color: #ce9178;">'&'</span>)
  72. <span style="color: #9cdcfe;">data_dict</span> <span style="color: #d4d4d4;">=</span> {}
  73. <span style="color: #c586c0;">for</span> <span style="color: #9cdcfe;">part</span> <span style="color: #c586c0;">in</span> <span style="color: #9cdcfe;">parts</span>:
  74.     <span style="color: #9cdcfe;">key_value</span> <span style="color: #d4d4d4;">=</span> <span style="color: #9cdcfe;">part</span>.<span style="color: #dcdcaa;">split</span>(<span style="color: #ce9178;">'='</span>)
  75.     <span style="color: #c586c0;">if</span> <span style="color: #dcdcaa;">len</span>(<span style="color: #9cdcfe;">key_value</span>) <span style="color: #d4d4d4;">==</span> <span style="color: #b5cea8;">2</span>:
  76.         <span style="color: #9cdcfe;">key</span>, <span style="color: #9cdcfe;">value</span> <span style="color: #d4d4d4;">=</span> <span style="color: #9cdcfe;">key_value</span>
  77.         <span style="color: #9cdcfe;">data_dict</span>[<span style="color: #9cdcfe;">key</span>] <span style="color: #d4d4d4;">=</span> <span style="color: #4ec9b0;">urllib</span>.<span style="color: #4ec9b0;">parse</span>.unquote(<span style="color: #9cdcfe;">value</span>)

  78. <span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">json</span>
  79. <span style="color: #9cdcfe;">json_data</span> <span style="color: #d4d4d4;">=</span> <span style="color: #4ec9b0;">json</span>.<span style="color: #dcdcaa;">dumps</span>(<span style="color: #9cdcfe;">data_dict</span>)
  80. <span style="color: #dcdcaa;">print</span>(<span style="color: #9cdcfe;">json_data</span>)</div>

  81. </div>
复制代码
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-20 19:13 | 显示全部楼层
1562004423 发表于 2024-9-20 18:49
你打开浏览器按F12打开开发者工具,然后输网址正常登录一次,在开发者工具>网络>Fetch/XHR,里面找到请求 ...
  1. from Crypto.Cipher import AES
  2. import base64
  3. import urllib.parse
  4. ##############手动请求抓包信息
  5. # sign
  6. # M6/aiv8THYD2BOCd6MYYMEJb4xqIzk65yY+MfBRPen6vdlZSsP6LUDdfzdw43v/CF723S0ZW4vQ1SZaHrkoZJNgYuj92lFR7+V3bFiYNvGqvnX3lMewetIlDtdC3IUqnEOgOZadLZ6AYFwFGhTyc/XLz3VRKIp4Qyw1ZGNZ41ajiCERJrHqtAvXOiHfTwLshjk4JiDxezwazIMDjykpdccgIGbFBnZeHfjz90fXvGkJy891USiKeEMsNWRjWeNWoKxerW/MQU48n9JingMRJyA==

  7. # iv
  8. # 94978de713b75101

  9. # data
  10. # 1T29PyVH8b6YSbZ4If1HUKQDDUrksl74F0Cm3cmJnEQCnteD3gUPBBFr+9a3bCHGnSGobefzjWYfWZ+3BC/Qdm8WGsiLvCemZ7rY/U0LjBOjmPmf24VdVIkb/czAw28HWlzFyb5J9lER17cjIFygqFak52FKDQrF5isUaaT4rYIh+haNyKOZtsrpgnWk0E3sy5DlGNiHmDEiJDG422V6s1+7h92DpxHQsp0kLx6Iq6wYbue2fwm8RsbnGquRLY1TTNWccjx9XpM/IRKA1NYwtvi/Khd5NovZfveh6XLtN7U4gE2clGhVB2M4efrdwafEvAgqBdzmZXpx+NmgoPZlsbHfb4GtqA9DzrOZbCG3yGvxvT77cOCeSqpSDSdPHUiMBW3rcxZJ6hR8Wjk3/RprduP9IC4l7KSXdjUn0A2bbQ6slSARXIO4DhsyNPeTxw9uS/HmrmtA5epQHLee2ftVjNN4v/+rBE13EvUi7R9Ya/s7wbi3CGqtY11kyTaGOm8UH9qhfst6bxdxXG7PyjsCf0YP6DrWn3vznOyBe2P0Lea8HTKUwSCMknH66S41S0lyUaV2aVEp9j3/c/705THI10QiAw+d5dPfhk0E9+MeJW6gL4HUE/e6RNX4vTwUH5Qu0Tag4QcqNlM5JB/blf6IaAaYOVVPluAz1jPpLGPbX7CsmzNXophfRFM/0pqi3DtCsylq8VxeNey/llB4E1kJU1JoNkMpgvu0Z1TWuaqzg0IJEWTTGSECSMldGs2KQQx4

  11. # 算法解密内容
  12. {
  13.     "sign": "M6/aiv8THYD2BOCd6MYYMEJb4xqIzk65yY+MfBRPen6vdlZSsP6LUDdfzdw43v/CF723S0ZW4vQ1SZaHrkoZJNgYuj92lFR7+V3bFiYNvGqvnX3lMewetIlDtdC3IUqnEOgOZadLZ6AYFwFGhTyc/XLz3VRKIp4Qyw1ZGNZ41ajiCERJrHqtAvXOiHfTwLshjk4JiDxezwazIMDjykpdccgIGbFBnZeHfjz90fXvGkJy891USiKeEMsNWRjWeNWoKxerW/MQU48n9JingMRJyA==",
  14.     "sta_vlan": "",
  15.     "sta_port": "",
  16.     "sta_ip": "172.21.228.177",
  17.     "nas_ip": "",
  18.     "nas_name": "HNJD01",
  19.     "last_url": "",
  20.     "request_ip": "172.15.1.2",
  21.     "device_mode": "Windows NT 10.0",
  22.     "device_type": "1",
  23.     "device_os_type": "3",
  24.     "is_mobile": "0",
  25.     "iv": "94978de713b75101",
  26.     "login_type": "1",
  27.     "account_type": "2",
  28.     "user_account": "user_account",
  29.     "user_password": "user_password"
  30. }
  31. #########################

  32. ###############程序请求获取到的信息
  33. # sign
  34. # M6/aiv8THYD2BOCd6MYYMBIa6Y40uO49yU15Zxg0yvOvdlZSsP6LUDdfzdw43v/CF723S0ZW4vQ1SZaHrkoZJNgYuj92lFR7+V3bFiYNvGqvnX3lMewetIlDtdC3IUqnEOgOZadLZ6AYFwFGhTyc/XLz3VRKIp4Qyw1ZGNZ41ajiCERJrHqtAvXOiHfTwLshjk4JiDxezwazIMDjykpdccgIGbFBnZeHfjz90fXvGkJy891USiKeEMsNWRjWeNWoKxerW/MQU48n9JingMRJyA==

  35. # iv
  36. # 879b6e438a443b8d

  37. # data
  38. # lHj1RDM4FMkHVzNgVGL06LyeKoMpUM8giAfKhaQr5JbQDThz3Gy9qRmPaLM19nZxSq51+39IrEk63K8pFxE3VB/8LxGOFD8OI9v+/vWBEL/EH3aXWegJ7pjeIreeG2OufciL1lyfs6ey2j5+833NXt3GqZHrK0Pfm+mX+Q8w/iS/WVfR9uS7uWjY21p+pfltVszCCmOlzWmx3gbocZ1wLvt/qPIt4mjMSF6Uo4anDPZsWj10VlZM5XjGdzKXUGkHKKXonluCAplNIPqqX/NPh9Zd1Kfpt11Twlu4hmEZD90ZApUbixKa2F7cOGNZsAGUXyGP+/wk2wZylqjutU+eGbpHxy1q8Wf5iliMJBpbNfltmHDYB04y2qI357puy5S1Qu8rU93G81FMBVchFuTv1LmP9bKRJzynuY3utzgiAgiOUnaiWSjMIA/zotWZPR+P9Ff45NaXVmoa3kQ0Ihqwp3wG1HR5CAsaHPEDRCJE5nBcN9553DJihKn2oDD6NcPnpFGUF1SDCHp4y8umo0axs2Mj1s9PeAU7lWHuqAzIBLr7kCRFF7AlbwIknzDSCtopaDbTS53X6eCvXIIq5x15VTk2TBhCviOZY+jFzrSOb2fBjPUjw/RSWmNYyBIg7EquN8cJtekN9y4xYWR1JaZ8gcpoFJ+PcM0Dtg/TYQ86XOHmdLeX0oqm0bLbkULuyFgutbMih7pMKInmCc8WfiO8G+sc6n+pCzc5Fbceo2Bu2ec=

  39. # 算法解密内容
  40. {
  41.     "sta_vlan": "",
  42.     "sta_port": "",
  43.     "sta_ip": "172.21.228.177",
  44.     "nas_ip": "",
  45.     "nas_name": "HNJD01",
  46.     "last_url": "",
  47.     "request_ip": "172.15.1.2",
  48.     "device_mode": "Windows NT 10.0",
  49.     "device_type": "1",
  50.     "device_os_type": "3",
  51.     "is_mobile": "0",
  52.     "iv": "879b6e438a443b8d",
  53.     "login_type": "1",
  54.     "account_type": "2",
  55.     "user_account": "user_account",
  56.     "user_password": "user_password"
  57. }
  58. #########################




  59. def cryptoDecode(data, iv):
  60.     key = b'1234567887654321'
  61.     ivv = iv.encode('utf-8')
  62.     cipher = AES.new(key, AES.MODE_CBC, ivv)
  63.     decrypted = cipher.decrypt(base64.b64decode(data))
  64.     print(decrypted)
  65.     return decrypted.decode('utf-8').rstrip('\0')

  66. data = "lHj1RDM4FMkHVzNgVGL06LyeKoMpUM8giAfKhaQr5JbQDThz3Gy9qRmPaLM19nZxSq51+39IrEk63K8pFxE3VB/8LxGOFD8OI9v+/vWBEL/EH3aXWegJ7pjeIreeG2OufciL1lyfs6ey2j5+833NXt3GqZHrK0Pfm+mX+Q8w/iS/WVfR9uS7uWjY21p+pfltVszCCmOlzWmx3gbocZ1wLvt/qPIt4mjMSF6Uo4anDPZsWj10VlZM5XjGdzKXUGkHKKXonluCAplNIPqqX/NPh9Zd1Kfpt11Twlu4hmEZD90ZApUbixKa2F7cOGNZsAGUXyGP+/wk2wZylqjutU+eGbpHxy1q8Wf5iliMJBpbNfltmHDYB04y2qI357puy5S1Qu8rU93G81FMBVchFuTv1LmP9bKRJzynuY3utzgiAgiOUnaiWSjMIA/zotWZPR+P9Ff45NaXVmoa3kQ0Ihqwp3wG1HR5CAsaHPEDRCJE5nBcN9553DJihKn2oDD6NcPnpFGUF1SDCHp4y8umo0axs2Mj1s9PeAU7lWHuqAzIBLr7kCRFF7AlbwIknzDSCtopaDbTS53X6eCvXIIq5x15VTk2TBhCviOZY+jFzrSOb2fBjPUjw/RSWmNYyBIg7EquN8cJtekN9y4xYWR1JaZ8gcpoFJ+PcM0Dtg/TYQ86XOHmdLeX0oqm0bLbkULuyFgutbMih7pMKInmCc8WfiO8G+sc6n+pCzc5Fbceo2Bu2ec="
  67. iv = "879b6e438a443b8d"

  68. decrypted_data = cryptoDecode(data, iv)
  69. # print(decrypted_data)



  70. parts = decrypted_data.split('&')
  71. data_dict = {}
  72. for part in parts:
  73.     key_value = part.split('=')
  74.     if len(key_value) == 2:
  75.         key, value = key_value
  76.         data_dict[key] = urllib.parse.unquote(value)

  77. import json
  78. json_data = json.dumps(data_dict)
  79. print(json_data)

复制代码
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-20 19:30 | 显示全部楼层
1562004423 发表于 2024-9-20 18:49
你打开浏览器按F12打开开发者工具,然后输网址正常登录一次,在开发者工具>网络>Fetch/XHR,里面找到请求 ...

解密测试程序及数据

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

我试着解码并对比原始数据,发现里面的“/”被编码成了“%2F”,所以之前的代码不对,需要再加一行 你那边再试试  详情 回复 发表于 2024-9-20 20:48
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-20 19:36 来自手机 | 显示全部楼层
1562004423 发表于 2024-9-20 18:49
你打开浏览器按F12打开开发者工具,然后输网址正常登录一次,在开发者工具>网络>Fetch/XHR,里面找到请求 ...

url我看了,是对的
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-9-20 20:48 | 显示全部楼层
本帖最后由 1562004423 于 2024-9-22 18:39 编辑

.                    
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2025-5-5 17:11 来自手机 | 显示全部楼层
aes加密是填0的填充,不是常规的方式
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-6-9 02:19

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表