阿里图像修复验证码自动化分析

声明

本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包 内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!侵权通过头像私信或名字简介叫我删除博客谢谢。
部分python代码

复制代码
@app.route('/solve_captcha', methods=['POST'])
def api_solve_captcha():
    """
    POST 接口,接收 JSON:
    {
       
    }
    """
    data = request.get_json(force=True) or {}
    token = data.get('token', '')
    group_id = data.get('groupId', '')
    uid = data.get('uid', '')

    if not token or not group_id or not uid:
        return jsonify({"code": 400, "message": "缺少必要参数: token, groupId, uid", "success": False, "data": None})

    local_storage = build_local_storage(token, group_id, uid)

    try:
        page = init_browser()
        page.get(TARGET_URL)
        page.wait(2, 4)

        inject_env(page, local_storage, '')
        page.wait(2, 4)
        page.get(TARGET_URL)
        page.wait(2, 4)

        result = solve_captcha(page)

        cookies_dict = {}
        cookies_raw = page.run_js("return document.cookie")
        if cookies_raw:
            for c in cookies_raw.split('; '):
                if '=' in c:
                    k, v = c.split('=', 1)
                    cookies_dict[k] = v

        local_storage_dict = page.run_js("""
            let data = {};
            for (let i = 0; i < localStorage.length; i++) {
                let key = localStorage.key(i);
                data[key] = localStorage.getItem(key);
            }
            return data;
        """)

        response_data = {
            "code": 200 if result["success"] else 500,
            "message": result["message"],
            "success": result["success"],
            "data": {
                "cookies": cookies_dict,
                "localStorage": local_storage_dict
            }
        }
    except Exception as e:
        response_data = {"code": 500, "message": str(e), "success": False, "data": None}
    finally:
        try:
            page.quit()
        except Exception:
            pass
    return jsonify(response_data)


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, debug=False)

结果

总结

1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

2.具体更多细节请看名字进入详情了解更多细节,具体细节要你自己还原,相信你也能调试出来。

相关推荐
KaMeidebaby3 小时前
卡梅德生物技术快报|PD1 单克隆抗体定制配套 N 糖全谱质控开发
前端·人工智能·算法·数据挖掘·数据分析
nuIl4 小时前
实现一个 Coding Agent(3):工具调用
前端·agent·cursor
nuIl4 小时前
实现一个 Coding Agent(4):ReAct 循环
前端·agent·cursor
nuIl4 小时前
实现一个 Coding Agent(1):一次 LLM 调用
前端·agent·cursor
nuIl4 小时前
实现一个 Coding Agent(2):让 LLM 流式响应
前端·agent·cursor
copyer_xyf4 小时前
Python 异常处理
前端·后端·python
sugar__salt5 小时前
从栈队列数据结构到JS原型面向对象全解
前端·javascript·数据结构
独特的螺狮粉5 小时前
篮球集训班器具管理系统 - 鸿蒙PC Electron框架完整技术实现指南
前端·javascript·华为·electron·前端框架·开源·鸿蒙
pusheng20255 小时前
IFSJ全英文专访:中国创新力量重塑先进气体感知技术,赋能全球关键基础设施安全
前端·网络·人工智能·物联网·安全
AI_零食6 小时前
番茄钟鸿蒙PC Electron框架完成:状态机、定时器管理与专注力工具设计
前端·javascript·华为·electron·开源·鸿蒙·鸿蒙系统