由于今日有位网友向我提问说 PortForwardGo(以下简称"pf-go") 开心版推出以后的授权没了,是因为下午我在调整域名解析记录时,把授权域名 pf-go.moecloud.cn 的记录给删掉了。顺便补上之前咕掉的代码分析。此贴来自于 bbs.moecloud.cn ,萌站主机论坛于2024年7月18日并入奶昔网。
记得那会在大马跟朋友们一起吃老武汉烧烤,由于作者的盒威慑我不小心把他家给全pua了
当时是给CoiaPrant租赁了国内的大宽带服务器,并且答应了我py价租赁后提供 pf-go 的授权;结果到租赁结束后不给我授权并且还喷我业务跑不满(能跑满要专线干啥?)
原项目链接,需要登录授权的GitLab。一晃半年过去了,顺便把当时破解的思路总结一下
仅作为学习用途,请在24小时内删除对应副本。由于本人前几年只跟外挂作对,因此关于Go一无所知只能请求于某位师傅。不过nop下断什么的我倒没学会,只能搞点二进制,在此推荐一个项目:
[适用于 IDAPro 的 Golang 二进制解析器] https://github.com/0xjiayu/go_parser
准备好ida和解析器,接下来就可以开始干二进制了。断点这类的等有时间在研究,目前正在研究医学方向的知识前阵子咕了,对于这种小学生写的授权都可以解决。
我们在当时的原项目链接获取了二进制程序,并直接丢到ida里去。不难看出在下图代码50行的地方有个curl请求,在此推测此转发程序需要联网请求:
我们继续深挖,因为转发程序一般只连接传入和传出,并不会去请求公网的其他资源,可以断定这个东西是一个类似于上报的玩意,或者是检查授权。
然后我们分析下这个请求服务器,通过抓包我们可以获取到以下地址
https://shop.zeroteam.top/modules/servers/applicense/veify.php
验证的英文不应该是 verify 吗?我还以为是我写错代码了,这英语水平也太。。。
在此,我们要找一个一样字符串的二进制去替换,观察了一下请求如果传入空数据会返回 {"Authorized":false} ,因此我们只需要把 false 改成 true 就行。由于是php我们还是习惯性写个代码吧:
<?php
echo('{"Authorized":true}');
然后给他丢到我们的伪站下 /modules/servers/applicense/veify.php 就可以了,无论他怎么请求都会true那就完事了。再修改下程序里的二进制就可以啦:
反正就是修改个二进制的功夫,字符串数量对的上就行,我们就得到了开心版:
PortForwardGoPanel_1.2.0_linux_amd64.tar.gz
18.45 MB, 下载次数: 485
sjys6 发表于 2024-9-7 16:28
感谢分享,不过现在已经失效
asdf 发表于 2024-9-8 10:52
试了下官方文件的授权网址, 版本1.1.5~1.2.1 授权请求是 license.zeroteam.top
不是 shop.zeroteam.top ...
欢迎光临 奶昔论坛 (https://bbs.naixi.net/) | Powered by Discuz! X3.5 |