吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4125|回复: 86
收起左侧

[Web逆向] 某专业技术人员继续教育平台登录分析及模拟实践

  [复制链接]
pwp 发表于 2025-3-16 17:09
网址:https://www.gszxjy.net/web/index

1、打开网站,调出F12:
image.png

2、输入账号17588580360密码aaa123456,拖动滑块,点击登录,查看网络请求情况:

image.png


3、发现数据加密的,猜测加密是aes,复制之前的aes:
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
def encrypt(self,plaintext):
    # 转换密钥和IV为bytes类型
    key = "20180227110419WB".encode('utf-8')
    iv = "ZZWBKJ_ZHIHUAWEI".encode('utf-8')
    # 创建AES-CBC加密器
    cipher = AES.new(key, AES.MODE_CBC, iv)
    # 对明文进行PKCS7填充并加密
    padded_data = pad(plaintext.encode('utf-8'), AES.block_size)
    ciphertext = cipher.encrypt(padded_data)
    # 返回Base64编码字符串
    return base64.b64encode(ciphertext).decode('utf-8')



给账号加个密试试,简直一模一样啊:

image.png


4、撰写模拟登录函数:

[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def login(self,account, password):
    url = "https://www.gszxjy.net/api/student.index/login.html"
 
    headers = {
        "accept": "application/json, text/plain, */*",
        "accept-language": "zh-CN,zh;q=0.9",
        "cache-control": "no-cache",
        "content-type": "application/x-www-form-urlencoded",
        "pragma": "no-cache",
        "sec-ch-ua": '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": '"Windows"',
        "sec-fetch-dest": "empty",
        "sec-fetch-mode": "cors",
        "sec-fetch-site": "cross-site",
        "Referer": "https://www.gszxjy.net/web/index",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
    }
    account_encoded = self.encrypt(account)
    password_encoded = self.encrypt(password)
    data = f"account={account_encoded}&password={password_encoded}&are_code=PLS"
 
    response = requests.post(url, headers=headers, data=data)
 
    print(f"Status Code: {response.status_code}")
    print(f"Response Text: {response.text}")



运行看看,显示:登录成功,打工搞成!
image.png


完整代码如下:

[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
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
46
47
48
from Crypto.Cipher import AES
import base64
from Crypto.Util.Padding import pad, unpad
import requests
 
class Gszxjyhelper(object):
    def __init__(self):
        pass
    def encrypt(self,plaintext):
        # 转换密钥和IV为bytes类型
        key = "20180227110419WB".encode('utf-8')
        iv = "ZZWBKJ_ZHIHUAWEI".encode('utf-8')
        # 创建AES-CBC加密器
        cipher = AES.new(key, AES.MODE_CBC, iv)
        # 对明文进行PKCS7填充并加密
        padded_data = pad(plaintext.encode('utf-8'), AES.block_size)
        ciphertext = cipher.encrypt(padded_data)
        # 返回Base64编码字符串
        return base64.b64encode(ciphertext).decode('utf-8')
    def login(self,account, password):
        url = "https://www.gszxjy.net/api/student.index/login.html"
 
        headers = {
            "accept": "application/json, text/plain, */*",
            "accept-language": "zh-CN,zh;q=0.9",
            "cache-control": "no-cache",
            "content-type": "application/x-www-form-urlencoded",
            "pragma": "no-cache",
            "sec-ch-ua": '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
            "sec-ch-ua-mobile": "?0",
            "sec-ch-ua-platform": '"Windows"',
            "sec-fetch-dest": "empty",
            "sec-fetch-mode": "cors",
            "sec-fetch-site": "cross-site",
            "Referer": "https://www.gszxjy.net/web/index",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
        }
        account_encoded = self.encrypt(account)
        password_encoded = self.encrypt(password)
        data = f"account={account_encoded}&password={password_encoded}&are_code=PLS"
 
        response = requests.post(url, headers=headers, data=data)
 
        print(f"Status Code: {response.status_code}")
        print(f"Response Text: {response.text}")
if __name__ == '__main__':
    gs = Gszxjyhelper()
    gs.login("17588580360", "aaa123456")



觉得写得好,不拖泥带水,好就给个评分吧,谢谢啦!

免费评分

参与人数 10吾爱币 +15 热心值 +7 收起 理由
xu206363 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
ZeLin99 + 1 我很赞同!
k369369 + 1 + 1 我很赞同!
tianyu925 + 1 我很赞同!
0x26c + 1 用心讨论,共获提升!
modesty88 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
奋斗的路程 + 1 + 1 我很赞同!
抱薪风雪雾 + 1 + 1 谢谢@Thanks!
wzh103103 + 1 谢谢@Thanks!
涛之雨 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

SVIP9大会员 发表于 2025-3-16 17:21
记得改密码啊,我寻思着你模拟登录,你这账号密码不怕泄露嘛。
FCGkitty 发表于 2025-3-16 19:07
本帖最后由 FCGkitty 于 2025-3-16 19:58 编辑

铁子,你不能直接跳过AES密钥的获取过程,直接来一段代码啊

免费评分

参与人数 1热心值 +1 收起 理由
动寒川 + 1 我很赞同!

查看全部评分

头像被屏蔽
laixingcui 发表于 2025-3-16 17:28
 楼主| pwp 发表于 2025-3-16 17:31
laixingcui 发表于 2025-3-16 17:28
只能是甘肃省的,有其他省的没有呢。

大同小异
ky_wei 发表于 2025-3-16 20:36
续第二章《某专业技术人员继续教育平台登录分析及模拟实践之博主账号密码泄露:一个典型的错误示范》

经匹配,平台上系假姓名,现已将姓名改成张三
5119221**20803*3*0(四川省巴中市南江县)
175*8*8*3*0


wanglujiang 发表于 2025-3-16 17:21
厉害了
 楼主| pwp 发表于 2025-3-16 17:27
SVIP9大会员 发表于 2025-3-16 17:21
记得改密码啊,我寻思着你模拟登录,你这账号密码不怕泄露嘛。

我寻思着您拿去帮我买课刷学时啊
liyitong 发表于 2025-3-16 17:53
SVIP9大会员 发表于 2025-3-16 17:21
记得改密码啊,我寻思着你模拟登录,你这账号密码不怕泄露嘛。

这泄露了就咋了?你上去帮他刷网课在线时长吗
cqloyo 发表于 2025-3-16 18:57
这个有用,谢谢!
天真Aro 发表于 2025-3-16 18:58
sfz泄露了吧
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-3-28 19:14

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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