利用Java实现WebShell特征码定位器(二)

2014-11-23 23:56:48 · 作者: · 浏览: 1
的位置;dirContent[i].substring()截取出文件名,抛弃文件扩展名。因为文件名使用行号来命名的,所以我们可以用Integer.parseInt()来强制将得到的文件名转换成int类型
exist[temp-1] = true;
//将的得到行号对应的boolean设为true,因为我们实际文件名和行号是相差1的,所以要用-1来得到实际行号
}
for(int i=0;iif(exist[i]){ //如果行号存在,就是我们刚才定位得到的行号
jtaResult.append(i+1+" "+fileContent.get(i)+" ");
//从fileContent变量里提取出对应行号的代码,显示在定位结果窗口
}
}

当然,也有可能杀软查杀不到的情况,此时我们只需判断生成的文件数是否与行数相同就行了,实现代码如下。

if(dirContent.length == fileContent.size()){
jtaResult.append("没有被杀软查杀记录,可能没有特征码!");
return;
}

OK,介绍到这里,我们的WebShell特征码定位器就新鲜出炉了,实际测试一下吧。
随便找一个WebShell――ServUsu.asp,这个东西大家很熟悉了,Serv-U的提权网马,现正在被广大杀软通缉。利用我们的工具拆分网马后,祭出卡巴来杀毒,如图2所示,杀毒完毕,我们来定位,如图3所示。

图2
图3

这样,我们就定位到了这个WebShell的特征码在第1、2两行代码里面了。至于特征码的免杀处理,就不在本文的介绍范围内了。大家如有什么疑问,欢迎到黑防官方论坛讨论,我的ID是:Ansty。