• 攻防世界-filemanager


    🍬 博主介绍
    👨‍🎓 博主介绍:大家好,我是 JTZ_ ,很高兴认识大家~
    ✨主攻领域:【WEB 安全】
    ✨兼攻领域:【逆向分析】【SSM 网页制作】【应用程序编写】
    🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
    🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
    🙏作者水平有限,欢迎各位大佬指点,相互学习进步!


    文章目录


    1. 打开初始网页后,经过简单的对网站功能进行分析后我们可以得出几点结论

      1. 很大可能是将一个木马文件上传上去,然后在利用改名字功能将原先上传的木马文件修改为 php 结尾的文件
    2. 经过简单的测试,我们可以知道对于重写名称的思路应该是这样
      在这里插入图片描述

    3. 现在我们已经获得了我们目前已知的一切,接下来没法走了,那就扫目录吧,最终可以获得一个 www.tar.gz 文件,这一看就是源码了,我们下载下来后对其进行分析

    
    /**
     * Created by PhpStorm.
     * User: phithon
     * Date: 15/10/14
     * Time: 下午9:39
     */
     
    require_once "common.inc.php";
     
    if (isset($req['oldname']) && isset($req['newname'])) {
    	$result = $db->query("select * from `file` where `filename`='{$req['oldname']}'");
    	if ($result->num_rows > 0) {
    		$result = $result->fetch_assoc();
    	} else {
    		exit("old file doesn't exists!");
    	}
     
    	if ($result) {
     
    		$req['newname'] = basename($req['newname']);
    		$re = $db->query("update `file` set `filename`='{$req['newname']}', `oldname`='{$result['filename']}' where `fid`={$result['fid']}");
    		if (!$re) {
    			print_r($db->error);
    			exit;
    		}
    		$oldname = UPLOAD_DIR . $result["filename"] . $result["extension"];
    		$newname = UPLOAD_DIR . $req["newname"] . $result["extension"];
    		if (file_exists($oldname)) {
    			rename($oldname, $newname);
    		}
    		$url = "/" . $newname;
    		echo "Your file is rename, url:
                    {$url}\" target='_blank'>{$url}
    go back"
    ; } } ?> <!DOCTYPE html> <html> <head> <title>file manage</title> <base href="/"> <meta charset="utf-8" /> </head> <h3>Rename</h3> <body> <form method="post"> <p> <span>old filename(exclude extension)</span> <input type="text" name="oldname"> </p> <p> <span>new filename(exclude extension)</span> <input type="text" name="newname"> </p> <p> <input type="submit" value="rename"> </p> </form> </body> </html>
    1. 对上面代码进行分析后,我们可以得出下面的结论:
      在这里插入图片描述

    2. 经过分析,我们可以先上传一个文件名称为 ’,extension='.jpg 的文件,这个文件中的内容无所谓
      在这里插入图片描述

    3. 上传成功后,我们将原来的文件名称修改为 conn.jpg
      在这里插入图片描述
      在这里插入图片描述

    4. 然后我们上传一个一句话木马文件,文件名为 conn.jpg 一定要和上一步改的文件名相同
      在这里插入图片描述

    5. 上传完成后,对名字进行修改
      在这里插入图片描述
      在这里插入图片描述

    6. 使用蚁剑连接
      在这里插入图片描述

    7. 过关思路:

      在这里插入图片描述

  • 相关阅读:
    从C语言到C++(五)
    unity tolua热更新框架教程(2)
    Linux Podman安装DVWA靶场环境
    对输入信号的抽样值求解码输出和量化误差
    [微前端实战]---033vue2 - 新能源子页面
    【Kafka专栏 14】Kafka如何维护消费状态跟踪:数据流界的“GPS”
    上海各梯队IB学校怎么选?
    智能运维应用之道,告别企业数字化转型危机
    怎么选择俄罗斯服务器?要注意什么?
    spring boot整合mybatis,mybatis generator ,自定义typhandler
  • 原文地址:https://blog.csdn.net/weixin_53150482/article/details/127089671