Aspx的webshell作为一个文本文件,很容易被识别和查杀,如果将其编译成dll文件,放到网站bin目录下,隐蔽性就要高很多。使用ASP.NET的预编译指令,可以简单的实现这个目的。详细的说明可以参考:http://msdn.microsoft.com/zh-cn/library/ms228015(v=vs.80).aspx
下面是编译方法:
1)先新建一个old目录,目录下只放一个aspx的webshell。可以用iis测试一下页面能不能正常访问。
2)确认能正常访问后清空c:inetpubwwwroot目录(可以先找个空目录运行,完了把所有文件复制过去即可),执行如下命令:
C:WindowsMicrosoft.NETFrameworkv2.0.50727aspnet_compiler.exe -p D:old -v / c:inetpubwwwroot
-p参数是网站源文件,如果只打算编译一个webshell的话,就新建个空文件夹,里面放一个aspx文件;
-v参数是网站虚拟路径,“/”就是根目录,一般就使用根目录。
后面的c:inetpubwwwroot是目标路径,编译好的文件都在里面。
系统内如果安装了多个版本的.NET Framwork就会有相应的编译环境,也就是在C:WindowsMicrosoft.NETFramework下会有多个版本的文件夹,根据需要选择合适的即可。一般来说,2.0比较合适。
预编译时可能会产生一些warning,只要你的webshell代码是正确的就可以忽略。
3)这时在c:inetpubwwwroot目录下会生成以下文件:
Header_01.aspx里是一句中文,其实该文件只是个引导符号,里面内容可以是任意的,可以放点有迷惑性的文本,但是文件名必须是Header_01.aspx。
bin里面的两个文件就是编译好的webshell了。
另外PrecompiledApp.Config文件不是必须的,可以直接删掉。
4)将bin目录和Header_01.aspx复制到网站根目录下,访问一下该页面。
注意:实际测试时发现,只有放到根目录才能成功。
本文始发于微信公众号(T00ls):【奇技淫巧】将ASPX文件编译成一个独立的dll文件,加强隐蔽性
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论