江湖魔头-BugkuCTF平台(详细)

网上的教程感觉都只教一半,来个详细的。
尝试了很多不知道怎么做,Burp抓到的Cookie的内容Base64也解不出,只知道要购买如来神掌去讨伐老魔,但银两来的太慢了。后来百度才有了解题思路。

脑洞,网址删掉后面的?action内容,只保留wulin.php,查看源代码得到几个js文件。

script.js的部分内容如下。需要先js解密。

推荐网址 https://tool.lu/js/ 进行解密。

先按照上图红框代码内容执行一下

Cookie里的内容按照所给解密方式解密得到一串明文。这里就可以修改money属性要很多的钱。
原内容:O:5:"human":10:{s:8:"xueliang";i:863;s:5:"neili";i:875;s:5:"lidao";i:67;s:6:"dingli";i:86;s:7:"waigong";i:0;s:7:"neigong";i:0;s:7:"jingyan";i:0;s:6:"yelian";i:0;s:5:"money";i:0;s:4:"flag";s:1:"0";}
修改后:O:5:"human":10:{s:8:"xueliang";i:863;s:5:"neili";i:875;s:5:"lidao";i:67;s:6:"dingli";i:86;s:7:"waigong";i:0;s:7:"neigong";i:0;s:7:"jingyan";i:0;s:6:"yelian";i:0;s:5:"money";i:999999;s:4:"flag";s:1:"0";}之后要逆着加密内容然后传回给Cookie即可完成修改金币。
特别要注意并不是简单的逆回去就好了,base64.js里有坑。
base64.js里是一个Base64函数,里面有两个公有方法encode()和decode(),两个私有方法_utf8_encode()和_utf8_decode()。
恶心的是encode()里使用了_utf8_encode(),而decode()里没有使用_utf8_decode()。

开始逆运算。
仔细看script.js里的decode_create()方法。如下蓝框所示,我们相当于现在知道了result3,要求出result。
求出result后需要对其使用base64.js里的encode()方法,但是不能调用_utf8_encode()这个私有方法。
因为之前解密的时候使用base64.js里的decode()方法里将_utf8_decode()注释掉了。

逆运算蓝框所示内容,代码如下:
result3= "O:5:"human":10:{s:8:"xueliang";i:863;s:5:"neili";i:875;s:5:"lidao";i:67;s:6:"dingli";i:86;s:7:"waigong";i:0;s:7:"neigong";i:0;s:7:"jingyan";i:0;s:6:"yelian";i:0;s:5:"money";i:999999;s:4:"flag";s:1:"0";}"
result = ""
for (i = 0; i < result3.length; i++) {var num = result3[i].charCodeAt();num = num + ((i % 10) + 2);num = num ^ i;result += String.fromCharCode(num)
}

之后就需要按照base64.js里的encode()内容来加密,但是不能调用_utf8_encode()这个私有方法。var output = "";
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
var i = 0;
input = result;
while (i < input.length) {chr1 = input.charCodeAt(i++);chr2 = input.charCodeAt(i++);chr3 = input.charCodeAt(i++);enc1 = chr1 >> 2;enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);enc4 = chr3 & 63;if (isNaN(chr2)) {enc3 = enc4 = 64;} else if (isNaN(chr3)) {enc4 = 64;}output = output +_keyStr.charAt(enc1) + _keyStr.charAt(enc2) +_keyStr.charAt(enc3) + _keyStr.charAt(enc4);
}
return output;


接着看script.js里的decode_create()方法。我们现在只需要进行encodeURIComponent()方法,然后再传入Cookie中即可。



之后就是花钱到商店里买完所有的技能学会如来神掌,再到讨伐页面讨伐老魔就能得到flag。

转载请注明出处。
本文网址:https://blog.csdn.net/hiahiachang/article/details/105060229

