我有以下代码:
ts.decrypt({
data: new ts.Buffer(atob(t), "hex"),
key: new ts.Buffer("3VNWPhvh4yZH50WgWVJBQv9ii7z8FL7N"),
progress_hook: function () {
}
}, function (t, n) {
t || (e = n.toString(), ts.encrypt({
data: new ts.Buffer(String.fromCharCode(123, 34) + 'p":"' + $("#password").val() + '"' + xobby(atob("bREPXDBWNSFfEFEZYwJVAlArJQRxfQ=="), "A3i3B5Pm0w8wA8wd1GVaS")),
key: new ts.Buffer(e),
progress_hook: function () {
}
}, function (e, t) {
if (!e) {
var n = t.toString("hex");
console.log(n);
$.ajax({
type: "POST",
url: window.location.href,
data: {passwordObj: n},
success: function (e) {
$("#loading").hide(), alert(e), window.scroll(0, 0)
}, async: !1
})
}
}))
})
我必须分析它的作用。 现在我已经发现它从密码输入字段获取值,加密它并使用ajax将其发送到服务器。
我对ts是什么感到困惑(它严重模糊......这段代码上面的一切看起来像编译的CoffeeScript) 什么“t ||”意思是(对我来说是一个或者一个操作员)。
感谢您理解此代码的任何帮助。
答案 0 :(得分:1)
实际上,你只需要基本的js知识来获取该网站的秘密http://websec.sec.in.tum.de/。
输入框完全可以忽略不计。
xobby(atob("bREPXDBWNSFfEFEZYwJVAlArJQRxfQ=="), "A3i3B5Pm0w8wA8wd1GVaS")
很有意思。它的作用是创建要更改为,"forceLogin":"false"}
的字符串,"forceLogin":"true"}
。在你的代码中......
data: {
passwordObj: n
},`
.. n
是秘密。您可以使用console.log(n)获取它。
接下来,您使用密钥passwordObj和您的秘密向http://websec.sec.in.tum.de/发出POST请求。
(Greetz对pentz)
答案 1 :(得分:-1)
这将在
处出错var n = t.toString("hex");
必须是
var n = t.toString(16);
这段代码不完整。
这可能(我猜)是一个Node.js代码,并不打算以JavaScript身份运行。
你所说的“高于此代码的所有内容”可能是Asm.js 在这种情况下,你必须找到原始的源代码..
这可能是ElevateSoft的某人编写的代码。 看看这个.. http://www.elevatesoft.com/forums?action=view&category=edb&id=edb_general&page=14&msg=8843