• 攻防世界-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. 过关思路:

      在这里插入图片描述

  • 相关阅读:
    js的继承的方式
    Notepad++常用设置快捷键
    2.9 Python if 判断语句
    MySQL-DQL【数据查询语言】(图码结合)
    在 linux(腾讯云 centos 7.9)上运行 pytest,allure 并生成基于公网地址的测试报告
    2021:Python的下载安装教程(很详细,初学者也能懂)
    使用GDIView排查GDI对象泄漏导致的程序UI界面绘制异常问题
    【Verycapture】离线文字提取,视频录制
    让我们进入面向对象的世界(三)
    Android 13正式版发布
  • 原文地址:https://blog.csdn.net/weixin_53150482/article/details/127089671