文件上传总结

发布时间 2023-12-05 18:30:16作者: 柒仔6

一句话木马:

<?php @eval($_POST["cmd"]); ?>

@符号表示忽略东西,eval表示提交的post参数作为命令执行,cmd表示蚂剑的连接密码,连接webshell直接使用

1.文件上传-绕过js验证

lab-1

使用burpsuite在option设置remove all js选项如图:

image-20231205110925619

结果图:

image-20231205111004407

image-20231205111011188

2.文件上传-mime-type绕过

lab-2

修改burp抓包过来的第二个Content-Type类型为:image/jpeg,

image/png,image/jpg

image-20231205113851901

image-20231205113952086

3.文件上传-黑名单验证绕过

lab-3

burp截取数据包,点击action然后点击intruder最后点击payloads

点击完load 把文件放进第二个选项框中去。如图(文件是事先准备好的txt文件如图)

image-20231205144929364

image-20231205144405065

设置完之后可以点击intruder下拉选项框中的start attack

image-20231205144732245

看上面的图片显示4033和2529的代码说明是不能上传图片的不能用的,现在就找3974就可以了。

点击图片右键选择show response in browser

image-20231205145507832

复制连接在浏览中打开

image-20231205145727444

如图

image-20231205150228228

复制图片链接地址到浏览器上

image-20231205150319355

最后使用蚁剑直接连接webshell

4.文件上传-绕过黑名单验证(.htaccess)

lab-4

修改配置文件http.conf,把默认的NONE改为ALL

image-20231205150917537

(1)制作探针文件,.htaccess

新建文本文件,里面输入如下代码另存为,另存为的时候选择所有文件夹形式

SetHandler application/x-httpd-php

image-20231205152110886

打开浏览器上传文件

image-20231205152149051

复制图片链接地址

image-20231205152239388

显示错误说明已经上传上去了

然后在新建一个php文件夹里面写一个phpinfo函数,保存文件夹名为jpg格式如图(上传图片)

image-20231205152546972

image-20231205152847481

5.文件上传-绕过黑名单验证(大小写绕过)

lab-5

直接修改php文件后缀名

image-20231205154402478

image-20231205154409316

image-20231205154417639

6.文件上传-绕过黑名单验证(空格绕过)

lab-6

正常上传一个php文件,使用burp截断,截断之后需要在后php后缀名后面加空格即可。如图:

image-20231205160415134

点击两下forword

image-20231205160529506

复制图片地址

image-20231205152847481

7.文件上传-绕过黑名单验证(.号绕过)

lab-7

因为在window环境是过滤掉.号的所以只能在linux环境中做演示了

新建一个7.php文件夹里面写phpinfo函数,如图

image-20231205161447237

然后上传文件,burp截取数据,在7.php文件名后面加个点,如图

image-20231205161632872

forward两下,绕过去了,最终复制粘贴图片地址

image-20231205161859245

image-20231205152847481

8.文件上传-绕过黑名单验证(特殊符号绕过)

lab-8

第一种:随意特殊符号上传

image-20231205163116389

image-20231205163128131

复制地址

image-20231205163225007

后面需要加上.php

image-20231205152847481

第二种方式:

修改后缀名为8.php::$DATA,最后的结果跟上面一样不演示,最后也是去点后面的特殊字符::$DATA,就显示phpinfo了

image-20231205163549711

image-20231205152847481

9.文件上传-绕过黑名单验证(路径拼接绕过)

lab-9

新建一个php文件后缀名后面加一个. .,例如:9.php. .

image-20231205164422621

image-20231205164448598

image-20231205152847481

10.文件上传-绕过黑名单验证(双写绕过)

lab-10

双写后缀名即可,如图

image-20231205165118496

image-20231205165149333

image-20231205152847481

11.文件上传-绕过白名单验证(00截断绕过)

lab-11

get00截断

新建一个11.php文件里面写入一个phpinfo函数,写完修改文件后缀名为11.jpg,然后打开burp截断最后上传文件如图:

image-20231205170033791

此时在红色框中加一个11.php%00

image-20231205170151207

forward两下,如图

image-20231205170301157

右键复制地址,去除点11.php后面的图片地址,显示如下图

image-20231205152847481

post00截断

前面的操作都一样(上传图片都是一样的和get方式),lab是不一样的使用的是lab-12,burp截断完数据之后需要在路径后面加一个空格如图:

image-20231205171024377

然后点击HEX,进入到里面找到2.php后面的空格修改里面的两个20改成00即可如图:

image-20231205171205454

image-20231205171334503

后面就是复制链接,进入phpinfo

image-20231205152847481

12.文件上传-webshell图片上传

lab-13

先制作图片webshell,在正常的php文件夹中加入一个GIF98A和一个phpinfo函数,最后修改后缀名为jpg,上传文件

image-20231205173625584

forward两下最后复制链接地址

image-20231205173709422

此时我们需要结合file.php文件夹进一步进行绕过

image-20231205174236206

先输入file.php地址

image-20231205174451070

最后在后面输入一个问号=之前的图片的jpg地址,如图:

http://192.168.3.2/upload/upload/file.php?file=7120231205173609.gif

image-20231205174710484

image-20231205152847481

13.文件上传-竞争条件

lab-17

竞争条件上传讲的是加入更多的代码进行上传文件。

先写一个上传脚本,然后清空本地的phpstudy的upload目录,打开浏览器上传文件,如图

image-20231205180104337

视频 中也报错但是人家传进去,我不知道是怎么回事,为啥传不进去。

image-20231205180126569

传进去之后就直接使用蚁剑链接webshell

14.中间件解析漏洞-iis6.0

搭建环境IIS6.0需要使用window server2003在虚拟机中搭建一个就可以了。

链接https://blog.csdn.net/ljlrookiebird/article/details/132585435

实战过程:

打开需要抓包的页面:使用burp抓包,action 转repeater,去掉get方式修改为option点击send

image-20231204182449867

此时上传一句话木马到文件中去

image-20231204183529857

复制123文本文件变成一个jpg格式的文件

image-20231204184307053

最后一步使用蚁剑进行连接。

连接这个地址就ok了:

http://192.168.60.128/123.asp:aaa.jpg

15.iis6.0文件解析漏洞及修复方案

image-20231204162812902

16.apache文件漏洞解析

自行百度