100送出 利用SQL读取注册表
我在本地写了一个SQL连接的工具
请问 我在本地 怎么样利用 SQL可以读取远程的注册表
我在我程序里 写出一个模拟的注册表
然后里面的键和值都要执行SQL语句 返回服务器的键值
xp_regread 需要三个参数
例如 我想读 HKEY_LOCAL_MACHINE 下面的所有内容
如何实现呢???
谢谢大家
问题点数:100、回复次数:63Top
1 楼asd5908()回复于 2006-11-10 19:02:30 得分 0
晕 大家帮帮忙啊~~~~Top
2 楼laoliu666(鹅鹅鹅,曲项向天歌,白毛浮绿水,红掌拨清波。)回复于 2006-11-10 19:32:10 得分 0
帮顶下,路过Top
3 楼zjcxc(邹建)回复于 2006-11-10 19:57:20 得分 0
直接用sql似乎没有这么强的功能Top
4 楼hhhdyj(萤火虫)回复于 2006-11-10 20:09:52 得分 0
关注
Top
5 楼xx_adam(一无所有)回复于 2006-11-10 20:16:29 得分 0
我觉得没有这么强吧?不过sql 中可以调用dos命令的Top
6 楼laoliu666(鹅鹅鹅,曲项向天歌,白毛浮绿水,红掌拨清波。)回复于 2006-11-10 20:22:53 得分 0
关注Top
7 楼xiaoku(野蛮人(^v^))回复于 2006-11-10 20:25:54 得分 0
mark
连老大都这么说了,我看还是变通吧!Top
8 楼wwh999(印钞机V2.0...开发中....)回复于 2006-11-11 08:50:06 得分 0
LZ还是回家做个弹弓 打飞机吧...Top
9 楼xyxfly(All things are difficult before they are easy.)回复于 2006-11-11 08:56:31 得分 0
写一个脚本如vbs
然后用xp_cmdshell调用Top
10 楼caixia615(*^_^*)‵My ɡīr!.ˊ想念妳ˋ 。(*^_^*)回复于 2006-11-11 08:58:44 得分 0
LZ可以考虑自己开发个这样的功能,顶一下!Top
11 楼lovcal(枫兮)回复于 2006-11-11 08:59:20 得分 0
呵呵,感觉应该权限限制吧……Top
12 楼killxtt(我菜我菜我菜菜菜)回复于 2006-11-11 08:59:45 得分 0
既然老大说了不行,我就当来蹭蹭分好了,呵呵Top
13 楼gc_ding(施主,给个妞泡好么)回复于 2006-11-11 09:09:43 得分 0
参考:
http://www.hjcz.org/xy/Article/3/63/2005/20050813653.htmlTop
14 楼libinguest(上善若水)回复于 2006-11-11 12:01:11 得分 0
很强的问题,关注些贴Top
15 楼asd5908()回复于 2006-11-11 13:38:17 得分 0
谢谢大家啊
我在一个程序里看见过
不过不知道怎么实现的 呵呵
就是通过SQLTop
16 楼yukileo()回复于 2006-11-11 19:00:17 得分 0
.......顶了..希望真有这样的办法Top
17 楼zjcxc(邹建)回复于 2006-11-12 15:23:58 得分 0
-- 1. 枚举所有的 Keys
xp_instance_regenumkeys
'HKEY_LOCAL_MACHINE', -- 根, 注册表固定有下面几个
-- HKEY_CLASSES_ROOT
-- HKEY_CURRENT_USER
-- HKEY_LOCAL_MACHINE
-- HKEY_USERS
'SYSTEM' -- 子键, 如果为 NULL, 表示列出根下面的第1层子键
-- 2. 枚举所有的键值及数据
xp_regenumvalues
'HKEY_LOCAL_MACHINE', -- 根, 注册表固定有下面几个
-- HKEY_CLASSES_ROOT
-- HKEY_CURRENT_USER
-- HKEY_LOCAL_MACHINE
-- HKEY_USERS
'SYSTEM' -- 子键, 如果为 NULL, 表示列出根下面的第1层子键
-- 每个键值为一个结果集, 注意, 一般的键值有两列, 有的键值有多列
-- 3. 读取键值
DECLARE @re varchar(8000)
EXEC xp_regread
'HKEY_CLASSES_ROOT', -- 根, 注册表固定有下面几个
-- HKEY_CLASSES_ROOT
-- HKEY_CURRENT_USER
-- HKEY_LOCAL_MACHINE
-- HKEY_USERS
'*', -- 子键, 如果为 NULL, 表示列出根下面的第1层子键
'QuickTip', -- 键值, 如果只指定前面两项, 则用于判断某个 Key 是否存在
@re OUT -- 保存结果的变量, 如果不指定, 则输出为结果集
SELECT @re
Top
18 楼MustKillBush(那个掐死小强的~~)回复于 2006-11-12 15:27:16 得分 0
MarkTop
19 楼zjcxc(邹建)回复于 2006-11-12 15:27:37 得分 0
调用上面三个扩展存储过程就行了
Top
20 楼ttaallkk1(j2ee_lover)回复于 2006-11-13 14:34:37 得分 0
cowTop
21 楼roy_88(中国风_燃烧你的激情!!!)回复于 2006-11-13 14:37:30 得分 0
关注Top
22 楼crazyflower(小狂花,学习中……)回复于 2006-11-13 14:38:31 得分 0
mark,顶老大Top
23 楼xiao_deng()回复于 2006-11-13 14:51:23 得分 0
...Top
24 楼phommy(石头,竹子,诗)回复于 2006-11-13 15:06:46 得分 0
“未能找到存储过程!@#$%”
Top
25 楼lsd1025()回复于 2006-11-13 15:22:48 得分 0
upTop
26 楼bugchen888(臭虫)回复于 2006-11-13 15:54:04 得分 0
master.dbo.xp_instance_regenumkeys 'HKEY_LOCAL_MACHINE','SYSTEM'
----------------------
Server: Msg 22001, Level 16, State 1, Line 0
xp_instance_regenumkeys() returned error 5, '存取被拒。'.
估计是用户权限不够。Top
27 楼Ivan_it()回复于 2006-11-13 16:12:28 得分 0
markTop
28 楼losedxyz(我真的一无所有)回复于 2006-11-13 20:52:05 得分 0
makrTop
29 楼Hopewell_Go(好的在后頭﹗希望更好﹗﹗)回复于 2006-11-13 21:22:38 得分 0
用系统的扩展存储过程,就正如邹老大所说Top
30 楼happyer(飞天老鼠)回复于 2006-11-14 10:06:21 得分 0
扩展存储过程,除非是自己的服务器,或者网管是菜鸟,否则一般不会允许使用的。
一般来说SQL的帐户不会给这个权限的。
因此,还是变通一下,通过中间件处理更好些。
PS:难道楼主在黑谁的服务器?
never evil. just research.Top
31 楼phommy(石头,竹子,诗)回复于 2006-11-14 12:06:08 得分 0
请问:
什么叫“扩展存储过程”?
为什么我直接在企业管理器里敲函数名说是“无法找到”...Top
32 楼sefeng1982(色风)回复于 2006-11-14 12:20:28 得分 0
服务器: 消息 22001,级别 15,状态 1,行 0
执行 Read 扩展存储过程时出错: 参数无效Top
33 楼real_name(*真名)回复于 2006-11-14 12:34:45 得分 0
upTop
34 楼jiahehao(风林火山)回复于 2006-11-14 13:53:13 得分 0
mark;Top
35 楼victorxiang(维克厢)回复于 2006-11-14 14:11:28 得分 0
挑战Mico啊Top
36 楼aps21()回复于 2006-11-14 14:13:48 得分 0
关注.........Top
37 楼fish_yht(百行孝为先,万业勤为径。)回复于 2006-11-14 14:24:37 得分 0
markTop
38 楼xn000(涵夫)回复于 2006-11-14 15:31:10 得分 0
Study
Top
39 楼wf5360308(冷月孤峰)回复于 2006-11-14 15:50:05 得分 0
都是猛男啊,顶Top
40 楼syh_2ty()回复于 2006-11-14 18:43:08 得分 0
markTop
41 楼zyd772()回复于 2006-11-14 21:50:08 得分 0
始终注视!!Top
42 楼yaoqiubugao()回复于 2006-11-14 22:04:56 得分 0
学习~Top
43 楼inshua(孟昭)回复于 2006-11-14 22:15:36 得分 0
:)
select key, value from reg
where prior id=parent_id
start with id='HKEY_LOCAL_MACHINE '
Top
44 楼asd5908()回复于 2006-11-14 22:26:43 得分 0
我没有黑谁的服务器 呵呵~~
我只是见过一个SQL综合利用工具
他的注册表的功能不够 强大~~~
想增强一下
但是技术不过关 ~关~~~Top
45 楼exocell()回复于 2006-11-15 03:26:58 得分 0
玩过SQL注入的都知道.^^ DECLARE @result unique ... ster.dbo.xp_regreadTop
46 楼wadsunglow(东)回复于 2006-11-15 08:46:26 得分 0
markTop
47 楼galant2008(無賴)回复于 2006-11-15 09:05:47 得分 0
强贴,顶一下.
弱弱问下,用SQL能开机关机吗?Top
48 楼milchcow(MilchCow)回复于 2006-11-15 11:00:20 得分 0
强贴,顶一下.
弱弱问下,用SQL能格式化硬盘吗?Top
49 楼clal(凌风)回复于 2006-11-15 12:14:51 得分 0
mark
Top
50 楼laihui110()回复于 2006-11-15 12:51:57 得分 0
markTop
51 楼nyzfl(小丫头是我心爱的女人 My-Blog地址:http://fenglin.xland.cn)回复于 2006-11-15 12:53:27 得分 0
不懂,学习Top
52 楼junmail(浪子)回复于 2006-11-15 13:02:17 得分 0
mark!Top
53 楼8412230(阿朋)回复于 2006-11-15 13:11:50 得分 0
听说SQL能在裸机上创建操作系统Top
54 楼yyszh(追求完美)回复于 2006-11-15 15:38:19 得分 0
强贴,顶一下.
弱弱问下,用SQL能杀人吗?Top
55 楼eaststarwy(我宁可相信这世界有鬼也不相信女人那张嘴)回复于 2006-11-15 15:43:42 得分 0
恩,關注一下,別讓此帖走歪路,糾正糾正Top
56 楼iszhe(深深的蓝)回复于 2006-11-15 16:21:52 得分 0
强烈关注Top
57 楼qiusp001()回复于 2006-11-15 17:32:29 得分 0
markTop
58 楼popchild(欧罗巴骚客贩)回复于 2006-11-15 18:04:20 得分 0
four diamonds -_-|||Top
59 楼easyanywhere(自由自在)回复于 2007-04-04 16:07:31 得分 0
需要区分数据库所在操作系统版本
1、xp或者2003,可以运行以下语句
xp_cmdshell 'reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"'
该查询在xp和2003上结果稍有不同,比较容易分析出来
2、如果是win2000或者更低版本
可以通过c语言编写扩展存储过程实现Top
60 楼easyanywhere(自由自在)回复于 2007-04-04 16:50:57 得分 0
zjcxc(邹建)的方法比较简单Top
61 楼onlyonereason(学习sql中..|学习js中..|打字只是我的表面工作,其实我的真正身份是个程序员)回复于 2007-04-04 17:01:07 得分 0
学习
邹老大 :)Top
62 楼woodcord(我心飞翔)回复于 2007-04-04 17:04:00 得分 0
学习Top
63 楼lxsfg(飞飞)回复于 2007-04-04 17:24:11 得分 0
告诉LZ一个简单方法就是拿C#写一个存储过程,巨简单Top




