这道题就看题目就非常有意思了,我们的目标就是打败江湖魔头。
提示也是令人想入非非,看来打败魔王之后就能得到flag了吧。
进入之后点击进入江湖,这时候的源代码还没有什么提示。
进入之后,
这时候就有类似于游戏的那种属性值了,现在先不急于操作,因为这时候看网址已经跳转到了wulin.php这个php里面,那自然是要一探究竟先。
果不其然,现在都有一种固定操作了,多方探索。
查看源代码,
里面有3个js文件,打开第一个。因为下面两个都是普通的加密解密。
发现是一堆乱码,这时候有点懵。查了网上大佬的wp。
竟然js也能够加密????!!!!打开了新世界的大门。
这个叫格式化解密。
解密之后就是正常的代码了。
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim();
if (c.indexOf(name) == 0) return c.substring(name.length, c.length)
}
return ""
}
function decode_create(temp) {
var base = new Base64();
var result = base.decode(temp);
var result3 = "";
for (i = 0; i < result.length; i++) {
var num = result[i].charCodeAt();
num = num ^ i;
num = num - ((i % 10) + 2);
result3 += String.fromCharCode(num)
}
return result3
}
function ertqwe() {
var temp_name = "user";
var temp = getCookie(temp_name);
temp = decodeURIComponent(temp);
var mingwen = decode_create(temp);
var ca = mingwen.split(';');
var key = "";
for (i = 0; i < ca.length; i++) {
if ( - 1 < ca[i].indexOf("flag")) {
key = ca[i + 1].split(":")[2]
}
}
key = key.replace('"', "").replace('"', "");
document.write('<img id="attack-1" src="image/1-1.jpg">');
setTimeout(function() {
document.getElementById("attack-1").src = "image/1-2.jpg"
},
1000);
setTimeout(function() {
document.getElementById("attack-1").src = "image/1-3.jpg"
},
2000);
setTimeout(function() {
document.getElementById("attack-1").src = "image/1-4.jpg"
},
3000);
setTimeout(function() {
document.getElementById("attack-1").src = "image/6.png"
},
4000);
setTimeout(function() {
alert("浣犱娇鐢ㄥ鏉ョ鎺屾墦璐ヤ簡钂欒€侀瓟锛屼絾涓嶇煡閬撴槸鐪熻韩杩樻槸鍋囪韩锛屾彁浜よ瘯涓€涓嬪惂!flag{" + md5(key) + "}")
},
5000)
}
在最后的时候,有md5加密key,也就是flag。所以怎么也要到最后一步。
其中使用了cookie,在ertqwe函数当中有用到几条语句。
decode_create(decodeURIcomponent(getCookie("user")));
这里大佬说在chrome浏览器的控制台当中能够运行这个函数。
"O:5:"human":10:{s:8:"xueliang";i:913;s:5:"neili";i:789;s:5:"lidao";i:96;s:6:"dingli";i:97;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";}"
获得了一串明文,里面有各项属性数值,而上面那个脚本最关键点就是攻击,只要我们利用金手指修改攻击,就能直接打败boss。
现在要做的就是修改金钱,再加密,再传上去,学习技能。
利用大佬的脚本,在控制台操作了一番,发现不能用,所以又去找了一个版本的python脚本来找到修改后的cookie。
import base64
import urllib.parse
data = 'O:5:"human":10:{s:8:"xueliang";i:576;s:5:"neili";i:652;s:5:"lidao";i:77;s:6:"dingli";i:66;s:7:"waigong";i:0;s:7:"neigong";i:0;s:7:"jingyan";i:0;s:6:"yelian";i:0;s:5:"money";i:2000000;s:4:"flag";s:1:"0";}'
with open('C:\\Users\\apple\\Desktop\\a.bin', 'wb') as f:
for i in range(0, len(data)):
num = ord(data[i])
num = num + ((i % 10) + 2)
num = num ^ i
f.write(bytes([num]))
d = open('C:\\Users\\apple\\Desktop\\a.bin', 'rb').read()[:]
a = base64.b64encode(d)
b = urllib.parse.quote(a)
print(b)
cookie:
UTw7PCxqe3FjcC42OThOjWtSUFYwbm99amlzbG0wI3MeGx8eZ1liZxQMWEFDXl8EdUUOCg0Cd016B34WUlFWWTVoATEAB395P3Z2CmYgPTY5Pj90FSUUaBgfL2ZnYnYhCRMTGRQPQCcHKFIvEShXUlYCGQMbDQ4FXEcXREo/BTzBxKbu6fbrB%2BH%2Bps3nsLrP6dCs0LgR8fj1/%2B6y3%2B/apJ3XnJnkjNPf0NnRjpPD7paIiIiIhoaJz/iC%2BJDMyt3V5oG7gv2G6vzs90s%3D
这里使用控制台直接设置cookie可以不用BurpSuite抓包那么麻烦。
document.cookie='user=UTw7PCxqe3FjcC42OThOjWtSUFYwbm99amlzbG0wI3MeGx8eZ1liZxQMWEFDXl8EdUUOCg0Cd016B34WUlFWWTVoATEAB395P3Z2CmYgPTY5Pj90FSUUaBgfL2ZnYnYhCRMTGRQPQCcHKFIvEShXUlYCGQMbDQ4FXEcXREo/BTzBxKbu6fbrB%2BH%2Bps3nsLrP6dCs0LgR8fj1/%2B6y3%2B/apJ3XnJnkjNPf0NnRjpPD7paIiIiIhoaJz/iC%2BJDMyt3V5oG7gv2G6vzs90s%3D'
改完之后需要在商店升级攻击力,
全部点完之后就可以打败老魔了。
你使用如来神掌打败了蒙老魔,但不知道是真身还是假身,提交试一下吧!flag{a13d82fe0daf4730eac8f8e0d4c17e72}
欢迎大家关注我的微信公众号,一起学习吧!!~
持续更新中,慢慢从小白菜做起~~