upload-labs write-up
Luckysec
渗透测试工程师
展开
-
upload-labs16(二次渲染)
题目以gif格式为例上传首先,查看gif部分源码此处红线标记处,存在逻辑漏洞,原本该代码是判断文件是否符合上传的,但是在move_uploaded_file()作if条件,该函数执行返回true时,不管文件是否符合都可以上传了。不过本题真正想考的是对文件二次渲染绕过,所以我们就忽视这个逻辑漏洞,继续做题。我们制作一张图片马进行上传上传文件后,发现网页本地目录中存在二次渲染...原创 2018-11-09 19:13:02 · 3037 阅读 · 2 评论 -
upload-labs 15(exif_imagetype检测)
题目首先,查看源码分析,该代码通过exif_imagetype判断文件类型通过图片马进行上传绕过制作图片马接着用bp上传文件新建简单的包含文件漏洞的页面测试文件绕过成功!...原创 2018-11-08 21:28:34 · 978 阅读 · 0 评论 -
upload-labs 13(图片马)
题目查看源码分析,该代码中对文件读取头两个字字节,并以此判断文件类型我们可以制作图片马进行上传制作图片马生成的图片马为2.jpg使用bp可以看到上传文件内容此图片马可以包含文件漏洞的页面中使用在上传成功后,可以获取到上传文件重新命名的名字简单新建一个包含文件漏洞的页面进行测试文件绕过成功!...原创 2018-11-08 20:01:34 · 4232 阅读 · 11 评论 -
upload-labs 05(后缀大小写绕过)
题目首先分析源码该代码基本对所有webshell文件后缀名进行了限制,但是并没有对上传的文件后缀名进行统一大小写,于是,我们修改下文件后缀大小写即可上传成功,检测是否允许文件绕过成功!...原创 2018-11-05 21:55:50 · 831 阅读 · 0 评论 -
upload-labs 04(上传.htaccess)
题目首先查看源码该代码对常见的多种类型文件后缀名进行了限制上传,但是仔细可以发现,并没有对htaccess文件进行限制。于是,我们可以先上传一个htaccess文件,再上传一个图片马,进行绕过检测上传。htaccess小知识.htaccess文件(或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中...原创 2018-11-05 21:39:22 · 2249 阅读 · 0 评论 -
upload-labs 03(上传特殊可解析后缀)
题目首先查看源码该代码是对文件上传后缀进行检测,我们可以上传.phtml或者.php2等不在黑名单的文件后缀进行上传上传成功.phtml,如果Apache不能解析,在Apache的配置文件httpd.conf文件中添语句即可:AddType application/x-httpd-php .php .html .phtml查看该网页下的根目录上传文件文件上传成功!...原创 2018-11-05 20:03:28 · 1798 阅读 · 1 评论 -
upload-labs 12(修改二进制00截断)
题目查看源码分析,在红线标线处,可以发现,该代码使用POST方式传参,并且最后对文件名重新拼接命名因此,可以通过%00进行截断将原本截断的内容,改成红线标记处添加+号,由于POST传参不会自动解码,需要在Hex处修改二进制,+对应的是2b,将其改为00即可验证文件上传成功!...原创 2018-11-07 22:08:04 · 1270 阅读 · 0 评论 -
upload-labs 11(00截断)
题目查看源码从代码中可以发现红线处,对上传的文件名进行重新拼接可以通过%00进行截断上传小提示:%00截断的条件(1)php版本必须小于5.3.4(2)打开php的配置文件php-ini,将magic_quotes_gpc设置为Off验证文件成功上传!...原创 2018-11-07 21:48:58 · 2288 阅读 · 0 评论 -
upload-labs 10(双后缀名过滤)
题目查看源码分析,该代码将黑名单中的后缀名全替换为空格,则我们可以在要上传的文件后缀名中穿插一个黑名单中的名字例如:.php 改为.pphphp或.phtmhp诸如此类验证文件上传成功!...原创 2018-11-07 20:41:16 · 396 阅读 · 0 评论 -
upload-labs 09(配合解析漏洞)
题目查看源码该代码对文件名最后是进行拼接的,可以伪造文件名通过bp截断上传文件,在文件后添加". ."进行伪造,如图示验证文件文件上传成功!小提示:在前面的某些关卡也存在同样的漏洞,可用此方法通过。...原创 2018-11-07 20:21:17 · 743 阅读 · 0 评论 -
upload-labs 08(字符串过滤)
题目查看源码分析,该代码没有对文件后缀名统一转字符串,导致在Windows下可以使用bp截断文件后缀添加 :: DATA进行绕过小提示:Windows :: DATA备用数据流备用数据流允许文件包含多个数据流。每个文件至少有一个数据流。$ DATA备用流存在于每个文件,因此它可以是访问任何文件的替代方法。验证文件上传成功!...原创 2018-11-07 19:53:14 · 395 阅读 · 0 评论 -
upload-labs 07(点过滤)
题目首先,查看源码分析完,发现该代码没有对文件后缀之后的点符号进行限制因此通过bp截断,对上传的文件后缀之后加上点符号随后继续上传,进行验证文件上传成功!...原创 2018-11-07 19:03:54 · 350 阅读 · 0 评论 -
upload-labs 06(空格绕过)
题目首先,查看源码分析,发现该代码没有对文件后缀名进行空格限制可以使用bp进行截断文件,给文件后缀名后加上空格文件上传成功!原创 2018-11-07 18:54:11 · 624 阅读 · 0 评论 -
upload-labs 02(文件类型)
题目尝试上传php文件,结果失败查看源码,发现对上传的文件类型进行了限制使用bp工具截取上传文件如图标记处,将此处改成Content-Type:image/jpeg然后点击Forward继续上传查看本地网页根目录下的上传文件夹中,是否存在php文件文件上传成功!...原创 2018-11-02 20:34:51 · 339 阅读 · 0 评论 -
upload-labs 01(js检测)
题目首先,尝试上传我们的php文件发现不能上传,查看源码,可以看出是用js检测手段把我们的php文件改成按照可上传类型在上传时,打开bp工具截取信息将截取到的信息,test.jpg 改成test.php,然后继续点击Forward然后查看本地网页根目录下的文件上传地址文件成功上传!...原创 2018-11-02 20:06:30 · 211 阅读 · 0 评论 -
upload-labs 19
题目查看代码分析,move_uploaded_file()函数中的img_path是由post参数save_name控制的,因此可以在save_name利用00截断绕过:首先上传一个图片马修改信息为红线处然后在二进制将+号对应的2b改为00最后继续上传验证文件绕过成功!...原创 2018-11-09 20:08:11 · 1055 阅读 · 0 评论 -
upload-labs 18
题目查看代码分析,本关对文件后缀名做了白名单判断,然后一步一步检查文件大小、文件是否存在等等,将文件上传后,对文件重新命名同样存在条件竞争的漏洞。不断利用burp发送上传图片马的数据包,由于条件竞争,程序会出现来不及rename的问题,从而上传成功...原创 2018-11-09 19:49:20 · 1408 阅读 · 0 评论 -
upload-labs 17(条件竞争)
题目查看代码分析,该代码先将文件上传到服务器,然后用rename重命名,再用unlink删除文件,可以通过条件竞争的方式在unlink之前,访问webshell。首先在burp中不断发送上传webshell的数据包然后不断在浏览器中访问,可以通过竞争访问到文件。...原创 2018-11-09 19:38:40 · 2019 阅读 · 0 评论 -
upload-labs 14(getimagesize检测)
题目查看源码分析,该代码通过getimagesize获取文件类型,进行文件判断可以通过图片马进行上传制作图片马接着用bp上传文件测试是否成功文件绕过成功!...原创 2018-11-08 21:23:57 · 1121 阅读 · 0 评论
分享