首页 > 其他分享 >05-xx大学

05-xx大学

时间:2024-02-11 09:55:34浏览次数:20  
标签:obj string 05 res 大学 xx https cn md5

今日目标:对北大未名BBS进行逆向,实现账号登录

提示:入门级别的js逆向案例。

1.关于js逆向

在页面上输入的密码:woshiniba,但是提交后密码居然变成:c739492f2837ed5c6927914a55467874。

这其实是,在网页中的JS代码在发送请求之前,对我们的密码进行了处理(加密)。

那么,如果我们后续想要模拟请求发送时,必须要去网站中找到他的加密方式,然后用代码实现加密+请求发送。

而我们根据现象,去网站的js代码中寻找算法的行为,就称为js逆向。

注意:一般稍微正式点的网站,都会加入加密算法,即:爬虫时都需要逆向。

https://zhiyun.souche.com/login

image-20231202164338292

https://bbs.pku.edu.cn/v2/home.php

image-20231202164557950

2.案例:北大未名

https://bbs.pku.edu.cn/v2/home.php

2.1 分析

image-20231202165437914

image-20231202165640828

2.2 调试

image-20231202165758456

2.3 实现

在线加密:https://icyberchef.com/

import time
import hashlib

import requests

# 1.首页
res = requests.get(url="https://bbs.pku.edu.cn/v2/home.php")
cookie_dict = res.cookies.get_dict()

# 2.登录
user = "wupeiqi"
pwd = "123123"
ctime = int(time.time())
data_string = f"{pwd}{user}{ctime}{pwd}"

obj = hashlib.md5()
obj.update(data_string.encode('utf-8'))
md5_string = obj.hexdigest()

res = requests.post(
    url="https://bbs.pku.edu.cn/v2/ajax/login.php",
    data={
        "username": user,
        "password": pwd,
        "keepalive": "0",
        "time": ctime,
        "t": md5_string
    },
    cookies=cookie_dict
)

print(res.text)

3.案例:媒想到

https://www.94mxd.com.cn/signin

image-20231204095545475

import hashlib
import requests

data_string = "qwe123456" + "Hq44cyp4mT9Fh5eNrZ67bjifidFhW%fb0ICjx#6gE59@P@Hr8%!WuYBa1yvytq$qh1FEM18qA8Hp9m3VLux9luIYpeYzA2l2W3Z"
obj = hashlib.md5()
obj.update(data_string.encode('utf-8'))
md5_string = obj.hexdigest()

res = requests.post(
    url="https://www.94mxd.com.cn/mxd/user/signin",
    json={
        "email": "[email protected]",
        "password": md5_string
    }
)
print(res.text)
print(res.cookies.get_dict())

标签:obj,string,05,res,大学,xx,https,cn,md5
From: https://www.cnblogs.com/fuminer/p/18013182

相关文章

  • 04-xx军事自动登录
    本节目标:实现xx军事网账号的自动登录1.前置知识点在开始实现之前,需要先学一些必备的前置知识。1.1页面刷新抓包在抓包时,如果有页面刷新,之前的请求包就会被清除(无法分析)。1.2表单请求和ajax请求当看到页面上有一个表单时,当输入账号+点击登录/注册提交,数据提交就两种方式:......
  • 单机版 Xxl-Job 分布式定时任务调度的部署和使用
    Xxl-Job是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。本篇博客主要介绍如何进行单机版部署和使用,并在博客最后提供源代码下载。Gitee地址:https://gitee.com/xuxueli0323/xxl-jobGitHub地......
  • Atcoder Grand Contest 056 B - Range Argmax
    因为一组\(x\)可能对应多组\(p\),考虑怎么让决策唯一化。我们从大到小依次钦定每个值的位置,即倒着遍历\(i=n,n-1,\cdots,1\),找到最左端的位置\(v\)满足,对于现在还活着的所有区间\(j\)满足\(l_j\lev\ler_j\),都有\(x_j=v\),令\(p_j=i\),然后删去所有包含\(i\)的区间。......
  • python3.9+django4.1+vue3 ,后端项目运行时,报错了,WSGI application 'XXX.wsgi.applicat
    python3.9+django4.1+vue3,后端项目运行时,报错了; 报错信息,如下:django.core.exceptions.ImproperlyConfigured:WSGIapplication'StudentMgrBE.wsgi.application'couldnotbeloaded;Errorimportingmodule.     ------------------------------百度......
  • python django4.1 pycharm,报错,Conflicting 'xxx' models in application 'xxx': <
    遇到了一个报错,不知道咋么解决,pythondjango3pycharm,报错。不晓得怎么解决;Conflicting'xxx'modelsinapplication'xxx':<class'xxx'>and<class'xxx'>.这个是 报错误 信息,如下:RuntimeError:Conflicting'faculty'modelsin......
  • 005_二叉树
    1.用递归和非递归的方式实现二叉树的先序、中序、后序遍历先序遍历递归publicvoidpreOrderRecur(TreeNoderoot){if(root==null){return;}System.out.println(root.val+"");preOrderRecur(root.left);preOrderRecur(root.right);}......
  • ABC 305
    题目列表前三题过水,第四题分类讨论两个端点之间的距离和所在位置是清醒或睡眠即可。E题意:一张图上有一些结点有保安,每个保安有不同的警戒度\(h_i\),定义一个结点是安全的为这个结点可以到达一个保安\(x\),且距离\(\leqx\)。问有多少个安全的结点。痛失第五题很简单的......
  • dl-cdr-fai-pt-merge-05
    面向程序员的FastAI和PyTorch深度学习(六)原文:DeepLearningforCodersWithFastaiandPytorch译者:飞龙协议:CCBY-NC-SA4.0第九章:表格建模深入探讨表格建模将数据以表格形式(如电子表格或CSV文件)呈现。目标是基于其他列中的值来预测一列中的值。在本章中,我们将不仅......
  • eslint报错:Parsing error: No Babel config file detected for E:\xxx\index.config
    eslint根据eslint配置文件的parserOption,知道了要使用babel对代码进行解析,但是解析babel需要使用babel配置文件,由于找不到配置文件(babel配置文件默认需要放在根目录下),所以会报错。因此,添加requireConfigFile:false,本质上是告诉eslint,不用查找这个配置文件了,虽然表面上可以解决这......
  • Oracle~ORA-12505, TNS:listener does not currently know of SID given in connect d
    问题描述ORA-12505,TNS:listenerdoesnotcurrentlyknowofSIDgiveninconnectdescriptorORA-12505:TNS:监听程序当前无法识别连接描述符中所给出的SID问题原因说明给到的sid有误,很有可能就是服务名和SID混淆使用。首先了解数据库url的写法有两种:(1)监听SID,表示SID......