Himo Mini Program Security Issues

因为预约了 6 月头在香港的 F1 签证,所以需要准备一张 签证照,在家这边的小城市,也没什么选择,没有 天真蓝,最好的就是 海马体 了。海马体生意还挺好,当天都约不到,只能约到 5 月 14 日星期天 在 2023 年 5 月 16 日我已经向海马体的技术团队提交了 可能存在的安全问题。直到今天(2023 年 5 月 29 日),我没有收到海马体技术团队的任何回信,我决定在我的个人博客公开。 2023 年 5 月 31 日我收到了海马体技术团队的邮件,已经修复了该问题。 我在拍完照之后,现场等待了一会,大概也就不到半个小时,小姐姐就基本上修好了,让我确认一下是否有需要修改的地方,没有的话就开始打印了。打印完之后,她告诉我电子版随时可以在 海马体小程序 随时下载。这一点我觉得非常方便。 晚上在家的时候,突然想到海马体小程序的这回事,我在想这些个人的照片应该是存储在 OSS 上的,但是我在想会不会有可能是订单号+编号这样子的文件名来存储的,简单说就是这个图片的链接是有规律的。如果真的是这样的话,我就可以轻松拿到所有用户的照片。 我在 iPhone 上开启了抓包,结果发现所有的照片的外链确实是固定的,只不过文件名是随机的一串字符串,似乎没有任何规律,应该就是完全随机的。然而有一个 API 会返回这个用户所有的照片的文件名,这个 API 传递的参数似乎没有类似于 userID 这类的参数,也就是说完全按照 Cookie 来判断哪位用户的。到这里,想拿到别的用户的照片外链的计划算是泡汤了。 我又想到因为每一次的照片肯定是和订单绑定的,也就是说一个 签证照 订单,理论上应该就固定的只有 4 张图。我又仔细地看了一下订单返回的参数,比较有价值的就是用户名、手机号这些,别的都是预约的门店、门店地址、门店联系电话、订单价格之类的一些东西。但是有一个意外的惊喜,我发现订单详情的 API 在 GET 请求的时候携带了 orderNo 参数,我赶紧使用 API 测试工具,发起了请求,把 orderNo 改一个数字,API 返回了 “订单不存在”。心里窃喜,竟然返回的是订单不存在,而不是无权限,说明我的 Cookie 应该可以查看别人的订单信息,我可以拿到任何注册 海马体小程序 用户的 联系方式。...

Monday, May 29, 2023 · Vincent Young

U.S. Visa Waiting Time View

