第0关 hackthebox邀请码

第0关 hackthebox邀请码

常见加密密文特征 可见 0pt1mus 大大此文

hack the box:无需搭建靶机,在线平台,进行注册。

文章目录

  • 第0关 hackthebox邀请码
  • 1. 前奏
    • JS混淆/eval解密
    • ROT13解密
    • base64解码
  • 2. 流程
      • 1.找到JS文件
      • 2.通过在线解密工具得到源码
      • 3.分析源码
      • 4.进行传参

1. 前奏

html:文字内容
javascript:功能+特效
css:样式

一般来说js里面花样最多。控制台中明确看出JS文件中有花招。

JS混淆/eval解密

JS中eval()方法就是一个执行的动作。

可以在网站直接进行eval 解密还原出来

ROT13解密

ROT13解密

base64解码

base32的编码表是由(A-Z、2-7)32个可见字符构成,“=”符号用作后缀填充。
base64的编码表是由(A-Z、a-z、0-9、+、/)64个可见字符构成,“=”符号用作后缀填充。
base58的编码表相比base64少了数字0,大写字母I,O,小写字母 l (这个是L),以及符号‘+’和‘/’

2. 流程

1.找到JS文件

进入调试器的主线程,打开js文件。看到了文件inviteapi.min.js

根据提示,应该是JS混淆和eval解密

//This javascript code looks strange...is it obfuscated???

2.通过在线解密工具得到源码

function makeInviteCode() {
$.ajax({
type: "POST",
dataType: "json",
url: '/api/invite/how/to/generate',
success: function(a) {
console.log(a)
},
error: function(a) {
console.log(a)
}
})
}

3.分析源码

于是我们去控制台中运行makeInviteCode()函数

过滤掉无用信息后:

{
     0: 200, success: 1, data: {
     }, hint: "Data is encrypted … We should probably check the encryption type in order to decrypt it…"}
0: 200
data:
data: "Va beqre gb trarengr gur vaivgr pbqr, znxr n CBFG erdhrfg gb /ncv/vaivgr/trarengr"
enctype: "ROT13"
__proto__: Object
hint: "Data is encrypted … We should probably check the encryption type in order to decrypt it…"
success: 1

可以得到

密文:Va beqre gb trarengr gur vaivgr pbqr, znxr n CBFG erdhrfg gb /ncv/vaivgr/trarengr

加密方式:ROT13

解密后:In order to generate the invite code, make a POST request to /api/invite/generate

4.进行传参

所以我们使用kali对该网站进行POST传参

curl https://www.hackthebox.eu/api/invite/generate -X POST

在这里插入图片描述

很明显是base64编码,所以我们最后解码一下即可:

第0关 hackthebox邀请码_第1张图片

你可能感兴趣的:(CTF入门)