ホワイトハットの 3 つの課題の第 3 フェーズの簡単なアイデア (PHP デシリアライゼーションとの最初の接触)
3 つのホワイトハットに関する別の問題がここにあります。いくつかの理由により、ここでは一般的なアイデアについてのみ説明し、詳細には触れません。主にデシリアライズとのファーストコンタクト。新しい姿勢を覚えたような気がします。笑
1. インターフェースは変わっていません。ユーザー登録してログインするだけです。
2. ログイン後、コントロールパネルを選択するオプションが表示されます。1 つは管理者パネルのオプションで、もう 1 つは通常のメンバーのパネルオプションです。権限を越える必要があるのは明らかです。
3. ヒントによると、0x を使用して管理者権限を直接アップグレードできます。
4. 管理者インターフェイスに入り、記事を編集でき、検索オプションがあります。コードの観点からは、インジェクションがあることは明らかです
5. インジェクションを使用してシェルを作成する準備をします。 mysql 権限が十分ではないため、Web ディレクトリに書き込むことができないことがわかります。Enter を押すと、他のディレクトリに書き込むことができます。
6. グループ内の特定の牛からデシリアライズするようリマインダーを受け取り、即座に理解します。私はいくつかの逆シリアル化情報を読みに行き、Joomla の逆シリアル化の脆弱性に関する Pniu の分析を注意深く読みました。
7. 次にコードを監査すると、脆弱性のトリガー ポイントが見つかったことが明らかです
パスは cach/md5(username).txt です
コードのこの部分の一般的な意味は、ユーザーがログイン後に逆シリアル化されます。パス ファイルの内容を変換すると、デストラクター __destruct() がすぐに前の変数を文字列にシリアル化します。次に、それをパスに書き込みます。
八、
実際、この時点で大まかな考え方はすでに明らかになっています。インジェクションポイントを検索して、キャッシュディレクトリに md5(username).txt ファイルを書き込みます。その内容はシリアル化された文字列です。パスが含まれており、パスの値は文の絶対パスです。次に、変数名をコンテンツに追加します。この文字列を作成するときは、形式要件が非常に厳しいので注意してください。エラーは常に報告されます。多くの落とし穴に遭遇しました。シリアル化のドキュメントを参照することをお勧めします。
デモをしてください。
x:i:3;a:0:{};m:a:2:{s:4:"パス";s:36:"/var/www/html/public/upload/xxxx.php" ;s:4:"test";s:24:"";}
おそらく次のようになります。他のものは自分で変更できます
書き込み後、コンストラクターが逆シリアル化するときに、$path はすでに /var/www/html/public/upload/xxxx.php になっています。シリアル化後の $cache は x:i:3;a:0:{};m:a:2:{s:4:"path";s:36:"/var/www/html/public/upload / xxxx.php";s:4:"test";s:24:"";} これで終わりです。file_put_cntents 関数を渡した後、public に移動します。 / 文を含む php ファイルがアップロード ディレクトリに書き込まれています
ここで言及する 2 つの点:
1. ユーザー名は登録されていない必要があります。登録されている場合、ファイルはキャッシュ ディレクトリに存在します。 SQLインジェクションは書き込めません。したがって、MD5 (未登録のユーザー名).txt を挿入して書き込み、そのユーザー名を登録すると、書き込んだファイルに牛が正常にロードできるようになります。
2. ファイルを書き込むときは、16 進数表記を使用してください。そうしないと、文字列内の ';' が削除されます。このように、union select 1,xxxxx,3 を書き込まないでください。これは、数値をファイルに書き込むことになるためです。シリアル化にはダーティ データを含めることができない文字列が必要なので、このように記述すると逆シリアル化は失敗します。なので、このように、union select 0xxxxxx,'','' と書くことをお勧めします
簡単に書いていますが、何か間違っているかもしれませんが、ご容赦ください

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

2012年のFacebookによる有名な買収に続いて、Instagramはサードパーティの使用のために2セットのAPIを採用しました。これらはInstagramグラフAPIとInstagram Basic Display APIです。

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています
