権限を取得するためのファイルのアップロード方法に関する簡単な説明
概要
ファイル アップロードの脆弱性は、アップロード機能を備えたアプリケーションで発生します。アプリケーションがユーザーのアップロード ファイルを制御できない場合、または欠陥がある場合、攻撃者はアプリケーションのアップロード機能の欠陥を悪用して、トロイの木馬をアップロードする可能性があります。ウイルスやその他の有害なファイルをサーバーに送信し、サーバーを制御します。
この脆弱性の原因と危険性
ファイル アップロードの脆弱性の主な理由は、アプリケーションにアップロード機能があるにもかかわらず、アップロードされたファイルが厳格な合法性テストやテストを受けていないことです。機能に欠陥があるため、トロイの木馬ファイルがサーバーにアップロードされます。ファイル アップロードの脆弱性は、悪意のあるコードがサーバーに直接アップロードされる可能性があるため、非常に有害であり、サーバーの Web ページの改ざん、Web サイトのハング、サーバーのリモート制御、バックドアのインストールなどの重大な結果を引き起こす可能性があります。
以下では、ファイル アップロードのいくつかの検証およびバイパス方法について説明します:
1. ローカル検証 (フロントエンド検証)
フロントエンド JS フィルタリングはアップロードの脆弱性を回避します。アプリケーションのため、プログラムはプログラムのバックエンドではなく、フロントエンドの JS コードを通じて検証されるため、フロントエンドの JS コードを変更することで、アップロード フィルタリングをバイパスし、トロイの木馬をアップロードできます。
では、フロントエンド検証であるかどうかを判断するにはどうすればよいでしょうか?個人的には、アップロードしてパケットをキャプチャするときにデータパケットを取得できるかどうか、データが流れているかどうか、アップロードした画像ページにアップロードした画像アドレスが表示されるかどうかなどを確認できるのではないかと考えています。
バイパス: フィルタリング コードを削除し、JavaScript を変更または無効にします。
2. バックエンド検証とバイパス
ファイル アップロードの一般的な検証: サフィックス名 (直接検証)、ファイル、ファイル ヘッダー (間接検証)。
2.1 サフィックス名
2.1.1 ブラックリスト (アップロードが明示的に許可されていないスクリプト形式のサフィックス)
ファイル名フィルタリング バイパスの脆弱性ファイルのアップロードのタイプはブラックリストによって決定され、完全なフィルタリングがないため、攻撃者はブラックリストのタイプ以外にファイルをアップロードする可能性があります。
ブラックリストの判定方法: ファイルをアップロードすると、xxx 形式のファイルのアップロードが許可されていないことを示すメッセージが表示されます。
バイパス: 他の形式 (php5、Phtml、php3) またはファイルケースを使用し、いくつかの干渉シンボルを追加してバイパスを実現することもできます。
2.1.2 .htaccess (擬似静的プロトコル) - 書き換え分析 (Apache でのみ利用可能で、擬似静的モジュールを有効にします)
.htaccess ファイルのアップロードは次のとおりです。 .htaccess を使用して実行 このファイルは、jpg や png などの拡張子が付いているファイルを PHP ファイルとして解析する処理を実現する Web サーバーの機能を設定できます。
.htaccess ファイル (分散構成ファイル) は、ディレクトリごとに構成を変更する方法を提供します。1 つ以上の構成ディレクティブを含むファイルは特定のドキュメント ディレクトリに配置され、ディレクティブは次のディレクトリに適用されます。このディレクトリとそのすべてのサブディレクトリ。 .htaccessはWebサーバーの設定ファイルで、Webサーバーにおける定義ファイルの解析方法やリダイレクトなどの設定を行うことができます。
バイパス方法: まず、1.htaccess ファイルをアップロードします。 2. 写真を再度アップロードします。
2.1.3 スペースのバイパス
バイパス方法: バイパスを実現するには、データ パケット内のファイル サフィックス名の後にスペースを追加します。
2.1.4. バイパス
バイパス方法: スペース バイパス方法と同様に、データ パケット内のファイル サフィックス名の後に . を追加してバイパスを実現します。
2.1.5 ::$data bypass
Windows 独自のプロトコルで、Windows ではファイル名「::$DATA」を指定すると::$DATA の後のデータをファイル ストリームとして、サフィックス名をチェックせずに、::$DATA より前のファイル名を保持します。その目的はサフィックス名をチェックすることではありません。
2.1.6 ループ フィルタリング
バイパス: コードは文字列内の php を何も置き換えません。
例: a.pphphp は ->a.
になります。2.1.7 ホワイトリスト: アップロードできる形式のサフィックスをクリアします (より安全です)
3. ファイル タイプの検証
3.1 ファイル ヘッダーの検出: ファイル ヘッダーの内容情報 (gif89a など)
さまざまなファイルには特定のファイル ヘッダー形式があり、開発者はファイルをチェックしてファイルをアップロードします。ヘッダーはファイル タイプを検出しますが、この検出方法はバイパスすることもできます。対応するファイル ヘッダーがトロイの木馬ファイルのヘッダーに追加されている限り、トロイの木馬ファイルの通常の動作に影響を与えることなく検出をバイパスできます。
一般的なファイル ヘッダーは次のとおりです。
JPEG 0xFFD8FF
PNG0 x89504E470D0A1A0A
GIF 47 49 4638 39 61 (GIF89a)
ラップ方法:
- ヘッダー情報を変更して欺瞞を実現します。たとえば、画像ファイルのファイル ヘッダーをトロイの木馬のヘッダー ファイルに追加すると、検出を回避できます。
#
?>
絵馬を作成- 画像にトロイの木馬という文を直接挿入してアップロードします。 ——ファイルインクルードの原則を使用します。
cmd コマンドを使用して、通常の画像 1.jpg と、一文のトロイの木馬を含む a.txt ファイルを新しい test.php トロイの木馬ファイルに結合します。
cmd コマンド: 1.jpg/b a.txt test.php をコピーします。
3.2 Content-Type の検出
Content-Type は、ネットワーク ファイルのタイプと Web ページのエンコーディングを定義するために使用され、ファイル受信者にどの形式とエンコーディングであるかを伝えるために使用されます。ファイルを読み取ります。異なるファイルは異なる Content-Type に対応します。たとえば、jpg ファイルの Content-Type は image/jpeg、php ファイルの Content-Type は application/octet-stream です。 Content-Type はデータ パケットのリクエスト ヘッダーにあり、開発者は Content-Type タイプを使用して、ファイルのアップロードが許可されているかどうかを判断します。
バイパス: Content-Type のタイプはパケット キャプチャを通じて改ざんできるため、パケットをキャプチャしてデータ パケットの Content-Type を変更し、Content-Type の判定をバイパスできます。
MIME: タイプを判断してファイルのサフィックス名を推測し、パケット キャプチャ ツールを使用して Content-Type を改ざん (image/pjpeg、image/jpeg、image/gif に変更するなど) できます。 、image/png. フィルタリングをバイパスすることもできます。
4. 内容とその他
4.1 論理的安全性: 条件付き競合 (システム占有に相当)
定義: 競合条件とは、複数のスレッドがロック操作を実行しない、またはロック操作を実行しない場合を指します。同期操作では、同じ共有コード、変数、ファイルなどに同時にアクセスします。操作の結果は、異なるスレッドがデータにアクセスする順序によって異なります。まずファイルをサーバーにアップロードし、サーバーはルールに従って画像を保存するか削除するかを選択します サーバーに保存される前にファイルの正当性がチェックされないという脆弱性があります 保存後にファイルのチェックは行われますが、競合状態の脆弱性を介して、ファイルが渡されます。 ファイルを書き込む機能を持つトロイの木馬をアップロードし、削除する前にアップロードされたトロイの木馬にアクセスして、新しいトロイの木馬を書き込みます。
バイパス: ファイルをサーバーにアップロードした後、ファイル パスへのアクセスを継続します。条件が競合するため、Web シェルをアップロードする目的は達成されます。この脆弱性は、リクエストを送信し、継続的にアップロードすることによって悪用されます。このようなアクセスは、新しいトロイの木馬ファイルを生成し、このファイルに継続的にアクセスするための別のリクエストを送信します。競合状態のエクスプロイトが成功すると、新しいトロイの木馬が生成されます。
4.2 ディレクトリの命名
バイパス: -x.php/.
のように、アップロードの目的を達成するためにサーバーにファイルをフォルダーとして認識させるには、/. サフィックスを追加します。5. その他の脆弱性
スクリプト関数の脆弱性-cve
CVE-2017-12615
CVE-2015-5254
CVE-2019- 2618
....
これらの脆弱性を悪用する方法については、オンラインでチュートリアルが公開されているので、興味のあるマスターは情報を確認してください。
6. ミドルウェア解析の脆弱性
6.1 IIS 6.0 解析の脆弱性
解析の脆弱性を迅速に判断 /.php でコード化けがないか確認してください。存在する場合は存在し、存在しない場合は存在しません。
6.1.1 フォルダとして実行します
通常のファイル名:image/aa.jpg。
バイパス: image.asp/aa.jpg aa.jpg は asp として解析されます。
6.1.2 ファイルとして実行
通常のファイル名:image.jpg。
バイパス: image.asp;.jpg または xxx.asp;xxx.jpg このファイルは asp として実行されます。
aspをphpに変更すればphpとして実行できるようになります。
7.WAF バイパス
WAF をバイパスするには、次のようなパラメータを変更できることを知る必要があります。
Content-Disposition: 一般的に変更可能。- 名前: フォームパラメータ値。変更できません。
- filename: ファイル名は変更可能です。
- Content-Type (ファイル独自のタイプ): ファイル MIME、必要に応じて変更します。
- waf バイパスの核心は、バイパスを試みるために変更できるパラメーター名の後のテストを常に変更することです。
- 一般的なバイパス方法:
7.1 データ オーバーフロー (ジャンク データの埋め込み)
WAF 検出制限を使用して、大量のジャンク データを追加します。オーバーフローの脆弱性と同様に、干渉データは通常、アップロード パラメータの後に追加できます。ジャンク データとパラメータの間に ; を追加することを忘れないでください。そうしないと、データ パケットでエラーが報告されます。
7.2 シンボルの突然変異 ('";)
プログラム開発の脆弱性を利用して、アップロードの目的を達成するために、データ パッケージ内のアップロード パラメータ内のシンボルを置換、追加、削除します。# など##
例: x.jpg;.php セミコロンはデータの終わりを表します。
7.3 データの切り捨て (
以上が権限を取得するためのファイルのアップロード方法に関する簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホット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)

ホットトピック











ルート権限は、Android システムの管理者権限です。 root 権限を取得するには、通常、一連の面倒な手順が必要ですが、これは一般ユーザーにとってはあまり使いやすいものではないかもしれません。この記事では、ワンクリックで root 権限を有効にすることで、ユーザーがシステム権限を簡単に取得できるシンプルかつ効果的な方法を紹介します。 root 権限の重要性とリスクを理解し、root 権限を使用すると、ユーザーは携帯電話システムを完全に制御できるようになります。セキュリティ管理を強化し、テーマをカスタマイズし、ユーザーはプリインストールされたアプリケーションを削除できます。ただし、たとえば、システム ファイルを誤って削除してシステム クラッシュを引き起こしたり、root 権限を過剰に使用したり、マルウェアを誤ってインストールしたりすることも危険です。 root権限を使用する前に

C 言語を学習するための Web サイト: 1. C Language Chinese Website; 2. Rookie Tutorial; 3. C Language Forum; 4. C Language Empire; 5. Script House; 6. Tianji.com; 7. Red and Black Alliance; 8, 51 自習ネットワーク; 9. リコウ; 10. C プログラミング。詳細な紹介: 1. C 言語中国語 Web サイトは、初心者向けの C 言語学習教材を提供することに特化した Web サイトであり、基本的な文法、ポインタ、配列、関数、構造体およびその他のモジュールを含む豊富なコンテンツが含まれています; 2. ルーキー チュートリアル、プログラミング学習などの総合サイトです。

QQ スペースで許可アクセスを設定するにはどうすればよいですか? QQ スペースで許可アクセスを設定できますが、ほとんどの友達は QQ スペースで許可アクセスを設定する方法を知りません。次は、QQ スペースで許可アクセスを設定する方法の図です。ユーザー向けのエディタです。テキストチュートリアルです。興味のある方はぜひ見に来てください。 QQ 使い方チュートリアル QQ スペース アクセス権限の設定方法 1. まず QQ アプリケーションを開き、メインページの左上隅にある [アバター] をクリックします; 2. 次に、左側の個人情報領域を展開し、[設定] 機能をクリックします左下隅にある; 3. 設定ページに移動します スワイプして [プライバシー] オプションを見つけます; 4. 次にプライバシー インターフェイスで、[アクセス許可設定] サービスを選択します; 5. 次に、最新のページに挑戦し、[スペース ダイナミクス] を選択します]; 6. QQスペースに再度セットアップします