Selected Embassy U.S. Visa Waiting Times View Information Last updated on: 2024-05-04 17:01:15 (Updated every 3 hours) Beijing - P24 Interview Required Visa Type Waiting Time (Calendar Days) Estimated Time Yes Visitors (B1/B2) 70 2024-07-13 Yes Students/Exchange Visitors (F, M, J) 7 2024-05-11 Yes Petition-Based Temporary Workers (H, L, O, P, Q) 7 2024-05-11 Yes Crew and Transit (C, D, C1/D) 33 2024-06-06 Waiver Students/Exchange Visitors (F, M, J) 1 2024-05-05 Waiver Petition-Based Temporary Workers (H, L, O, P, Q) 1 2024-05-05 Waiver Crew and Transit (C, D, C1/D) 1 2024-05-05 Waiver Visitors (B1/B2) 1 2024-05-05 Shanghai - P187 Interview Required Visa Type Waiting Time (Calendar Days) Estimated Time Yes Visitors (B1/B2) 113 2024-08-25 Yes Students/Exchange Visitors (F, M, J) 15 2024-05-19 Yes Petition-Based Temporary Workers (H, L, O, P, Q) 79 2024-07-22 Yes Crew and Transit (C, D, C1/D) 35 2024-06-08 Waiver Students/Exchange Visitors (F, M, J) 1 2024-05-05 Waiver Petition-Based Temporary Workers (H, L, O, P, Q) 1 2024-05-05 Waiver Crew and Transit (C, D, C1/D) 1 2024-05-05 Waiver Visitors (B1/B2) 1 2024-05-05 Guangzhou - P73 Interview Required Visa Type Waiting Time (Calendar Days) Estimated Time Yes Visitors (B1/B2) 117 2024-08-29 Yes Students/Exchange Visitors (F, M, J) 7 2024-05-11 Yes Petition-Based Temporary Workers (H, L, O, P, Q) 7 2024-05-11 Yes Crew and Transit (C, D, C1/D) 3 2024-05-07 Waiver Students/Exchange Visitors (F, M, J) 1 2024-05-05 Waiver Petition-Based Temporary Workers (H, L, O, P, Q) 1 2024-05-05 Waiver Crew and Transit (C, D, C1/D) 1 2024-05-05 Waiver Visitors (B1/B2) 1 2024-05-05 Shenyang - P188 Interview Required Visa Type Waiting Time (Calendar Days) Estimated Time Yes Visitors (B1/B2) 30 2024-06-03 Yes Students/Exchange Visitors (F, M, J) 2 2024-05-06 Yes Petition-Based Temporary Workers (H, L, O, P, Q) 3 2024-05-07 Yes Crew and Transit (C, D, C1/D) 30 2024-06-03 Waiver Students/Exchange Visitors (F, M, J) 1 2024-05-05 Waiver Petition-Based Temporary Workers (H, L, O, P, Q) 1 2024-05-05 Waiver Crew and Transit (C, D, C1/D) 1 2024-05-05 Waiver Visitors (B1/B2) 1 2024-05-05 Hong Kong - P84 Interview Required Visa Type Waiting Time (Calendar Days) Estimated Time Yes Visitors (B1/B2) 84 2024-07-27 Yes Students/Exchange Visitors (F, M, J) 3 2024-05-07 Yes Petition-Based Temporary Workers (H, L, O, P, Q) 3 2024-05-07 Yes Crew and Transit (C, D, C1/D) 3 2024-05-07 Waiver Students/Exchange Visitors (F, M, J) 1 2024-05-05 Waiver Petition-Based Temporary Workers (H, L, O, P, Q) 1 2024-05-05 Waiver Crew and Transit (C, D, C1/D) 1 2024-05-05 Waiver Visitors (B1/B2) 1 2024-05-05 Bangkok - P22 Interview Required Visa Type Waiting Time (Calendar Days) Estimated Time Yes Visitors (B1/B2) 71 2024-07-14 Yes Students/Exchange Visitors (F, M, J) 3 2024-05-07 Yes Petition-Based Temporary Workers (H, L, O, P, Q) 37 2024-06-10 Yes Crew and Transit (C, D, C1/D) 39 2024-06-12 Waiver Students/Exchange Visitors (F, M, J) 6 2024-05-10 Waiver Petition-Based Temporary Workers (H, L, O, P, Q) None None Waiver Crew and Transit (C, D, C1/D) None None Waiver Visitors (B1/B2) 6 2024-05-10 Tokyo - P205 Interview Required Visa Type Waiting Time (Calendar Days) Estimated Time Yes Visitors (B1/B2) 63 2024-07-06 Yes Students/Exchange Visitors (F, M, J) 8 2024-05-12 Yes Petition-Based Temporary Workers (H, L, O, P, Q) 2 2024-05-06 Yes Crew and Transit (C, D, C1/D) 8 2024-05-12 Waiver Students/Exchange Visitors (F, M, J) 1 2024-05-05 Waiver Petition-Based Temporary Workers (H, L, O, P, Q) 1 2024-05-05 Waiver Crew and Transit (C, D, C1/D) 1 2024-05-05 Waiver Visitors (B1/B2) 1 2024-05-05 Toronto - P206 Interview Required Visa Type Waiting Time (Calendar Days) Estimated Time Yes Visitors (B1/B2) 748 2026-05-22 Yes Students/Exchange Visitors (F, M, J) 51 2024-06-24 Yes Petition-Based Temporary Workers (H, L, O, P, Q) 42 2024-06-15 Yes Crew and Transit (C, D, C1/D) 748 2026-05-22 Waiver Students/Exchange Visitors (F, M, J) 45 2024-06-18 Waiver Petition-Based Temporary Workers (H, L, O, P, Q) 45 2024-06-18 Waiver Crew and Transit (C, D, C1/D) 45 2024-06-18 Waiver Visitors (B1/B2) 45 2024-06-18 Vancouver - P211 Interview Required Visa Type Waiting Time (Calendar Days) Estimated Time Yes Visitors (B1/B2) 763 2026-06-06 Yes Students/Exchange Visitors (F, M, J) 35 2024-06-08 Yes Petition-Based Temporary Workers (H, L, O, P, Q) 61 2024-07-04 Yes Crew and Transit (C, D, C1/D) 61 2024-07-04 Waiver Students/Exchange Visitors (F, M, J) 10 2024-05-14 Waiver Petition-Based Temporary Workers (H, L, O, P, Q) 10 2024-05-14 Waiver Crew and Transit (C, D, C1/D) 10 2024-05-14 Waiver Visitors (B1/B2) 10 2024-05-14 Data Source https://travel....

Wednesday, May 17, 2023 · Vincent Young

