求助啊,杀千刀的数据库代码植入。求应对方法。。。
程序是vs2005 C#开发的,数据库是sql server 2005,开始我以为是数据库权限太大引起了,建了新用户,单给的权限,还照样被植入。。。
360检测,以前是[高危]跨站脚本攻击漏洞,后来我下载了360的防护脚本代码【主要功能:拦截攻击者注入恶意代码,可以防御诸如跨站脚本攻击(XSS)、SQL注入攻击等恶意攻击行为】,现在是99分,但依旧被注入。。。。。。。。
测试地址:http://test.ybxx.org
这种被强奸的感觉我受够了!!!!!!!!!!!!!求指点。。。万谢 代码植入 暴库 挂马
[解决办法]
SQL注入攻击并不是直接用数据库用户名和密码侵入数据库
而是在你的网站页面上,能输入信息的地方,通过输入一些特殊的sql语句(修改字段,删除数据等等),而你在保存数据的方法处没有过滤SQL语句,那么就会直接把这种SQL语句给执行了,比如注入的SQL语句中有修改字段X 为 攻击者想要的</title><style>.a9yo{position:absolute;clip:rect(436px,auto,auto,436px);}</style><div class=a9yo>Apply here <a href=http://paydaycashloansuoafm.com >payday cash loans</a> online</div>, 那么结果就是被修改了。
按照你说的几乎所有的大于100长度的都被修改了,那说明你所有的用户能提交内容的地方都没有进行SQL过滤。
我说的那个能防护SQL注入攻击的软件叫 网站安全狗 //声明,绝对不是打广告,它是免费的。
是网站安全狗,不是服务器安全狗, 两个东西是一家公司的,但是你需要的是网站安全狗,能跟IIS直接绑定(不是IIS的WEB服务器也有对应的版本)
至于是否好用,你要自己甄别, 也应该存在其他的防护SQL注入的软件,但我目前只追到这一个,因为很少遇到这种问题, 最根本的做法是在录入数据的方法处进行过滤
[解决办法]
“6万多条旧数据被附加了... ”
可以肯定的是,你的网站已被拿下了。
即使最初攻入的方法是 SQL 注入,现在堵上也没有用的,因为肯定会留下后门,而后门的方式五花八门,很难找的。
所以,如果是我,就这样:
1、备份数据库,全站删除,然后全站重新发布;
2、更改数据库连接字符;
3、堵上 SQL 注入漏洞,及其他能想到的漏洞;
4、如果时间紧,注册、登录先使用存储过程,这个是必须的;
5、更改管理密码。
为防止再次被黑,能够快速找到后门之所在:
6、记下网站文件系统 HASH 值(不包括数据库);
7、出现问题,进行 HASH 比对,快速找出 HASH 变化文件;
8、对 HASH 值变化了的文件,进行分析并覆盖恢复;
9、跟据分析,找出应对办法。
[解决办法]
打开楼主的主页,貌似有AJAXPRO的请求,为何是个POST呢
突然看见了
http://test.ybxx.org/ajaxpro/WebUserControlBottom,App_Web_webusercontrolbottom.ascx.cdcab7d2.ashx?%7B%22typ%22%3A%2210%22%7D=
问号后面的转义下,就得到了下面的东东
{"typ":"10"}=
看返回结果,貌似都是请求的结果,不过慢慢找嘛
new Ajax.Web.DataTable([["spanId","System.String"],["infoCount","System.Int32"]],[["1_1",1552],["1_2",9877],["1_3",514],["1_4",42],["1_5",500],["1_6",38],["1_7",80],["1_9",35],["1_10",80],["1_11",16],["1_8",53]]);/*
而后以new Ajax.Web.DataTable 为搜索关键词,如果楼主在后台没有做参数化查询结果
基本上设防等于0
[解决办法]
请把内容进行HTML代码过滤,再进行JS代码过滤,最后再进行SQL关键字和危险字符过滤。
然后SQL参数化赋值。
弄好上面这些步骤后,请查看程序里所有用到第三方在线编辑器的页面,特别是那种JS在线编辑器,请从官方网下载,不要从国内一些加工过的网站上下载插件,然后,根据官方的文档说明,把握好像文件上传功能之类的安全属性配置。
最后一步,请把程序编译后再发布到服务器上,同时把服务器里的IIS的扩展应用中的支付ASP应用程序服务给禁止掉,现在好多马儿都是ASP语言的
提醒:各页面控件编码时,建议不要使用数据库表名和字段名来给各控件命名,不然黑客一看HTML源文件就知道你的数据表结构。还有,就是像用户名和用户密码这两个输入框的数据,在登陆前也要做安全验证,很多新手忘记这两个数据的安全控制