• AbcLite Store新购买平台启用,点击:https://www.abclite.net详细了解。
  •    1年前 (2015-11-14)  网络 |   6 条评论  1596 
    文章评分 0 次,平均分 0.0

    wechat-logo-vector-image

    1、原理:

    微信运动的原理还是读取的协处理器,比如iPhone的M系列处理器读数,而iOS这个API是开放的,诸多第三方配件或者软件都可通过该特性与微信结合,也就是说微信在取数时不仅可以从iOS本身的“健康”程序中获取,也可以从第三方APP获取。

    而问题的关键就在于微信并没有对第三方的数据做验证,从理论来说这个验证有一定难度,因为运动数据可能来自各种手环或者周边配件而非iPhone本身,虽然该漏洞不会危及安全,但是对运动结果有较大影响,随意修改天天都可以当运动第一名了。

    2、修改:

    为了装逼可以用乐动力的提交过程来修改运动最终参数,因为乐动力是明文传输可以随意修改, 那么就用python运行该代码,更改运动步数:

    #coding: utf-8
    
    #date: 刷微信步数
    
    #usage: edit steps and ledongli's uid(u need to download this app) .That would be ok .Good luck. ^_^
    
    import requests
    
    import sys
    
    import json
    
    import datetime
    
    import time
    
    def isnum(value):
    
        try:
    
            temp = int(value)
    
        except Exception as e:
    
            return False
    
        else:
    
            return True
    
    # like 2015-09-25 00:00:00 converts to unix time stamp
    
    def formatDate():
    
        nowtime = datetime.datetime.now()
    
        date = time.strftime('%Y-%m-%d')
    
        strtemp_date = date + ' 00:00:00'
    
        ledongli_date = time.strptime(strtemp_date, '%Y-%m-%d %H:%M:%S')
    
        finaldate = time.mktime(ledongli_date) # rusult is 1443456000.0(float type), but still need to format to 1443456000
    
        finaldate = int(finaldate)
    
        return finaldate
    
    def main(steps, uid):
    
        if not isnum(steps):
    
            print('param error. steps must be an integer.')
    
        url = 'http://pl.api.ledongli.cn/xq/io.ashx'
    
        fake_headers = {
    
                            'User-Agent'     : 'le dong li/5.4 (iPhone; iOS 9.1; Scale/2.00)',
    
                            'Content-Type'   : 'application/x-www-form-urlencoded; charset=UTF-8',
    
                            'Accept-Encoding': 'gzip'
    
                        }
    
        keycontentjson = [
    
                            {
    
                                "date": formatDate(),
                                "calories": 0,
                                "activeValue": 108,
                                "steps": steps,
                                "pm2d5": 0,
                                "duration": 0,
                                "distance": 0,
                                "report": "[]"
    
                            }
    
                         ]
    
        # key is a str type
    
        # key must be a json data convert to string
    
        key = json.dumps(keycontentjson)
    
        param = {
    
                    'action': 'profile',
    
                    'pc':     '29e39ed274ea8e7a50f8a83abf1239faca843022',
    
                    'cmd':    'updatedaily',
    
                    'uid':    uid,
    
                    'list':   key,
                     'v'  :   '5.4%20ios',
                     'vc' : '540%20ios'
                }
    
        r = requests.post(url, data = param, headers = fake_headers)
    
        print(r.text)
    
        print('装逼成功')
    
    if __name__ == '__main__':
    
        steps = 199999
    
        uid = '1111111'
    
        main(steps, uid)
    

     

    3、当然,也可以用sohoer挂好的js来直接修改:

    http://china.newcrawler.com/run.html 其中ID就是你乐动力的ID,点好直接提交,在微信同步即可。

    EA3E165C-5518-497E-8C0E-A598E479BC50

    原文来自:http://www.v2ex.com/t/236084#reply60

    相关漏洞报告:https://www.wooyun.org/?action=view&bugnumber=wooyun-2015-0139632

     

     

      
     

    除特别注明外,本站所有文章均为AbcLite原创,转载请注明出处来自http://www.abclite.cn/1730.html

    关于

    发表评论

    表情 格式
    1. 似乎没了。

      电* 1年前 (2015-11-24) [0] [0]
    2. 登入网站提示要用户名,是不是没交钱被清空了

      大保健 1年前 (2015-11-22) [0] [0]
    3. 被和谐了?

      大楠 1年前 (2015-11-22) [1] [0]
    4. 同步了,但还是原来的数据

      流沙 1年前 (2015-11-15) [0] [0]
    切换注册

    登录

    忘记密码 ?

    您也可以使用第三方帐号快捷登录

    切换登录

    注册