万创帮逆向解析,让你也能体验技术变现【Python爬虫实战系列之万创帮闲置资源整合逆向】

前言

爬虫系列太难了,我算了一下这个系列从开始到现在我写了40篇左右了,但是现在这个专栏只显示30篇左右,大概有10篇左右下架了因为版权或者违规的问题,难受...

采集目标

网址:

https://m.wcbchina.com/login/login.html?service=https://m.wcbchina.com/my/my.html&bp=https%3A//m.wcbchina.com/my/my.html

image.png

 

工具准备

开发工具:pycharm 开发环境:python3.7, Windows10 使用工具包:requests,md5

项目思路解析

这个数据的逆向是app的数据,想要解析的话大部分进行app的数据逆向,用在web网页的时候需要通过抓包工具进行设定,将左上角第二个选项点亮,把浏览器设置为手机的模式。

image.png

先输入错误的账户密码找到登录的请求接口,在进行数据的解析处理。

image.png

找到数据后开始进行解析:

  • 请求网址为:https://m.wcbchina.com/api/login/login?rnd=0.6807164275086108

  • 请求方法为:post

  • 需要携带的请求头:user-agent

  • 需求传递的参数:传递的数据类型为json,

  • {"auth":{"timestamp":1635225584675,"sign":"1992F839A06E27B22A03ADFAA6630F44"},"username":"17673942335","password":"D3432F4A98143D1951496D31ED76B5E2"}

重数据中可以看出数据网址里的rnd的值是随机数0-1的随机数,传递数据的timestamp为时间戳,sign,和password都是加密数据,确定数据后开始进行解析,解出sign和password的生成规律 通过搜索方式找到数据的生成位置,数据的加密方式为md5加密,可以打断点验证数据是否为我们想要的数据,sing的数据是 N , N的值是由h.hex_md5((v || "") + (g || "") + c).toUpperCase()生成的

image.png

打上断点查看数据的生成结果v和g的值都是空数据,c的数据是时间戳,那最终的sing的数据是对时间戳进行md5的加密加字符串大写的值,sing的值确定在来找password的值,在全局搜索password的关键字。

image.png

password的值是在loginAction进行获取在c.login进行参数传递,传递的数据密码就是md5的加密数据,password和sing数据都是进过md5加密的数据,思路清楚后开始书写代码。

简易源码分享

import requests   # 发送网络请求的工具包
import json
import time
import random
from hashlib import md5
​
def main():
    url = "https://m.wcbchina.com/api/login/login?rnd=" + str(random.random())
    password = input('请输入你的密码:')
    password = md5(password.encode()).hexdigest()
    print(password.upper())
    time_data = int(time.time()*1000)
    sign = md5(str(time_data).encode()).hexdigest().upper()
​
    data = {"auth": {"timestamp": time_data, "sign": sign},
         "username": "17673942335",
         "password": password.upper()
        }
​
​
    response = requests.post(url, data=json.dumps(data))
    print(response.json())
​
main()
​

posted @ 2021-10-31 14:31  白云吃辣条  阅读(135)  评论(0编辑  收藏  举报