烈火网教程 客户的网站经常被挂马,不胜其烦。今天在无聊清理代码的时候,灵机一动,想到一个拿服务器权限的方法(先鄙视一下自己,没想到防止挂马的方法,咋先想到害人的方法了捏)。当然此方法纯属胡思乱想,未曾实施过,不保证真正有效。步骤如下:
准备工作
1.做好远控木马,做好免杀,找个网马生成器生成网马。然后传到一个空间,并做好相应的加密过的JS引用文件。
2.找一套正常的网站源码(大家做过的网站随便找一个就ok了),加一段代码,让它只能在本地访问时正常显示,远程访问时出错。(很关键,大家都是程序员,这个功能也不难)。然后通过cs代码往前台页面插入木马js文件,注意,判断一下,只在本地浏览且是第一次浏览时插入,其他情况不插入,当然,为了成功后我们能知道,这里也可以插入一段通知的代码,比如往我们心想发一封成功的e-mail。
示例代码
if(Request.IsLocal)//判断是否本机访问,当然你可以改为更好的判断方法
{ if(ConfigurationManager.AppSettings["sitecode"].Equals("0"))//是否第一次访问的标志,这里为了简单,使用的配置文件,你可以修改为其他更隐蔽的方法 { Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); config.AppSettings.Settings["sitecode"].Value="1"; config.Save(); Response.Write(" "); //发送成功提示的代码 } //正常执行的代码 } else Response.Close(); |
3.为了安全,把整站编译一下,否则这些小动作别人一看代码就知道了。
开始实施
1.找到下手的虚拟主机服务器商,先大致扫一下服务器,看一下安全,性能等等,找到自己满意的。
2.和他们联系,说是买空间,要求试用。
3.把准备好的网站传上去。然后找他们客服(装模作样几分钟再去找,别传上立刻去找,以免引起怀疑),说网站在你本地测试一切正常,传到他们服务器上就打不开了。让他们给看看怎么回事。
等待处理
1.他们技术会先在他自己机器上输一下网址试试,以测试是不是真的打不开,或者是在打不开的情况下报的是什么错误。当然,在我们程序的控制下,他最终只能看到一个完美的错误页面。
2.他也许会多找几台机器试试,但是等他看过五六个错误页面后,最终还是要登到服务器上查看。他会查看一下iis的设置,发现没问题。
3.他也会查看一下你网站的源码,当然,在编译过的情况下,他什么也发现不了。
4.这时,他很有可能会在服务器运行一下你的网站,这时,程序检测到是本地浏览,于是正常显示,同时程序检测到是第一次运行,于是插入木马js。于是我们的木马就成功植入了他们服务器,如果你写了提示代码,这时你会收到一封成功的e-mail。这时你不要干等,要在沟通的过程中引导他们在服务器上运行你的网站。#p#副标题#e#
擦屁股
1.他们无论怎么检测设置,都会发现网站在服务器能打开而本地打不开的事实。这时你要赶快删掉上传上去的文件,并大骂他们垃圾服务器垃圾空间后,悠然撤离。
2.如果你感觉这么做对不起他们的热情服务,会良心不安的话。那还有一种处理方法。首先你做准备工作的时候,把代码改一下,修改为只有在经过一次本地浏览后,远程才能浏览。这样他们技术员在服务器上浏览一次网站并种植木马后,远程就能访问了。
示例代码
if(Request.IsLocal)//判断是否本机访问,当然你可以改为更好的判断方法
{ if(ConfigurationManager.AppSettings["sitecode"].Equals("0"))//是否第一次访问的标志,这里为了简单,使用的配置文件,你可以修改为其他更隐蔽的方法 { Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); config.AppSettings.Settings["sitecode"].Value="1"; config.Save(); Response.Write(""); //发送成功提示的代码 } } if(ConfigurationManager.AppSettings["sitecode"].Equals("0")) Response.Close(); //正常执行的代码 |
这时你大大地夸赞他们一番,然后自己找个理由最终不买他们空间。
3.最终不管结尾如何,你肉鸡到手,至于怎么玩,就看你自己了。当然你能把抓到的肉鸡和我共享一下,那就更好了。
问题与处理方法
1.他们空间不支持.NET。
你干脆买块豆腐撞死算了,不支持你还找他们,能怪谁啊,换支持的空间。
2.他们空间不准试用。
两种选择:1.放弃,换一个。2.买一个最便宜的吧。
3.他们不在服务器运行站点。
自己想办法忽悠引导他们运行。比如多次强调自己本机运行没问题,他们在心理暗示下,很有可能也在"本机"—-即服务器上运行一下看有没有问题。当然,还有更多绝妙的主意你可以自己去想。如果他们是比较严格正规的公司,绝对禁止在服务器打开任何网站,或者是他们技术比较小心谨慎,即使怀疑你代码有问题,他也只会把网站代码下载下来在自己机器上运行。那没办法了。反正国内卖空间的小公司一抓一大把,不会都这么严格和正规,换一家吧。
4.挂的代码被发现,或者木马运行了,但是被杀掉了。
这个没啥说的,基本功问题,吸取教训,做好免杀,换一家搞。
5.跟他们一反应问题,他们立即操起了Reflector,一下找到了你做的手脚。
这个可能性比较小,处理问题有个次序,他们一般不会先检查代码,这样你才有擦屁股逃跑的可能。如果你真遇到这么个不按常理出牌的哥们,还等啥,赶快跑路吧。另外别忘了去买张彩票,中500w可比挂马成功的感觉要好多了。
如果真要防止的话,提前加密混淆吧,具体怎么办,园子里自己"找找看"。
6.他们服务太垃圾,根本不鸟你,或者应承了下来,就是不去处理,或者甩一句“你代码问题,服务器没问题”就不管了。
你要知道,这种情况在国内是正常的,所以不要生气,换一家吧。
7.虽然肉鸡抓到了,但是也被他们找到是代码的问题了。
这是因为你没擦屁股或者没擦好。最后撤离时要果断、迅速,不要犹豫,不要磨磨蹭蹭。因为他们排除各种原因后,迟早会把矛头指到你的代码上,所以一等他们运行过网站,赶快撤离,别给他们这个机会。
总之,成功几率相当大,因为这个世界上随意的人永远比认真的人多。懒人永远比勤快的人多。
对管理员的警示
你并不能知道客户提的要求是正常的还是恶意的。你所能做的就是坚持这个原则:在任何情况下都不能在服务器上浏览任何网站。如果有困难,至少要做到:在服务器上不能打开任何不受信任的网站(你iis里的站点,自然都在不信任列表里)。
如此,不管敌人多狡猾,都拿你没办法。