• 某商城系统(V1.3-2020-01-10)前台命令执行漏洞


    漏洞文件:

    ./inc/module/upload_img.php 

     先跟进 del_file 函数:

     在 del_file 函数中首先执行了unlink操作,然后接着进行了file_exists 判断。

     这是为了删除权限不够的文件,我们应该是没办法找到这类文件。那么如何绕过这么点呢?

    unlink:是删除文件,如果是文件夹则会删除失败。

    file_exists:则会判断 文件 或 文件夹 是否存在。所以当我们传递一个文件夹的时候既可以绕过。

    最开始还有一个对时间的检测,绕过如下:

    ./inc/module/upload_img.php 该文件 默认是上传文件操作,我们可以在会员中心->编辑头像处上传文件,这样会导致创建一个以 年月日 命名的文件夹,就可以用来绕过第一个点了。

     不过我们可以控制文件夹为这三个目录,相对来说会好一些:

     

     然后就可以成功进入到 system 函数进行命令执行了。

     多条命令用&连接,如果前面有一条命令错误,都会导致后面的执行失败。

     也就是说我们必须要真正删除文件,然后在执行我们的命令。

     最终exp为:

      请勿用于非法操作,exp已去掉。

     修改对应的文件路径。可以直接修改为你上传的那个头像路径,右键就可查看你头像的路径了。

    效果如图:

    还有一处老问题注入:

    ./inc/module/user.php 

     getip函数:./inc/function/functions.php

     

     

     因为使用的PDO拓展,所以支持多语句执行。

     这注入应该算修复失败遗留的注入。

     原来的修复方式:./inc/function/global_admin.php

     而且我们前台加载的公共函数库是 ./inc/function/functions.php 这个文件。修复到了后台加载的函数库。

  • 相关阅读:
    Python解析库lxml与xpath用法总结
    安装docker时,遇到Loaded plugins...怎么办
    【AcWing】第6场周赛 B题 3734. 求和 (思维)
    CF上部分树形DP练习题
    Codeforces Round #481 (Div. 3) 经典几道思维题
    KB专题:区间DP专辑
    ZOJ 3537 Cake (凸包 + 区间DP && 最优三角形剖分)
    AtCoder Beginner Contest 171 AK!
    【算法学习笔记】分段打表
    [apue] 多进程管道读写的一些疑问
  • 原文地址:https://www.cnblogs.com/xiaozhiru/p/12347876.html
Copyright © 2020-2023  润新知