upload-labs-master本地靶场刷题笔记

第一关

第一关很简单,前端的js验证,直接去调试器中禁用js便可实现php文件上传.。

上传后的位置没有直接输出,在这里可以用三个方法找到上传后的文件位置。

第一种:

右键选择检查,打开网络,找到文件上传的这条流量。 

第二种:

上传成功后他会回显一个图片,直接把图片拉到浏览器搜索栏位置,可以直接打开。

 第三种:

直接去改源码。

找到$img_path变量 然后输出一下路径。(大佬勿喷,就是想方便去访问-.-。)

第二关(MIME验证):

把木马后缀改为png或者jpg,或者gif类型,上传后抓包再改回php类型。

这个是验证A处的值的,总之A处的值为 png或者jpg,或者gif类型都可以。直接上传php文件抓包改A处的值也可以。

第三关:

黑名单验证,直接上传php5,php3,pHp,等大小写绕过,都可以。

第四关:

黑名单验证,卡的比较死,但是少了.htaccess文件,这里有一个小坑,.htaccess就要这样的文件名,不要改成 1.htaccess什么的。

先把php文件后缀改成png类型传上去,再上传 .htaccess 文件,访问一下.htaccess文件使它执行。

<FilesMatch "1.png">
SetHandler application/x-http-php
</FilesMatch>
                                  //改同目录下的 1.png文件为php类型文件

第五关:

黑名单卡死了,查看源代码。

 这个题其实比较第一次做难的,看了大佬的思路,知道他没有循环验证,所以后缀改为 .php.  他只是验证一次会删除一个 . 删除后为 .php

第六关:

查看源代码发现没有转换大小写,直接大小写绕过, phP,或者纯大写PHP的后缀即可绕过。

第七关:

查看源代码发现没有去除文件首位处的空格,直接抓包文件名后加空格,或者.后面加空格,即可绕过

 第八关:

第八关可以发现没有删除文件名末尾的点,和第七关思路一样,就是把空格换成点。

第九关:

没有删除文件后的::$DATA

第七关思路一样,就是把空格换成::$DATA

由于windows特性,会将::$DATA忽略,然后文件就解析成了正常的php文件。

数据流。 默认数据流没有名称。 可以使用 FindFirstStreamW 和 FindNextStreamW 函数枚举数据流。

 第十关:

和第五关一样。

第十一关:

双写绕过,把后缀写成pphphp 这样的形势,他会删除一次后缀的php代码。

 

第十二关:

00截断get类型。

 第十三关:

post类型00截断。

参考我的另一个小笔记

(139条消息) 文件上传漏洞,之00截断。_一个番茄锅的博客-CSDN博客_文件上传漏洞00截断

也就是在php后加空格

然后再二进制中把代表空格的20改为00

 

 然后就会有一个看不见的隔断。

 第十四关:

图片马,

我用的是kali

先创建一个图片,再创建一个php,然后用cat命令,使php代码加到图片后。

 

 然后直接上传。

用文件包含漏洞+图片马组合拳。使图片马中的代码能够执行。

 第十五关:

思路和第十四关一样,但是它存在一个对图片内容的渲染作用,思路就是上传一张图片后,再下载下来把上传前的图片一起放在二进制工具中,分析没有存在渲染,改变的位置。把php代码放在那个地方就可以。

这里我放一个大佬制作的图片马,可以轻松绕过第十五关的检测。

https://wwe.lanzoui.com/iFSwwn53jaficon-default.png?t=M7J4https://wwe.lanzoui.com/iFSwwn53jaf

 第十六关:

和十五关的思路一样,也是存在对图片内容和签名的检查,第十五关的图片马也可以绕过第十六关的检查。

 第十七关:

和十五关的思路一样,也是存在对图片内容和签名的检查,第十五关的图片马也可以绕过第十七关的检查。

第十八关:

条件竞争漏洞,

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

这段带代码可以生成一个a.php 然后a.php的意思是一句话木马。

利用burp,上传后发送到intruder模块,使用空payload,持续上传。

 然后一直去访问上传的这个代码,使他执行,当访问成功后就可以了,他就会生成a.php

手工累的话,可以用burp去设置空payload去持续访问,当响应码为200时就是上传成功。

第十九关:

图片马+条件竞争,将十八关的代码,放在图片中,然后持续访问图片。思路和十八关一样,不过就是将php换成图片马。

第二十关:

move_uploaded_file()函数中的img_path是由post参数save_name控制的,可以在save_name利用%00截断

 在这个位置设置00截断。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值