欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【2017-赛客夏令营】-Web-Uploadddd

程序员文章站 2022-03-09 22:38:39
...

打开链接是一个上传文件的界面

先上传试试看看有没有限制

发现php文件可以正常上传
【2017-赛客夏令营】-Web-Uploadddd

这时候就要找文件上传到了哪个漏洞

使用dirmap工具

python dirmap.py -i 你的网址 -lcf

扫描得到了/.index.php.swp

使用vim工具打开
vim -r index.php.swp

可以看到

<?php
if (isset($_POST['submit'])){
    $file_path = "uploads/";
    $file_name = date("YmdHis") . rand(0,999) . ".php";
    move_uploaded_file($_FILES["file"]["tmp_name"], $file_path . $file_name);
    echo "上传成功!";
}

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Web03</title>
</head>
<body>
    <form action="index.php" method="post" enctype="multipart/form-data">
        <input type="file" name='file'> 
        <input type="submit" name="submit" value="上传" /> 
    </form> 
</body> 
</html>

上传的路径为 uploads
文件名为上传的时间加上随机数和php后缀
接下来使用bp**:
【2017-赛客夏令营】-Web-Uploadddd
得到上传时间,然后编写脚本

time='20200901101040'
s = ''
for i in range(1000):
	s += time+str(i)+'.php'
	s += '\n'
	# print (time+str(i)+'.php')
filename = 'dir.txt'
with open(filename,'a',encoding='utf-8') as f:
    for i in s:
        f.writelines(i)

然后**:

【2017-赛客夏令营】-Web-Uploadddd
找到连接成功的网站,然后到剑蚁操作
【2017-赛客夏令营】-Web-Uploadddd

得到flag