zoukankan      html  css  js  c++  java
  • js一些简单逆向题目实战

    http://match.yuanrenxue.com/match/12

    直接分析charles抓包,然后对抓到的包进行重放攻击,发现依旧可以获取访问的数据

    对比参数变化,没有变化, 现在我们进行翻页。发现唯一变化的就是url后面带的m

    直接在网页里面全局搜索m的不大现实,由于网页是xhr动态加载的,m的生成应该和在加载有关,所有我们此时在xhr打上断点

     然后我们进行翻页, 查看调用堆栈信息

    这下面的一个个的点点看,找找是否有m 

    找到了

    我们断点调试查看是否验证是否和charles抓包的一样,验证正确

    第二题

    http://match.yuanrenxue.com/match/13

    我们对他进行重发攻击,发现不不行

    这种的话就可能是cookie加密,先用js代码生成cookie,再刷新网页调用

    我们用charles找找其他的url,看看有没有js代码

     找到了

     我们把复制,放到控制台进行打印输出,看结果

    发现这个代码就是生成cookie的必要代码,而后面的locaktion.href的操作是将网页刷新。

    我们想先把生成cookie的js文件请求现在,放到execjs里面 进行执行,然后吧生成的cookie带到api json接口操作就可以了


    import execjs
    import requests
    import re
    cookies = {
    'sessionid': 'few4d066o80593wqq4g9s8flmihik48e',
    'Hm_lvt_c99546cf032aaa5a679230de9a95c7db': '1615262985',
    'Hm_lvt_9bcbda9cbf86757998a2339a0437208e': '1615282305',
    'qpfccr': 'true',
    'no-alert2': 'true',
    'm': '155',
    'Hm_lpvt_9bcbda9cbf86757998a2339a0437208e': '1615360803',
    'yuanrenxue_cookie': '1615362909|lKmD2PHdafvtklyM85tn1R0SK6ZT4dvLS8BJ4G0vVvgrhhTFwOajq4HWJoWrd10pR8wLUjkxyaJV7cgofqqew8rFt7IFNGx4IL8Y4',
    'Hm_lpvt_c99546cf032aaa5a679230de9a95c7db': '1615362920',
    }

    headers = {
    'Host': 'match.yuanrenxue.com',
    'Cache-Control': 'max-age=0',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'Referer': 'http://match.yuanrenxue.com/match/13',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    }

    response = requests.get('http://match.yuanrenxue.com/match/13', headers=headers, cookies=cookies)
    # print(response.text)
    regex="<script>document.cookie=(.*?)</script>"
    pat=re.compile(regex,re.S)
    dd_list=pat.findall(response.text)
    js_f='document.cookie='+dd_list[0].split(';')[0]+';'+dd_list[0].split(';')[1]
    #仅仅针对访问路径而言,实际上cookie用不到这一段
    # print(js_f)
    jscode=f"""
    document = new Object();
    location = new Object();
    function result() {{
    {js_f};
    return document.cookie

    }}

    """
    cookie=execjs.compile(jscode).call('result')
    cookie=cookie.split('=')[1].split(';')[0]



    cookies = {
    'sessionid': 'few4d066o80593wqq4g9s8flmihik48e',
    'Hm_lvt_c99546cf032aaa5a679230de9a95c7db': '1615262985',
    'Hm_lvt_9bcbda9cbf86757998a2339a0437208e': '1615282305',
    'qpfccr': 'true',
    'no-alert2': 'true',
    'm': '155',
    'Hm_lpvt_9bcbda9cbf86757998a2339a0437208e': '1615360803',
    'yuanrenxue_cookie': cookie,
    'Hm_lpvt_c99546cf032aaa5a679230de9a95c7db': '1615365577',
    }

    headers = {
    'Proxy-Connection': 'keep-alive',
    'Pragma': 'no-cache',
    'Cache-Control': 'no-cache',
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'User-Agent': 'yuanrenxue.project',
    'X-Requested-With': 'XMLHttpRequest',
    'Referer': 'http://match.yuanrenxue.com/match/13',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    }
    data_List=[]
    for page in range(1,6):
    params = (
    ('page', page),
    )

    response = requests.get('http://match.yuanrenxue.com/api/match/13', headers=headers, cookies=cookies, params=params,verify=False)
    dd_list=[]
    for i in response.json()['data']:
    value=int(i['value'])
    dd_list.append(value)
    data_List.append(sum(dd_list))
    print(sum(data_List))

    代码操作
  • 相关阅读:
    如何保存PDF、Word和Excel文件到数据库中
    C#添加PDF页眉——添加文本、图片到页眉
    C#数组,List,Dictionary的相互转换
    C#向PPT文档插入图片以及导出图片
    【CTSC2018】暴力写挂(边分治,虚树)
    【WC2018】通道(边分治,虚树,动态规划)
    【BZOJ2870】最长道路(边分治)
    【WC2018】州区划分(FWT,动态规划)
    【LOJ#6029】市场(线段树)
    【Hihocoder1413】Rikka with String(后缀自动机)
  • 原文地址:https://www.cnblogs.com/wuxianyu/p/14512761.html
Copyright © 2011-2022 走看看