喝耶水啊 2024-05-10 17:24 采纳率: 0%
浏览 4
已结题

易盾点选的cb参数怎么解啊

img

img

它的cb 参数是加密的,找了好久找不明白,有没有大lao帮帮忙,需要解密代码跟思路,感谢🙏
目标网站:https://dun.163.com/trial/picture-click

  • 写回答

7条回答 默认 最新

  • 专家-郭老师 Java领域新星创作者 2024-05-10 17:28
    关注

    🕒下午好,题主!目前:🟢[在线]
    📢参考通义千问、由郭老师整理提供!
    📣今日诗号:疏影横斜水清浅,暗香浮动月黄昏。

    网易易盾的点选验证码通常使用复杂算法来保护其安全性,包括可能的加密或混淆。如果你遇到的是cb参数的解密问题,这通常涉及到前端的JavaScript逻辑,因为验证码的交互通常在浏览器中进行,然后发送到服务器验证。

    要解析cb参数,你需要了解以下几个关键步骤:

    1. 抓包分析

      • 使用浏览器开发者工具(如Chrome的DevTools)抓取请求,查看发送给服务器的POST或GET请求中的数据,特别是cb参数。
      • 看看是否有明显的加密模式,比如AES、RSA或其他简单的字符串操作(如Base64编码、URL编码等)。
    2. 代码审查

      • 如果可能,查看源代码或者浏览器的console.log输出,看看是否能找到生成cb参数的函数或逻辑。
      • 注意看是否存在特定的加密库或API调用,这可能是解密的关键。
    3. 模拟用户行为

      • 使用Selenium、Puppeteer等自动化测试工具,模拟真实用户的点击动作,这有助于触发验证码的生成过程,同时观察并记录相关的变量变化。
    4. 解密算法

      • 如果是简单的字符串操作,可能只需要字符串替换、位移、解码等基本操作。如果是加密,可能需要找到加密密钥或模式。
      • 对于复杂的加密,你可能需要借助第三方库(如jsencrypt、crypto-js等)来尝试解密。
    5. 黑盒测试与反向工程

      • 如果上述方法无法直接解密,可能需要进行黑盒测试,尝试不同的输入和猜测解密逻辑。
      • 反向工程可能涉及到动态分析JavaScript代码,查看加密函数的实现细节。

    由于这些步骤通常涉及实际的编程操作,我不能在这里提供完整的代码,但可以给你一个大概的思路:

    import requests
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    import base64
    import jsencrypt
    
    # 假设你已经通过selenium获取到了页面元素
    def get_cb_value(element):
        # 从DOM元素获取cb值
        cb_value = element.get_attribute('data-cb')
        
        # 如果是Base64编码,先解码
        if 'base64,' in cb_value:
            cb_value = base64.b64decode(cb_value.split(',')[1]).decode('utf-8')
        
        # 如果是加密,尝试用JsEncrypt解密
        je = jsencrypt.JSEncrypt()
        # 假设密钥在这里
        je.set_key('your_secret_key')  # 你需要的实际密钥
        decrypted_value = je.decrypt(cb_value)
        
        return decrypted_value
    
    # 使用Selenium触发滑块验证码事件
    driver.find_element_by_id('slider').click()
    
    # 获取cb参数
    cb = get_cb_value(driver.find_element_by_class_name('slider-cb-value'))
    
    # 发送请求,将cb参数解密后的值包含在POST数据中
    response = requests.post('https://your-api-url', data={'cb': decrypted_cb})
    

    请注意,这只是一个非常基础的示例,实际的解密过程可能会更复杂,并且可能涉及到法律和道德问题,尤其是如果你没有网易易盾的官方许可。在进行这类工作时,请确保你遵守相关法规和条款。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月10日
  • 修改了问题 5月10日
  • 创建了问题 5月10日

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集