gRPC を使用してファイルのアップロードを実装するにはどうすればよいですか?リクエストおよびレスポンスメッセージを含むサポートサービス定義を作成します。クライアントでは、アップロードされるファイルが開かれてチャンクに分割され、gRPC ストリーム経由でサーバーにストリーミングされます。サーバー側では、ファイル チャンクが受信され、ファイルに保存されます。ファイルのアップロードが完了すると、サーバーはアップロードが成功したかどうかを示す応答を送信します。

Discuz フォーラムの権限管理: 権限設定ガイドをお読みください。 Discuz フォーラム管理では、権限設定は重要な部分です。その中でも、読み取り権限の設定は、フォーラム内でさまざまなユーザーが表示できるコンテンツの範囲を決定するため、特に重要です。この記事では、Discuz フォーラムの読み取り許可設定と、さまざまなニーズに合わせて柔軟に設定する方法を詳しく紹介します。 1. 読み取り権限の基本概念 Discuz フォーラムでは、読み取り権限には主に次の概念が含まれており、理解する必要があります。 デフォルトの読み取り権限: 新規ユーザー登録後のデフォルト

回答: はい、Golang はファイルのアップロード処理を簡素化する機能を提供します。詳細: MultipartFile タイプは、ファイルのメタデータとコンテンツへのアクセスを提供します。 FormFile 関数は、フォーム要求から特定のファイルを取得します。 ParseForm 関数と ParseMultipartForm 関数は、フォーム データとマルチパート フォーム データを解析するために使用されます。これらの機能を使用すると、ファイル処理プロセスが簡素化され、開発者はビジネス ロジックに集中できるようになります。

Golang でドラッグ アンド ドロップ ファイルのアップロードを実装するにはどうすればよいですか?ミドルウェアを有効にし、ファイルのアップロード要求を処理します。ドラッグ アンド ドロップ領域の HTML コードを作成し、ドラッグ アンド ドロップ イベントを処理するための JavaScript コードを追加します。

この記事では、TI の本質を理解し、powershell および NtObjectManager モジュールを利用して TI 権限を取得し、オペレーティング システムで必要な操作を完了する方法をさらに詳しく説明します。 Windows システムを管理したことがある場合は、trustedInstaller (TI) グループの概念に精通しているはずです。 TI グループは、システム ファイルとレジストリの操作における重要な権限を持っています。たとえば、System32 フォルダにあるファイルのプロパティを表示できます。セキュリティ オプションでは、TI グループとファイル所有者にファイルの削除と変更の権限があります。管理者であってもセキュリティ オプションを直接変更することはできません。したがって、システムファイルとレジストリの操作には、次のことが必要です。
