黑客网站渗透入侵破解拿权限
10.5K subscribers
2.38K photos
108 links
Download Telegram
逆向实验CTF
打开程序软件
程序的标题Flag就在控件中,然后界面内容是让我们找一个key。很明显,我们需要找到两个东西

标题找Flag(也就是找窗口句柄)

内容找key

根据这些内容,告诉我们我们去找控件,然后这时候就要掏出xspy了。不然的话,我们如果使用老一套经典分析流程,die+ida对用架构分析,会发生下面这样的事。首先die查个架构,查个壳

好家伙,VMP壳,PE32ida走起

这样的话,我们很难继续往下分析,所以我们使用xspy分析。使用方法如图

首先我们找到了Flag_enc(944c8d100f82f0c18b682f63e4dbaa207a2f1e72581c2f1b)我们知道特定的,窗口句柄叫 HWND

然后我们可以发现一条特殊的onMsgOnMsg:0464,func= 0x00402170(MFC1.exe+ 0x002170 )为什么特殊呢,因为只有它并不是以宏的形式出现,应该是作者自定义的消息,没有button等东西,所以程序怎么点击都无法触发任何效果;并且传入一个特殊数字0464,来触发效果。

那么,我们需要去发送这条消息来出发func函数以获取我们需要的key

使用 API FindWindow 获取窗口句柄,SendMessage发送消息,得到了key{I am a Des key}

最后DES解密即可
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
代码中定义了一个SqlChecker全局的类,强制处理所有用户传参,找注入这个方向有有点难啃了

系统用户信息遍历
找到/api/user/getusers接口

接口没有做鉴权,构造请求包发送,返回包返回系统所有用户信息

其中用户信息包括姓名、出生日期、微信账号、手机号码、邮箱、密码等等

伪造jwt_token获取系统管理员-拿下靶标
源码获取到jwt_token的secret

但是该secret不是可读性文本,估计是随机生成的byte字节序列,因此不能自行使用cyberchief或者其他工具将token直接生成

这里有个坑点:开始是使用gpt生成的脚本进行secret的读取和token的生成,发现gpt在处理字节上面有点问题,生成的jwt_token不能使用,于是自行编写了个py脚本进行jwt_token的构造,首先我们将字节序列做16进制的转化,为了python能够使用bytes.fromhex()函数读取16进制化的secret,然后根据上面读出的用户信息,伪装admin账号身份,并设置一个较长的ExpireTime

拿到jwt_token之后,要如何使用才能拿到后台呢,这里首先要明白该系统的登录鉴权机制

由于他存在注册功能,我们便可在自行注册一个账号,然后进行登录,查看认证处理流程

从数据包里面得知,登录成功后会返回jwt_token和一些与用户相关的一些信息,前端会根据返回的身份信息,跳转到对应的页面,并且功能接口都会带上jwt_token进行请求以便获取系统数据

了解清楚后,就开始进行身份伪造,首先去后台登录系统

将登录返回包的内容替换为管理员账号的token(从python脚本中生成)和管理员用户的身份信息

通过鉴权后,终于成功获取管理员后台,靶标5000分到手,哈哈
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
我们看到了一个input,还有一个check button,很明显,我们首先就需要去找check button的id&注册函数。

xspy-MFC分析

check按钮的id为03e9,同时窗口存在OnCommand: notifycode=0000 id=03e9,func= 0x00C72420(Junk_Instruction.exe+ 0x002420 )函数。那么对应的check逻辑肯定在基址+偏移0x002420处。打开ida,找到check函数 sub_402420

可以看到有一个条件判断:if ( (unsigned __int8)sub_402600(v2 + 16) )。一眼顶针,两个分支分别是弹出正确和错误的对话框,为什么呢?if else函数体内容基本一样。当然我们还是动态调试一下

所以enc函数很明显就是sub_402600这个函数中就出现了很多垃圾指令了,也就对应上题目名称Junk_instruction了。

去花-IDA分析
爆红花指令,经典call $+5起手,就是先用一个call压好返回地址,再把栈里的返回地址弹出来,改一下,压回去,如此反复。去掉也很简单,我们把下述累死指令块全部nop掉即可,有好几处,一模一样。

当然,我们使用idapython脚本自动去花
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
👍1
jwt伪造身份
首先是拿到靶标的清单

访问系统的界面,没有什么能利用的功能点

首先进行目录扫描,扫描发现存在xxx.zip的文件放置在web目录上

一般zip文件大部分情况都是开发运维人员做系统维护时留下的备份文件,在系统上线后并没有将其删除,于是底裤(即源代码)都直接给到了攻击者

拿到源码后的第一个思路是寻找文件上传漏洞

果不其然在源码中找到uploadimg接口,发现未对上传的文件格式进行过滤

实际访问接口发现,怎么改变文件格式、文件内容、Content-Type、还是各种变种传输都无济于事。

返回包永远是{"Status":1,"Data""null}

运维实在是坏呀~

来到这一步都以为是一路高歌,轻松拿下,没想象到是跌宕起伏伏伏伏伏......

先使用wget下载zip文件,文件总共200+mb,很有概率是源代码的打包

从文件内容可判断,该系统是使用的.net开发,可通过dnspy进行审计
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
2