PHP代码审计 13 文件管理漏洞

本文记录 PHP 代码审计的学习过程,教程为暗月 2015 版的 PHP 代码审计课程

PHP 代码审计博客目录

1. 简介

  1. 常见函数

    1. copy
    2. rmdir
    3. unlink 删除文件
    4. delete
    5. fwrite
    6. fopen
    7. fgetc
    8. fgetcsv
    9. fgets
    10. fgetss
    11. file
    12. file_get_contents 读取 php 文件内容
    13. fread
    14. readfile 输出文件字符总长度
    15. ftruncate
    16. file_put_contents
    17. fputcsv
    18. fputs
    19. chmod
  2. 测试 unlink() 函数

    新建 demo.php 文件,内容为任意内容

    新建 test.php

     
    

    浏览器执行 http://127.0.0.1/test.php?file=demo.php

    结果为 demo.php 文件被删除

  3. 测试 file_get_contents() 函数

    新建 demo.php

     
    

    新建 test.php

     
    

    浏览器执行 http://127.0.0.1/test.php?file=demo.php

    结果在浏览器中的查看源代码中

    在这里插入图片描述

  4. 测试 readfile() 函数

    新建 demo.php

     
    

    新建 test.php

     
    

    浏览器执行 http://127.0.0.1/test.php?file=demo.php

    结果在浏览器中的查看源代码中

    在这里插入图片描述

  5. 测试 file_put_contents() 函数

    新建 demo.php

    
    

    新建 test.php

    
    

    浏览器执行 http://127.0.0.1/test.php?file=demo.php&txt=

    结果在浏览器中的查看源代码中

    在这里插入图片描述

    查看 demo.php 文件已经被覆盖

    在这里插入图片描述

  6. copy() 函数

    新建 demo.php

     
    

    新建 test.php

     
    

    浏览器执行 http://127.0.0.1/test.php&txt=demo2.php

    结果在 www 目录下出现了新的文件 demo2.php

  7. fwrite() 函数

    新建 test.php

     ");
     ?>
    

    浏览器执行 http://127.0.0.1/test.php?file=demo3.php

    结果在 www 目录下出现了新的文件 demo3.php

你可能感兴趣的:(代码审计)