Charle分析实战

xx环境

Ubuntu20.04
iphone

部署环境

Linux (ubuntu && Centos)

前言

讲的是思路 !!!

安装xx工具&&报文分析

  • 安装Charle
wget -q -O - https://www.charlesproxy.com/packages/apt/PublicKey | sudo apt-key add
sudo sh -c 'echo deb https://www.charlesproxy.com/packages/apt/ charles-proxy main > /etc/apt/sources.list.d/charles.list'
sudo apt update
sudo apt install charles-proxy -y
  • xx激活Charle
Registered Name:https://zhile.io
License Key: 48891cf209c6d32bf4

打开软件在手机上安装证书

  • 前提准备
    • 保证手机和电脑在一个局域网中
    • 保证手机链接同一个局域网并配置Http 代理为你电脑的ip:8888 (找不见自己电脑中的IP可以在第三张图查看)

在这里插入图片描述
在这里插入图片描述

  • 使用的是Iphone 如果是安卓手机就需要Root (这里只是教大家分析报文 真实部署不需要)
    依次点击help-> SSL Proxying -> Install Charle Root Certificate on a Mobile device or Romote Browser
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
  • 在手机上输入如图上的域名chls.pro/ssl 下载安装证书
  • 依次点击Proxy -> SSL Proxying Settings 点击Add 添加所有需要抓的Https请求
    在这里插入图片描述
  • 当看到Charle中抓到很多请求后 说明初始配置成功
    在这里插入图片描述
清除历史包并在手机上打开x信和xxxx

-清除手机后台所有应用 并打开 x信 -> xxxx

  • 根据要抓的应用名称判断出需要的域名
    在这里插入图片描述

  • 显然这个域名是放小程序h5以及用户信息的域名路径
    在这里插入图片描述

  • 显然这个域名是放小程序js 以及css文件的路径
    在这里插入图片描述

  • 选择清除小程序数据信息 然后进入后会跳转到登陆页面
    在这里插入图片描述

  • 后期会发现post一个定位打卡签到的报文 会需要Session信息故 要发登陆的报文取到session信息

  • 随变在用户名密码填一下让手机将报文发出去

  • charle下查看到发送了一个带username passwd的post报文

在这里插入图片描述

  • 查看报文信息 username passwd为我在校园用户名秘密 openid unionid 为小程序的信息 phoneinfo 字面意思
    在这里插入图片描述

  • 把链接复制出来拉到postman下测试一下 发现刚才的 其他三个Requests headers 字段可以不需要
    在这里插入图片描述

  • Response headers 中的 Set-CookieJwsSESSION是后期发送打卡请求需要的字段
    在这里插入图片描述

  • 手机点击我的可以发现抓到了个人数据 分析请求头发现是带这cookie请求的
    在这里插入图片描述
    在这里插入图片描述
    -同样复制出Requests headers 拉到postman测试一波
    在这里插入图片描述

  • 最后点到打卡的界面 因为 今天我已经打过卡了所以出现的是 gettoday.json

  • 没有打过卡可以直接提交 发现就是在这个路径下发了一个 名为save.jsonPost包 将参数拿到postman 同样测试一遍
    在这里插入图片描述

  • 发现打卡成功 然后开始写代码

Code

  • 这里放一个没有添加每日短信提示的版本
  • home_data 的需要更改为你自己家的数据
  • 前两个字段为家的经度和伟度
    ‘latitude’: ‘34.445026’,
    ‘longitude’: ‘107.62972’,
  • city填你所在的市
    ‘country’: ‘中国’,
    ‘city’: ‘宝鸡市’,
  • 后面的数据填你所在的镇
    ‘district’: ‘xx县’,
    ‘province’: ‘xx省’,
    ‘township’: ‘xx镇’,
    ‘street’: ‘xx街’,
  • areacode 你的地域号 通过高德/百度 地图的API可以查到 不知到写你身份证前6位
    ‘areacode’: ‘610323’,
import datetime
import json
import os
import random
import requests

FileLog=os.path.basename(__file__).replace('.py','.log')

class WZXY_Fuck(object):
    def __init__(self,username,passwd):
        self.username=username
        self.passwd=passwd
        self.JWSESSION=''
    def get_student_data(self):
      student_info_url="https://gw.wozaixiaoyuan.com/basicinfo/mobile/my/index"
        student_info_headers={
   
           'method':'POST',
            'scheme':'https',
            'path':'/basicinfo/mobile/my/index',
            'authority':'gw.wozaixiaoyuan.com',
            'content-type':'application/json;charset=UTF-8',
            'accept':'application/json, text/plain, */*',
            'accept-encoding':'gzip, deflate, br',
            'accept-language':'zh-CN,zh-Hans;q=0.9',
            'origin':'https://gw.wozaixiaoyuan.com',
            'user-agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 15_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.18(0x18001225) NetType/WIFI Language/zh_CN miniProgram/wxce6d08f781975d91',
            'referer':'https://gw.wozaixiaoyuan.com/h5/mobile/basicinfo/index/home/my',
            'cookie':'JWSESSION={}'.format(self.JWSESSION),

        }
        student_info_response=requests.post(student_info_url,headers=student_info_headers)
        print(student_info_response.text, file=open(FileLog, 'a'))


    def login(self):
        login_headers
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值