前言
续之前的系列,这里php开发的文件操作的内容读取以及文本写入的部分
文件读取代码的实现
css代码
本系列的php博客都是这个css,名字都是index.css
想让大家更容易理解。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Head</title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<div class="header">
<a href="index.html" class="logo">
<h1>wushiyiwuzhong</h1>
</a>
<nav class="navbar">
<ul>
<li><a href="file_index.php">文件功能导航</a></li>
<li><a href="file_upload.php">文件上传</a></li>
<li><a href="file_downlaod.php">文件下载</a></li>
<li><a href="#">文件删除</a></li>
<li><a href="file_read.php">文件读取</a></li>
<li><a href="file_write.php">文件写入</a></li>
</ul>
</nav>
</div>
<div>
<div class="content">
<form action="file_write.php" method="post" enctype="application/x-www-form-urlencoded">
<textarea name="fileContent" rows="4" cols="50" placeholder="请输入文件内容"></textarea><br>
<input type="submit" value="写入文件" name="submit">
</form>
</div>
</div>
</div>
</body>
</html>
<?php
// 检查是否有 POST 请求,并且 'fileContent' 字段是否已经设置
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['submit'])) {
// 定义要写入的文件名,可以是相对路径或绝对路径
$filePath = '1.php';//模拟写入文件可控的情况
// 从表单获取内容
$content = $_POST['fileContent'];
// 尝试将内容写入文件
if (file_put_contents($filePath, $content) !== false) {
echo "文件写入成功!"."<br><hr>";
} else {
echo "文件写入失败,请检查文件路径及权限。";
}
}
运行效果如下
我们这里直接模拟攻击者写入木马从而控制服务器
访问我们写入的后门文件
成功访问我们的后门文件,如果是真实情况的话我们已经成功获取到了目标服务器的权限
总结
文件的读取、写入还是比较简单的