Web木马的特点有哪些?
Web木马主要有以下几个主要特点:
1. 木马可大可小
根据功能不同,Web木马自身的文件大小也各不相同。最小的木马可利用一行代码进行实现。大的木马在提供各类丰富的功能基础之上,自身的大小也会超过10KB。因此无法根据文件的代码量判断木马。
2. 无法有效隐藏
Web木马执行时必须按照中间件支持的Web格式进行解析并执行。
在真实攻击中,攻击者通常会将木马命名为一个近似系统文件或正常文件的名字,并在其中填充大量与当前站点中相似的无效代码,以迷惑管理员。若攻击者没有系统权限,木马在服务器端无法真正隐藏。
3. 具有明显特征值
Web木马的特点有很多,主要表现在其特殊功能方面。
如针对数据库的大量操作功能、文件创建修改功能等都可被攻击者使用。在使用过程中,攻击者的操作行为会利用外部参数传入到Web木马中,Web木马再将攻击者传入的参数拼接成系统命令并执行。
在Web木马中,需调用系统的关键函数用以执行本身的功能,这些关键函数在木马中起着无法替代的作用,因此这些关键函数可作为Web木马的明显特征。
在Web木马中常见的关键函数如下:
●命令执行类函数:eval、system、popen、exec、shell_exec等。
●文件功能类函数:fopen、opendir、dirname、pathinfo等。
●数据库操作类函数:mysql_query、mysqli_query等。
需要注意的是,多数木马会对当前的关键函数进行类型隐藏,如先拆分结构,在调用时再进行拼接。因此,需要跟踪整体功能流程后,再根据执行效果进行确认,这一点需要注意。
4. 必须为可执行的网页格式
木马需在当前服务器的Web容器中执行,因此必须为网页格式。无论是一句话木马还是大型木马,均需如此。
当然,在极端情况下可配合文件包含漏洞实现木马执行,但最终执行环境必须为网页。极端情况下(如木马可被上传,但无法解析时),可配合htaccess实现对执行名称后缀名的替换,实现特定后缀名的执行。