Bank of China Hong Kong Account Opening Guide

本篇文章的部分信息来自于 推友 @forecho 的 来香港办香港银行卡。感谢! 前往香港 这里我就简单说了,我这次的旅程有些复杂,HGH 飞往 ZUH。巴士到达拱北口岸,拱北口岸巴士到达深圳大学站。第二天从深圳湾口岸 B3X 前往屯门市中心(当然深圳湾口岸有巴士直接去市中心的,比如前往尖沙咀)。我是屯马线屯门站上车,美孚站换乘荃湾线到金钟站,再换乘港岛线到湾仔站。到达时间是 4 月 14 日周五下午三点左右,依次去了 forecho 推荐的 湾仔分行 和 铜锣湾分行,都被告知今天名额满了。出门刚好看到附近还有 HSBC HK,也进去问了一下,被告知如果没有预约的话无法办理,目前预约已经排到了五月份。 最后前往了我的好朋友 Sark 推荐的 广东道分行,这个分行相对来说几乎是没什么客户的。前台的中年阿姨告知我,可以开卡,但是必须要存款 100 万港币。在我的来回拉扯下,我以朋友没存款 100 万港币开户成功,说她区别对待客户。最后到 4 点 45 分左右,她让我坐着等待让经理过来。但是因为我转运中国的货物在这个时候收到短信抵达了香港自提仓库,不得不直接离开 广东道分行(自提仓库周末不开门,如果周五不取只能下周一),前往荃湾线的倒数第二站 —— 大窝口。在下班前三分钟顺利取到了货物。 办卡当天 第二天周六,我八点就出发了,这一次学聪明了,去了一家相对来说比较偏僻的,不过周六所有的分行下午 1 点下班。大概是 9 点 10 分左右到达东铁线上水站,立马赶到 上水银行服务中心(新界上水新丰路 136 号),排队的最后一个小姐姐告诉我她是最后一个开户的号码 #30。此刻银行开门只有 10 分钟左右。请注意,附近的 上水分行(新界上水新丰路 61 号)是不开户的。 于是,我就去了上水站另一头的 上水中心分行(新界上水上水中心第一层 1005-1009 号),进去之后询问是否可以开户,得到了肯定的回答,我感到很惊喜。本来不抱希望了,还想着立马赶到 广东道分行(该分行不太一样,是中银理财中心,简单说就是正常情况下只接待高端用户)去再和大堂的阿姨对线一下看看能不能给我开户。结果,这个上水中心分行比较烦的是,反复追问办卡需求,我说投资理财买保险。她会追问今天办好卡是否能立马存钱,能存多少万等等。如果当天存不了,需要你提供存款 / 余额证明等等。感觉最近某些分行因为每天大陆过去开户的客户太多,故意提高了这些门槛。 不过这些资产证明、收入证明之类的她是不用拍照留存、复印、扫描的,也不用上传系统的,只是柜员看一下而已。最后在我的瞎扯之下,她给我了一张 #20 的号。我以为应该很快就轮到我了,她让我一个小时后再来,我找了一家附近的麦当劳吃了个早饭,玩了会手机。大概 10 点半赶过去,她让我坐下来在 BOCHK App 填了一下开户基本信息。接着等着被叫号就行了。结果又等了两个多小时。而且这家分行只有一个座位,也就是意味着几乎所有人都是站着等。效率大概是一个号 30-50 分钟,非常慢。而且办理窗口只有一个。我前面有位 #17 的老哥,看样子也不会说粤语,应该也是来自内地非广东地区的。拿出了一个顺丰快递的文件信封来证明自己的住址。结果被柜员小姐姐狠狠地教育了一顿,说这个不是信件,这个是信封,无法证明你的住址。两个人嗓门很大,争执了很长一段时间,老哥说这次第五次来开户了,每次让我准备这个准备那个,结果这次带了信封还是不行。最后灰溜溜地离开了。...

Sunday, April 16, 2023 · Vincent Young

Summary of University Life