江湖魔头-BugkuCTF平台相关推荐

  1. 江湖魔头-BugkuCTF(最新)

    江湖魔头-BugkuCTF平台(解密和加密) 以下代码在浏览器控制台运行 靶场网址:http://123.206.31.85:1616/ 1.解密,获取加密前的字符串 //解密,获取加密前的字符串,直 ...

  2. WEB所有题目-BugkuCTF平台

    1.web2 这题查看源代码即可,在url前加上 view-source: .或者按F12也行. 2.计算器 这个输入框只能输入一位数字,把它改大即可.任何的前端限制都是不安全的.按F12, 用选区器 ...

  3. BugkuCTF writeup

    BugkuCTF writeup 前言 web方面 web2 计算器 web基础$_GET web基础$_POST 矛盾 web3 域名解析 你必须让他停下 本地包含 变量1 web5 头等舱 网站被 ...

  4. CTF/CTF练习平台-welcome to bugkuctf【php://filter及php://input】

    原题内容: http://120.24.86.145:8006/test1/ 首先bp一下,可见提示源码: <!-- $user = $_GET["txt"]; $file ...

  5. bugkuctf 江湖魔头Writeup

    bugkuctf:https://ctf.bugku.com 靶机地址:http://123.206.31.85:1616/ 进入靶机后,选择你要的人物属性,开始游戏 看了其他的游戏功能,发现我们需要 ...

  6. 【CTF练习平台】BugkuCTF部分misc writeup

    签到题 扫描二维码关注得到flag 这是一张单纯的图片 拖进notepad,在末尾发现密文 unicode解码得 key{you are right} 隐写 拖进winhex,发现高度不对 修改成11 ...

  7. BugKuCTF(CTF-练习平台)——Crypto-滴答~滴

    题目描述: 题目解答: 1)思路:看到题目,说明是摩斯密码,在网址http://www.zhongguosou.com/zonghe/moErSiCodeConverter.aspx中解密 2)解码: ...

  8. bugkuCTF web进阶+web最后两题

    bugkuCTF一些题目 江湖魔头 ①js文件类–>js文件被压缩 解压缩方法–>在该网站解压缩即可 https://tool.lu/js/ ②伪造cookie 1.解密与获取cookie ...

  9. BugkuCTF 部分题解(随缘更新)

    之前做的题在BugkuCTF 部分题解(一) 佛系更新 2月3日更新了ezbypass 11月9日更新了奇怪的压缩包 11月7日更新了这个flag,就是逊啦.不可以破译的密码 bugku 佛系更新 M ...

  10. BugkuCTF Writeup——Web

    文章目录 web2 计算器 web基础$_GET web基础$_POST *矛盾 web3 域名解析 你必须让他停下 *本地包含 *变量1 web5 头等舱 网站被黑 *管理员系统 web4 flag ...

最新文章

  1. ASP.NET之父强烈推荐,无可争议的圣经级巨著
  2. linux安装anaconda3时出现error,the size of ** should be 6*** bytes
  3. boost::sort模块实现spreadsort 64 位整数排序示例
  4. LiveVideoStackCon 2020北京站 | 参会指南
  5. 常用的rpm和yum的一些命令
  6. Wpf Binding.Path设置
  7. thinkphp mysql 密码加密_thinkphp微信开发(消息加密解密)
  8. # 设置当前标注样式_CAD图纸不会标注?模型空间如何标注,标注样式设置规范解析...
  9. android studio 上手使用 大水逼问题
  10. java后端简历项目经历_简历上的项目经历怎么写 ?这 3 条原则不可忽视 !
  11. 从期刊层面看科研!计算机顶级期刊大盘点(下)
  12. 联想服务器修改显存,如何调整用于显卡的共享内存
  13. matlab分解因式虚数,[2018年最新整理]matlab中所有函数解析_太全了.doc
  14. lua能解决php什么问题,我们能用lua做什么
  15. InvalidArgumentError (see above for traceback): Number of ways to split should evenly divide the spl
  16. 两台电脑无线连接的办法
  17. excel中添加有效性验证或数据验证时不选择第一行列标题的解决方法
  18. 关于轩辕剑3外传 swd3eDvd.exe报错问题
  19. node.js笔记第一天
  20. drf框架图片路径问题

热门文章

  1. 计算机网络原理(04741)自考学习笔记/备考资料
  2. 学习Java编程语言难不难
  3. opengl+qt+vs学习笔记1:软件下载安装以及配置
  4. 玩转 Android10 源码开发定制(一)源码下载
  5. SQL Server各版本官方下载地址
  6. 我的五年百度博客文章列表(带链接版)
  7. Lena——计算机视觉中的女神被人忽视的部分
  8. 《善用佳软:高效能人士的软件应用之道》一第2章 办公软件:核心应用,实用技巧...
  9. java 随机数算法_Java随机数算法原理与实现方法实例详解
  10. 2022.9.19 论文笔记