第0关 hackthebox邀请码
第0关 hackthebox邀请码
hack the box:无需搭建靶机,在线平台,进行注册。
文章目录
1. 前奏
html:文字内容
javascript:功能+特效
css:样式
一般来说js里面花样最多。控制台中明确看出JS文件中有花招。
JS混淆/eval解密
JS中eval()方法就是一个执行的动作。
可以在网站直接进行eval 解密还原出来
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编码,所以我们最后解码一下即可:
本文地址:https://blog.csdn.net/m0_46203901/article/details/107279900
推荐阅读