ai分析了一下 这份 Scriptable 脚本主要用于在 iOS 桌面显示 DMIT(一家云服务商)的服务器状态。 代码逻辑清晰,功能完整,但在安全性和稳定性方面存在以下几个值得注意的风险点,建议你在使用或修改时参考: Cookie 存储与敏感信息泄露 • Keychain 存储 (好评):脚本使用了 Keychain.get 和 Keychain.set,这比存放在 FileManager(明文文件)要安全得多。Keychain 是加密存储的。 • 潜在风险:虽然存储是安全的,但脚本中的 console.error(error) 可能会在调试日志中打印出包含请求头(可能带 Cookie)的信息。 • 建议:在公共设备上运行此脚本时,确保不要将 Scriptable 的日志分享给他人。 身份验证过期与劫持风险 • Cookie 依赖:脚本通过硬编码或手动输入的 Cookie(WHMCSP8D3Nbb7msEy)进行身份验证。 • 风险:如果你的手机被解锁,且有人能进入 Scriptable 应用,他们可以通过点击“设置 Cookie”直接通过 UI 或修改代码看到你的原始 Cookie。 • 缓解:建议开启 iOS 系统的应用锁,或在脚本开头加入简单的本地生物识别验证(如果 Scriptable 环境支持)。 中间人攻击 (MITM) • HTTPS 虽然开启,但未验证:脚本使用了 new Request(url)。在 iOS Scriptable 环境下,虽然默认使用 HTTPS,但它并不会检查证书的完整性(Pinning)。 • 风险:如果你在公共 Wi-Fi 环境下使用,且攻击者伪造了 DMIT 的证书,你的 Cookie 可能会被截获。 • 建议:避免在不安全的公共 Wi-Fi 下刷新该小组件。 正则表达式匹配风险 (解析漏洞) • HTML 解析方式:脚本使用 parseProductsFromHtml 函数,通过正则表达式 (rowRegex) 来解析 HTML。 • 风险:这是一种比较脆弱的做法。如果 DMIT 官方修改了网页代码(例如在属性里多加了一个空格或换行),正则表达式可能会失效,或者在极端情况下被构造恶意 HTML 导致正则回溯攻击(虽然在小组件场景下概率极低)。 • 建议:这更多是稳定性风险而非安全风险。一旦 DMIT 官网改版,脚本就会失效。 跨站请求伪造 (CSRF) 隐患 • POST 请求构造:在 loadGraphData 中,脚本发送了一个硬编码的 POST 请求。 • 风险:虽然这是由于 DMIT API 限制必须这么做,但如果该 Cookie 同时在浏览器中使用,且你访问了恶意网站,该脚本的逻辑揭示了 DMIT 的 API 结构,可能被利用于针对该平台的 CSRF 攻击。
ai分析了一下
这份 Scriptable 脚本主要用于在 iOS 桌面显示 DMIT(一家云服务商)的服务器状态。
代码逻辑清晰,功能完整,但在安全性和稳定性方面存在以下几个值得注意的风险点,建议你在使用或修改时参考:
• Keychain 存储 (好评):脚本使用了 Keychain.get 和 Keychain.set,这比存放在 FileManager(明文文件)要安全得多。Keychain 是加密存储的。
• 潜在风险:虽然存储是安全的,但脚本中的 console.error(error) 可能会在调试日志中打印出包含请求头(可能带 Cookie)的信息。
• 建议:在公共设备上运行此脚本时,确保不要将 Scriptable 的日志分享给他人。
• Cookie 依赖:脚本通过硬编码或手动输入的 Cookie(WHMCSP8D3Nbb7msEy)进行身份验证。
• 风险:如果你的手机被解锁,且有人能进入 Scriptable 应用,他们可以通过点击“设置 Cookie”直接通过 UI 或修改代码看到你的原始 Cookie。
• 缓解:建议开启 iOS 系统的应用锁,或在脚本开头加入简单的本地生物识别验证(如果 Scriptable 环境支持)。
• HTTPS 虽然开启,但未验证:脚本使用了 new Request(url)。在 iOS Scriptable 环境下,虽然默认使用 HTTPS,但它并不会检查证书的完整性(Pinning)。
• 风险:如果你在公共 Wi-Fi 环境下使用,且攻击者伪造了 DMIT 的证书,你的 Cookie 可能会被截获。
• 建议:避免在不安全的公共 Wi-Fi 下刷新该小组件。
• HTML 解析方式:脚本使用 parseProductsFromHtml 函数,通过正则表达式 (rowRegex) 来解析 HTML。
• 风险:这是一种比较脆弱的做法。如果 DMIT 官方修改了网页代码(例如在属性里多加了一个空格或换行),正则表达式可能会失效,或者在极端情况下被构造恶意 HTML 导致正则回溯攻击(虽然在小组件场景下概率极低)。
• 建议:这更多是稳定性风险而非安全风险。一旦 DMIT 官网改版,脚本就会失效。
• POST 请求构造:在 loadGraphData 中,脚本发送了一个硬编码的 POST 请求。
• 风险:虽然这是由于 DMIT API 限制必须这么做,但如果该 Cookie 同时在浏览器中使用,且你访问了恶意网站,该脚本的逻辑揭示了 DMIT 的 API 结构,可能被利用于针对该平台的 CSRF 攻击。
未找到产品数据,原来等号后面有个空格,得删掉
收藏了
@skyfall0123456 #22 cookie后面的空格吗?WHMCSP8D3Nbb7msEy=m6evrb0huxxx506asor9f; 我这没有呢 也不行
@SonivelY #24 提取的不对
这cookie有效期真的是一年吗
我的咋几小时就过期了
这cookie几个小时就过期了,没啥用
@doubleflower #26
@DawnAlex #27
我后来也发现这个问题了。
改成用账号密码登陆了,不过还在调试。
晚些调试好了会更新上来。
@emo-cat #28 登录的话它有cf盾,不好搞诶
@doubleflower #29
我尝试过几次都可以直接脚本登陆,只是还没弄好发出来。
这几天来我对象家了,没在家。