运维 · 2023年9月20日 0

Webshell的利用

Webshell 是黑客经常使用的一种恶意脚本,其目的是获得对服务器的执行操作权限,比如执行系统命令、窃取用户数据、删除 web 页面、修改主页等。黑客通常利用常见的漏洞,如 SQL 注入、远程文件包含 (RFI)FTP,甚至使用跨站点脚本攻击 (XSS) 等方式作为社会工程攻击的一部分,最终达到控制网站服务器的目的。

黑客可以用 web 的方式,通过 asp  php 木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序命令等。

Webshell 可以嵌套在正常网页中运行,且不容易被查杀。它还可以穿越服务器防火墙,由于与被控制服务器或远程主机交互的数据都是通过 80 端口传递,因此不会被防火墙拦截,在没有记录流量的情况下,Webshell 使用 post 包发送,也不会被记录在系统日志中,只会在 Web 日志中记录一些数据提交的记录。

WebShell 的分类

①根据文件大小分类:大马和小马 (通常指的是一句话木马,能够使用菜刀这类工具去直接连接它

②根据脚本名称分类:jspaspaspxphp

一、WebShell 的利用

寻找页面上传点

写好一句话木马(上传木马),比如如下的 PHP 一句话木马的代码:

_POST['shell']); ?>

然后寻找上传后的文件位置(绝对路径),可以用蚁剑、中国菜刀等工具连接到主机进行接下来的操作,比如提权。

二、WebShell 有哪些特征?

    • 持久化远程访问

      Webshell 脚本通常会包含后门,黑客上传 Webshell 之后,就可以充分利用 Webshell 的后门实现远程访问并控制服务器,从而达到长期控制网站服务器的目的。此外,在上传完 Webshell 之后,黑客会选择自己修复漏洞,以确保没有其他人会利用该漏洞。通过这种方式,黑客就可以一种低调的姿态,避免与管理员进行任何交互,同时仍然获得相同的结果。

  • 提权

在服务器没有配置错误的情况下,Webshell 将在 web 服务器的用户权限下运行,而用户权限是有限的。通过 Webshell,黑客可以利用系统上的本地漏洞来实现权限提升,从而获得 Root 权限,这样黑客基本上可以在系统上做任何事情,包括安装软件、更改权限、添加和删除用户、窃取密码、阅读电子邮件等等。


Webshell 可以嵌套在正常网页中运行,且不容易被查杀。它还可以穿越服务器防火墙,由于与被控制服务器或远程主机交互的数据都是通过 80 端口传递,因此不会被防火墙拦截,在没有记录流量的情况下,Webshell 使用 post 包发送,也不会被记录在系统日志中,只会在 Web 日志中记录一些数据提交的记录。

三、WebShell 常用的 PHP 函数

Webshell 几乎适用于所有 Web 编程语言。之所以关注 PHP,是因为它是 web 上使用最广泛的编程语言。下面是 PHP 中一些执行 shell 命令最常用的函数。

    • system()

system () 函数将命令作为参数,并输出结果。

下面的示例是在 Windows 操作系统上运行 dir 命令,然后返回 PHP 文件所在目录的目录列表。

<?php
   
echosystem(‘ls -al’);

exec()

exec () 功能是将命令作为参数,但不输出结果。

如果指定了第二个可选参数,则返回结果为数组。否则,如果回显,只显示结果的最后一行。

<?php
   
echoexce(‘ls -al’);
   
echoexce(‘ls -al’,$array);
   
var_dump($array);

shell_exec()

shell_exec () 函数类似于 exec (),但是,其整个输出结果为字符串。

<?php
   
echoshell_exce(‘ls -al’);

passthru()

passthru () 执行一个命令并返回原始格式的输出。

<?php
   
echopassthru(‘ls -al’);

  • proc_open()

proc_open () 可以创建一个处理程序(流程),实现脚本和要运行的程序之间的通信。

  • 倒引号

PHP 会首先执行 shell 命令中倒引号(`)内的内容

如有侵权,请联系删除

转自网安之道

好文推荐

红队打点评估工具推荐
干货|红队项目日常渗透笔记
实战|后台getshell+提权一把梭
一款漏洞查找器(挖漏洞的有力工具)
神兵利器 | 附下载 · 红队信息搜集扫描打点利器
神兵利器 | 分享 直接上手就用的内存马(附下载)
推荐一款自动向hackerone发送漏洞报告的扫描器

关注我,学习网络安全不迷路