一句话木马
概述
一句话木马又被称为Webshell,是为了到目前web服务目录继而提权获得系统权限,不论asp,php,jsp,aspx都是如此,那么一句话木马到底是什么呢?
最简单的一句话木马:
基本原理为利用文件上传漏洞,往目标网站中上传一句话木马,然后就可以在本地通过软件获取和控制整个网站目录。@表示后面即使执行错误,也不报错。eval()函数表示括号内的语句字符串什么的全都当作代码执行。$_POST[‘attack’]表示从页面中获得attach这个参数值。
入侵条件
要实现入侵必须满足三个条件
1 | (1)木马上传成功,未被杀; |
常见形式
常见的一句话木马:
php的一句话木马:
asp的一句话是: <%eval request (“pass”)%>
aspx的一句话是: <%@ Page Language=”Jscript”%> <%eval(Request.Item[“pass”],”unsafe”);%>
我们可以直接将这些语句插入到网站上的某个asp/aspx/php文件上,或者直接创建一个新的文件,在里面写入这些语句,然后把文件上传到网站上即可。
基本原理
1 | eval($_POST['cmd']); @ |
eval函数将字符串作为php代码执行。post使服务器接受变量cmd,所以该一句话木马的含义九尾把变量cmd里面的字符串当作php代码来执行。也就是说,想执行什么代码,就把什么代码放进cmd里,用post传输给一句话木马。你想查看目标硬盘里有没有小黄片,可以用php函数:opendir()
和readdir()
等等。想上传点小黄片,诬陷站主,就用php函数:move_uploaded_file
,当然相应的html要写好。你想执行cmd命令,则用exec()
。
木马免杀
就算木马能正常运行,那么过段时间会不会被管理员杀掉?如何免杀?上面虽然木马上传成功了,但是只要管理员一杀毒,全部都能杀出来。而且,还会很明确的说这是后门。因此,作为攻击者就得会各种免杀技巧。防御者的防御很简单,什么时候哪个论坛爆出新的免杀技巧,安全人员立马将这玩意儿放入黑名单,那么这种免杀技巧就失效了。所以,攻击者得不断创新,发明新的免杀技巧。
常见的木马免杀方式有1.将源代码进行再次编码
2.将一句话木马进行base64编码
3.数组键值对变形
小马和大马
小马和大马都是网页类型中的一种后门,是用来控制网站权限的,最主要的区别是小马是用来上传大马。为什么要这么做呢?因为小马体积小,有比大马更强的隐蔽优势,而且有针对文件大小上传限制的漏洞,所以才有小马,小马也通常用来做备用后门等。
网页小马
小马体积非常小,隐蔽性也好,它的作用很简单,就是一个上传功能,它的作用仅仅是为了上传文件,所以也能过一些安全扫描。小马是为了方便上传大马的,因为很多漏洞做了上传限制,大马上传不了,所以可以先上传小马,再接着通过小马上传大马。
网页大马
大马的体积较大,比小马大好多倍,但是对应的功能也很强大,包括对数据的管理,命令的操作,数据库的管理,解压缩,提权等,都非常强大。这种大马一旦网站被种了,网站基本就在这个大马控制之中,大马的隐蔽性不好,因为涉及很多敏感代码,安全类程序很容易扫描到。
备注:中国菜刀的一句话不算,菜刀一句话通过客户端来操作也非常强大,一句话的代码可以和大马实现的一样。我们这里说的小马和大马是指网页类型中的,小马就是为了配合上传大马的,这是它最主要的作用,还有就是小马可以当做备用的后门来使用,一般大马容易被发现,而小马则更容易隐藏在系统的文件夹中。
webshell
Webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。
webshell根据脚本可以分为php脚本木马,asp脚本木马,也有基于.net的脚本木马和jsp脚本木马。根据功能也可以分为大马,小马和一句话木马。