diff --git a/javascript/enumeration/minecraft-enum.yaml b/javascript/enumeration/minecraft-enum.yaml index 485dd5cb7e..569e858ef6 100644 --- a/javascript/enumeration/minecraft-enum.yaml +++ b/javascript/enumeration/minecraft-enum.yaml @@ -12,18 +12,22 @@ info: verified: true max-request: 1 shodan-query: product:"Minecraft" - tags: js,network,minecraft,enum + tags: js,network,minecraft,enum + javascript: + - pre-condition: | + isPortOpen(Host,Port); - code: | let data = "fe01" let c = require("nuclei/net"); let conn = c.Open('tcp', `${Host}:${Port}`); conn.SendHex(data); let response = conn.RecvString(); - const version = response.slice(16, 30).replace(/(\d+)(\d{1})(\d+)/, "$1.$2.$3"); - const description = response.slice(30, -4); - const onlinePlayers = response.slice(-1); - const maxPlayers = response.slice(-3); + let cleanedResponse = response.replace(/\x00/g, ''); + const version = cleanedResponse.slice(16, 30).replace(/(\d+)(\d{1})(\d+)/, "$1.$2.$3"); + const description = cleanedResponse.slice(30, -4); + const onlinePlayers = cleanedResponse.slice(-1); + const maxPlayers = cleanedResponse.slice(-3); Export("Version: ", version , " Description:", description ," Online Players:", onlinePlayers, " Maximum Players:", maxPlayers) args: @@ -44,4 +48,3 @@ javascript: - type: dsl dsl: - response -# digest: 4a0a00473045022023b2976e91e7c92db1fe31bd18bb5a24b0fd67ce16a0fdf4291a8b93a685f9bb022100cf6cb8408790d6c30b2269bc44c79289d8827ab7a427946efb332ffb694bf089:922c64590222798bb761d5b6d8e72950 \ No newline at end of file