• 代码审计之文件越权和文件上传搜索技巧


    0x01. 全局搜索查找越权技巧

    在代码审计中,文件量很大的情况下查找可越权访问的文件(以PHP为例,开始没有引入global.php|common.php等类似的文件)是一件很头疼的事情,下面介绍在Linux环境下使用find命令快速查找可越权的文件:

    //find命令
    1.在etc下查找"*.log"文件
    find /etc -name "*.log" 
    2.在etc下查找所有包含"common.php"字符串的php文件
    find /etc -name "*.php" | xargs grep "common.php"
    find /etc -name "*.php" | xargs grep "common.php" > ./a.txt
    3.在etc下查找没有包含"common.php"字符串的php文件
    find /etc -name "*.php" | xargs grep -L "common.php"

    其它常用的命令参考:http://sundful.iteye.com/blog/1730385

    0x02. 全局搜索上传漏洞技巧

    以某厂商www.xx00.com的源码为例

    1.首先全局搜索type=”file”来判断有没有上传点(关键词”$_FILE”是查找上传文件逻辑处理的地方):

    命令:

    find /home/juicebox/Desktop/Code/aituan -name "*.php" | xargs grep "type="file"" > a.txt

    2.xx00也是用的php的框架,所以我们打开主页找mvc框架的影子:

    http://www.xx00.com/at/gold_auction/auction_details/532

    http://www.xx00.com/at/index/baoming

    根据上面两条和下面源码结构,判断功能函数在/application/controller/at/目录下

    http的请求功能函数时应该遵循domain/at/action/function/param格式

    3.我们打开/application/views/at/phone_test/display.php,发现上传的action=”upload”

    4.打开/application/controller/at/phone_test.php,找到upload函数,分析代码可知有上传漏洞

    5.本地写一个上传的html文件:

    <html>
    <body>
    <form action="http://www.xx00.com/at/phone_test/upload" method="post"
    enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="file" id="file" /> 
    <br/>
    <input type="submit" name="submit" value="Submit" />
    </form>
    </body>
    </html>

    6.上传后看返回的img值,解密md5值即可获取webshell路径

  • 相关阅读:
    C#读物
    那些健康手环真的值得买么?
    书籍推荐系列之一 -- 《凤凰项目:一个IT运维的传奇故事》
    测试
    HDU-2024 C语言合法标识符
    HDU-4548 美素数
    求最大流dinic算法模板
    最小费用最大流模板理解
    网络流初步——增广路代码的分析
    最短路的另外两种算法
  • 原文地址:https://www.cnblogs.com/dongchi/p/5095560.html
Copyright © 2020-2023  润新知