时间过得真的很快,从小学毕业到现在快十年了,还有三个月我就要本科毕业了。最近的生活没什么压力,可以让我静下来思考很多东西。 小学的时候第一次接触电脑,在当时看来如此神奇的东西。那时候最新的操作系统还只是 Windows XP,而有些人还在用着古老的 Windows 2000/98。那时候是我第一次接触键盘,开始练习打字,实在记不起来当时的那款打字游戏叫什么,只记得只有不断的打字才能逃跑,后面有警察一直在追着你,如果被抓到了就输了。是啊,在现在看来可能有些幼稚,那时候打字比赛获得了一等奖。不过那时候没有什么机会好好玩电脑,最多用的软件可能就是 QQ 吧。直到我小学六年级毕业那个暑假,我有了很多的时间可以去琢磨,我第一次接触的编程语言是易语言,那时候流行用易语言来做钓鱼程序盗号,我也有玩过。 再后来去了初中,那是 2013 年,我开始接触 Scratch 和 VB,也是在那时认识了那个让我爱上编程的老师,幸运的是现在我还和他有保持联系。除了玩 Scratch 做一些小游戏,VB 写一些简单的程序之外,我在初三的时候开始接触服务器、域名和博客。那时候用的叫 Hostker 的虚拟主机,现在好像还活着。我买了一个域名,用一个 HTML 单文件搭建了我的第一个博客。后来也买了一个我初中全拼的域名,搭建了 Disquz 校园论坛。 再后来就是高中,但是老实说我的高中几乎没有接触电脑,都是在玩手机。那个时候王者荣耀很火,微信也慢慢开始不仅仅是支付工具。高中也有技术课,甚至高考也会考相关的知识,但是那个时候提不起什么兴趣,老师上课也只是让你记住知识点,也不会给你解释为什么。所以相对来说,有些枯燥乏味。 直到大学,我记得那是 2019 年 8 月,我收到了我的第一台 Macbook Pro,开始了我的编程生涯。从 C 语言开始,再到 Java。但是老实说除了在上那两门课之后,我再也没写过 C 和 Java。感觉 C 语言我一般不太用的到,只有在写 Arduino 的写过一些 C++。至于 Java,我似乎没有机会写,坚决不用 Java 写 Backend,我只是觉得明明有更好的选择,不想变得复杂化。我自学了 Python,JS,Shell,PHP,Golang。我会用 Python 写一些简单的爬虫,又或者是数据的处理,它真的太方便了。我也在 PyPi 贡献了一些我写的 Package。至于 JS,有时候在写 H5 的时候会偶尔用到,我也用 JS 写过项目的 Backend,称不上喜欢,但也不讨厌,自己很少用,因为我讨厌在服务器上部署 Node 环境。Shell 是我最常用的之一,我用它写了不少好用的脚本,实现了一些自动化或者是一键安装。PHP 我会用它写一些简单的 PHP,毕竟只要把它丢到网站根目录就好啦,太方便了。Golang 是我最晚接触的,大概也就是在半年前,我现在主要用它来写 Web API,Gin 和 Grom 太方便了。 好好回忆起大学的这四年,我好像几乎都在学一些我自己喜欢的东西,和 Leo 一起玩 VPS,一起探索世界互联网五花八门的路由,一起在 GitHub 做开源贡献。这确实很快乐。我们可以一起在图书馆或者工作室玩一整天关于 XrayR、Nginx、CDN,还有好多奇怪的玩法。我们也会测试学校的一些系统的 API 是否可以 SQL 注入。也许在这些时间里,让我更加热爱计算机。...

Wednesday, March 15, 2023 · Vincent Young

Git Enable Commit Signing

Generate GPG key $ gpg --full-generate-key Choose RSA and RS and 4096. Please make sure the email is the same as your Git. Export GPG Key $ gpg --list-secret-keys --keyid-format LONG gpg: checking the trustdb gpg: marginals needed: 3 completes needed: 1 trust model: pgp gpg: depth: 0 valid: 2 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 2u /Users/vincent/.gnupg/pubring.kbx --------------------------------- sec rsa3072/A035553B8A2F45A2 2022-09-10 [SC] 21B1DADC35757E3C1680ABF0A035553B8A2F45A2 uid [ultimate] Vincent Young <i@yyt....

Tuesday, March 7, 2023 · Vincent Young

Automatically update Homebrew versions using Action

