logo NodeSeekbeta

闲着无聊弄了一个DMIT的iOS Scriptable的小组件

1234
  • ai分析了一下
    这份 Scriptable 脚本主要用于在 iOS 桌面显示 DMIT(一家云服务商)的服务器状态。
    代码逻辑清晰,功能完整,但在安全性和稳定性方面存在以下几个值得注意的风险点,建议你在使用或修改时参考:

    1. Cookie 存储与敏感信息泄露
      • Keychain 存储 (好评):脚本使用了 Keychain.get 和 Keychain.set,这比存放在 FileManager(明文文件)要安全得多。Keychain 是加密存储的。
      • 潜在风险:虽然存储是安全的,但脚本中的 console.error(error) 可能会在调试日志中打印出包含请求头(可能带 Cookie)的信息。
      • 建议:在公共设备上运行此脚本时,确保不要将 Scriptable 的日志分享给他人。
    2. 身份验证过期与劫持风险
      • Cookie 依赖:脚本通过硬编码或手动输入的 Cookie(WHMCSP8D3Nbb7msEy)进行身份验证。
      • 风险:如果你的手机被解锁,且有人能进入 Scriptable 应用,他们可以通过点击“设置 Cookie”直接通过 UI 或修改代码看到你的原始 Cookie。
      • 缓解:建议开启 iOS 系统的应用锁,或在脚本开头加入简单的本地生物识别验证(如果 Scriptable 环境支持)。
    3. 中间人攻击 (MITM)
      • HTTPS 虽然开启,但未验证:脚本使用了 new Request(url)。在 iOS Scriptable 环境下,虽然默认使用 HTTPS,但它并不会检查证书的完整性(Pinning)。
      • 风险:如果你在公共 Wi-Fi 环境下使用,且攻击者伪造了 DMIT 的证书,你的 Cookie 可能会被截获。
      • 建议:避免在不安全的公共 Wi-Fi 下刷新该小组件。
    4. 正则表达式匹配风险 (解析漏洞)
      • HTML 解析方式:脚本使用 parseProductsFromHtml 函数,通过正则表达式 (rowRegex) 来解析 HTML。
      • 风险:这是一种比较脆弱的做法。如果 DMIT 官方修改了网页代码(例如在属性里多加了一个空格或换行),正则表达式可能会失效,或者在极端情况下被构造恶意 HTML 导致正则回溯攻击(虽然在小组件场景下概率极低)。
      • 建议:这更多是稳定性风险而非安全风险。一旦 DMIT 官网改版,脚本就会失效。
    5. 跨站请求伪造 (CSRF) 隐患
      • POST 请求构造:在 loadGraphData 中,脚本发送了一个硬编码的 POST 请求。
      • 风险:虽然这是由于 DMIT API 限制必须这么做,但如果该 Cookie 同时在浏览器中使用,且你访问了恶意网站,该脚本的逻辑揭示了 DMIT 的 API 结构,可能被利用于针对该平台的 CSRF 攻击。
  • 未找到产品数据,原来等号后面有个空格,得删掉

  • 收藏了

  • @skyfall0123456 #22 cookie后面的空格吗?WHMCSP8D3Nbb7msEy=m6evrb0huxxx506asor9f; 我这没有呢 也不行

  • 这cookie有效期真的是一年吗 xhj001 我的咋几小时就过期了

  • 这cookie几个小时就过期了,没啥用

  • @doubleflower #26
    @DawnAlex #27

    我后来也发现这个问题了。
    改成用账号密码登陆了,不过还在调试。
    晚些调试好了会更新上来。

  • @doubleflower #29

    我尝试过几次都可以直接脚本登陆,只是还没弄好发出来。
    这几天来我对象家了,没在家。

1234

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72255位seeker

🎉欢迎新用户🎉