本文记录 PHP 代码审计的学习过程,教程为暗月 2015 版的 PHP 代码审计课程
1. 简介
常见函数
- copy
- rmdir
- unlink 删除文件
- delete
- fwrite
- fopen
- fgetc
- fgetcsv
- fgets
- fgetss
- file
- file_get_contents 读取 php 文件内容
- fread
- readfile 输出文件字符总长度
- ftruncate
- file_put_contents
- fputcsv
- fputs
- chmod
测试 unlink() 函数
新建 demo.php 文件,内容为任意内容
新建 test.php
<?php $file=$_GET['file']; if(isset($file)){ unlink($file); } ?>
浏览器执行 http://127.0.0.1/test.php?file=demo.php
结果为 demo.php 文件被删除
测试 file_get_contents() 函数
新建 demo.php
<?php echo demo.php; ?>
新建 test.php
<?php $file=$_GET['file']; echo file_get_contents($file); ?>
浏览器执行 http://127.0.0.1/test.php?file=demo.php
结果在浏览器中的查看源代码中
测试 readfile() 函数
新建 demo.php
<?php echo demo.php; ?>
新建 test.php
<?php $file=$_GET['file']; echo readfile($file); ?>
浏览器执行 http://127.0.0.1/test.php?file=demo.php
结果在浏览器中的查看源代码中
测试 file_put_contents() 函数
新建 demo.php
<?php echo demo.php; ?>
新建 test.php
<?php $file=$_GET['file']; $content=$_GET['txt']; echo file_put_contents($file,$content); ?>