ファイルに脆弱性が含まれています
ファイルには何が含まれていますか:
コードをよりよく使用するために 再利用性、ファイルインクルード機能を導入し、ファイルインクルード機能でファイルをインクルードでき、インクルードファイルのコードを直接使用できるようになりました。
このファイルには、脆弱性の原因が含まれています。
ファイルを柔軟に含めるために、含まれるファイルは変数として設定されます。含める必要のあるファイルが動的変数を介してインポートされると、ユーザーは変数を制御でき、サーバー側のガード変数の値が検証またはバイパスされます。
このファイルには次の機能が含まれています。
include() // 找不到被包含文件时产生警告,脚本继续执行
include_once() // 与include类似,但如果该文件的代码已经被包含,则不会再次包含
require() // 找不到被包含文件时产生错误,脚本停止
require_once() // 与require类似,但如果该文件的代码已经被包含,则不会再次包含
このファイルには例が含まれています。
ファイルインクルードは、ローカルインクルードとリモートインクルードに分けられます。
(1)ローカルに含める:
<?php
include($_GET["page"]);
?>
制御可能な変数ページに入ります。
ローカルインクルードでは、ファイルの種類に関係なく、ファイルの内容がPHP構文仕様に準拠している限り、任意の拡張子をPHPで解析できます。
(2)リモートに含まれるもの:
リモートインクルード関数は、php.ini構成ファイルで変更する必要があります。
allow_url_include = Off // OffをOnに変更します
http://192.168.31.169/ディレクトリにtest.txtファイルがあります。
<? php
echo "Hello World ";
?>
輸入ページ= http://192.168.31.169/test.txt:
PHPファイルの使用には次のものが含まれます。
(1)機密ファイルを読み取る
一般的な機密情報パス:
①Windowsシステム。
道 | 特徴 |
---|---|
C:\ boot.ini | システムバージョンを表示 |
C:\ windows \ system32 \ inetsrv \ MetaBase.xml | IIS構成ファイル |
C:\ windows \ repair \ sam | Windowsシステムの最初のインストール用のパスワードを保存します |
C:\ Program Files \ mysql \ my.ini | Mysql構成 |
C:\ Program Files \ mysql \ data \ mysql \ user.MYD | Mysqlルート |
C:\ windows \ php.ini | php構成情報 |
C:\ windows \ my.ini | Mysql構成ファイル |
②Linuxシステム。
道 | 特徴 |
---|---|
/ etc / passwd | |
/usr/local/app/apache2/conf/httpd.conf | apache2のデフォルト設定ファイル |
/usr/local/app/apache2/conf/extra/httpd-vhosts.conf | 仮想ウェブサイトの設定 |
/usr/local/app/php5/lib/php.ini | PHP関連の設定 |
/etc/httpd/conf/httpd.conf | Apache構成ファイル |
/etc/my.cof | Mysql構成情報 |
(2)PHPカプセル化プロトコルを使用する
一般的な疑似プロトコルとその使用法:
疑似合意 | 使用法 |
---|---|
ファイル:// | ?file = file://絶対パス |
php:// filter | ?file = php://filter/read=convert.base64-encode/resource=relative path |
php:// input | ?file = php:input(POSTMOSFET参<?phpphpinfo()?>) |
zip:// | ?file = zip:// abstract path / xxx.zip#1.txt(1.txtはzip形式のファイルです) |
データ:// | ?file = data:// text / plain、<?php phpinfo()?>または?file = data:// text / plain; base64、编码 |
php:// inputを使用する場合は、allow_url_include = Onであることを確認してください