Homebrew 可以说是 Mac 上必装的命令行工具之一。它真的太好用太方便的。但是你在维护一个 Homebrew Tap 的时候,如果你的程序有新的 Release 发布时,需要在对应的 .rb 文件中修改版本号以及对应的二进制文件的 sha256,这显然会有些繁琐,或者说不太优雅。 我习惯使用 GitHub Action 去交叉编译各种 Release,重要的是 Action 可以帮助我自动发布。其实在每一次 Action 发布之后,可以添加一个 Step,去更新 Casks 或者 Formula 的 .rb。为了方便,你可以创建一个 .sh 文件来做这件事。 部分代码(以 DeepL X 为例) 更新版本号 Get the latest version of Deeplx last_version=$(curl -Ls "https://api.github.com/repos/OwO-Network/DeepLX/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's/v//g') # Update the version number in the formula sed -i "s/version \".*/version \"${last_version}\"/g" Formula/deeplx.rb 更新 sha256 # Download the new binaries wget -O deeplx_darwin_amd64 https://github....

Saturday, March 4, 2023 · Vincent Young

Unlock ChatGPT with Cloudflare WARP

原理分析 Cloudflare WARP 拥有很多 IP,而 ChatGPT 的 CDN 又是 Cloudflare 提供的,也就是说,能不能访问完全取决于 Cloudflare。因此使用 Cloudflare 自己的 IP 大概率不会被 Ban。除了 WARP 之外,iCloud Private Relay 也是 Cloudflare 的 IP 哦。 具体步骤 本文的方案仅改变 IPv6 出口 IP,不会改变 IPv4 出口 IP,更不会改变路由。 准备一台 VPS,需要是 OpenGPT 支持的 161 个国家之一。因为你的网络在哪里,WARP 就会使用你所在地的 IP。比如香港就不行。 Supported countries and territories 使用以下命令安装 WARP。 bash <(curl -fsSL git.io/warp.sh) proxy 配置 XrayR/V2Ray 的出站规则和路由。(以 XrayR 为例,XrayR/V2Ray 的使用本文略过) # custom_outbound.json { "tag": "socks5-warp", "protocol": "socks", "settings": { "servers": [{ "address": "127....

Saturday, February 11, 2023 · Vincent Young

I subscribed to ChatGPT Plus

ChatGPT Plus 功能 Available even when demand is high 即使在需求大的时候也可以使用 Faster response speed 更快的反应速度 Priority access to new features 优先获得新功能 订阅 正常方式 填写 表格 并等待官方给你发送电子邮件获取资格。 漏洞 在中国时间的 2 月 10 日下午,看到群里有很多朋友说出现了 Upgrade Plan 的按钮,我立即登陆了我的帐号发现确实也有了,但是因为中国信用卡无法支付,导致开通失败。2 月 11 日我再次登录的时候发现已经消失了这个按钮。 我翻看了我的 Chrome 历史记录,找到了一个 pay.openai.com 的链接,点进去发现还是熟悉的 Stripe 的界面。但是奇怪的事情是 我无法填写地址信息,但是没有地址信息无法提交。无奈之下,当然是按下 F12,找到填写地址的每一个 input 标签,把 disable 全部改为 enable,顺利地填写了信息。在我的好朋友 Ming 的帮助下,用他的美国卡支付,没有显示成功的界面,一直显示处理中,但是收到了订阅成功的邮件。回到 chat.openai.com 发现已经开通好了。 体验 Plus 版本有两个模式,分别是 Default 和 Turbo。 根据描述和实际体验,Turbo 模式显然要快很多,回复速度比免费版有了很大的提升,很少有遇到崩溃的情况。当然英文提问会比中文回复速度快很多。 IP 的问题 无法访问 ChatGPT 封锁了很多机房的 IP,因为 ChatGPT 使用的是 Cloudflare 的服务,我猜测是使用了 Country 匹配,也就是说只有在指定国家可用,目前是 161 个国家。除此之外,应该还加入了 Threat Score 和 Known Bots 的判断。意味着你的 IP 要想顺利访问,需要具备两个条件,IP 属于来自 161 个国家之一,并且你的 IP 危险分数足够低。...

Saturday, February 11, 2023 · Vincent Young

Create query API for 500 million Weibo data

Preparation Clickhouse Database Linux/Windows/macOS Server Data Import First you need to deploy Clickhouse and finish creating a brand new database. Create two tables. Table For Query Weibo Uid. CREATE TABLE wb_uid( uid String, mobile String )ENGINE = MergeTree() ORDER BY (uid) PRIMARY KEY (uid); Table For Query Mobile Phone Number CREATE TABLE wb_mobile( uid String, mobile String )ENGINE = MergeTree() ORDER BY (mobile) PRIMARY KEY (mobile); Query Data WeiboSearcher is an API program written in Golang....

Thursday, February 9, 2023 · Vincent Young

Remove National Anti-Fraud Center on MIUI

Uninstall Directly(Recommended) ROOT is not required, but it may be reinstalled after updating the system. Connect your phone to your computer and turn on ADB debugging. Install ADB CLI tools on your computer. # macOS brew install android-platform-tools or https://dl.google.com/android/repository/platform-tools-latest-darwin.zip # Windows https://dl.google.com/android/repository/platform-tools-latest-windows.zip Execute the following code. adb shell pm list package | grep com.miui.guardprovider adb uninstall --user 0 com.miui.guardprovider adb shell pm list users # if you find other users on your phone, please execute the following command....

Saturday, February 4, 2023 · Vincent Young