前言

作为一个合格的MJJ ,前段时间一直在使用TCShare+Cloud189搭建高速个人云盘使用。然而天有不测风云,电信前几天突然对API Key下手了,直接导致了TCShare翻车 ,所以打算转战其他列表程序。综合比较以后还是感觉萌咖大佬写的CTList功能比较齐全,部署比较方便。然而,由于某些原因萌咖大佬删库并停止了赞助通道的开放,导致现在新用户无法获取授权码启动程序,本着自力更生丰衣足食的想法,我决定对CTList的授权码验证进行破解。破解思路采取伪造授权服务器。(逆向是不可能的,这辈子都不会去逆向)

1 抓包分析


由于CTList提供了Windows版程序,所以就可以直接使用Windows平台强大的抓包软件Fiddler。这里我们使用Fiddler4+Proxifier对CTList进行抓包。省略一万字,综上很容易得到CTList的验证授权码的地址为https://api.moeclub.org/CTListAuth,POST内容为json,格式为{"授权码": "天翼云盘用户名"}。直接去浏览器中访问该地址会得到一个404 Not Found,开启HackBar输入个随意编造的POST内容会返回403 Forbidden。找朋友白嫖了个正确的授权码+天翼云盘用户名POST上去,服务器会返回206 Partial Content。读到这里我觉得大部分人应该都知道怎么破解了吧,自己去伪造个验证服务器,用Hosts把api.moeclub.org劫持到本地,无论请求什么都返回206就可以做到无视授权码了。(经过测试伪造授权服务器后就算xjb填的授权码也可能无法通过验证,可能是程序判断了授权码长度,这里随便提供了一个授权码的样本4d2782b43d0804a2d4c62f76bdc31b5b)

2 自建验证服务器


读完Part 1我觉得大部分人应该已经可以自力更生了 ,如果你读完还是不会请跟着下文进行操作 。适用平台为Debian/Ubuntu。

生成自签名SSL证书

安装OpenSSL

sudo apt install openssl
sudo apt install libssl-dev

生成CA证书

openssl genrsa -out ca.key 1024
openssl req -new -key ca.key -out ca.csr
openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt

给系统添加全局根证书

sudo apt install ca-certificates
sudo mkdir -p /usr/share/ca-certificates/local
sudo cp ca.crt /usr/share/ca-certificates/local/
sudo dpkg-reconfigure ca-certificates  #选中刚才添加的local/ca.crt证中,然后确定安装


生成api.moeclub.org的自签名证书

openssl genrsa -out server_pri.key 1024
openssl req -new -key server_pri.key -out server.csr  #在最后输入Common Name时填入api.moeclub.org
openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt

安装nginx

Debian:

sudo apt install curl gnupg2 ca-certificates lsb-release
echo "deb http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt update
sudo apt install nginx

Ubuntu:

sudo apt install curl gnupg2 ca-certificates lsb-release
echo "deb http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt update
sudo apt install nginx

nginx配置

sudo nano /etc/nginx/conf.d/api.moeclub.org.conf

输入以下内容

server {
    listen 127.0.0.1:443 ssl; #建议只监听本地环回如果CTList也搭载相同服务器上
    server_name api.moeclub.org;
    ssl_certificate /path_to_cert/server.crt;
    ssl_certificate_key /path_to_key/server_pri.key;
    location / {
        return 404;
    }
    location /CTListAuth {
        return 206;
    }
}

更改hosts

nano /etc/hosts
127.0.0.1 api.moeclub.org

搭建CTList

建议参考清风伴梦或者Rat's Blog的文章

Rat's Blog传送门

清风伴梦传送门

版权声明:本文为原创文章, 本文版权归 祥林嫂 所有

本文链接:https://swjtu.today/archives/CTList.html

所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。

我的文章对您有帮助吗?
我很可爱 请给我钱
最后修改:2020 年 07 月 24 日 09 : 24 PM
今天我也好饿,请给我钱