Shikata Ga Nai

Private? There is no such things.

パストラバーサルの診断方法についてかいてみた

Hello there, ('ω')ノ

 

パストラバーサルについては、ディレクトリトラバーサルと言われたりと。

CVEを見ると、パストラバーサルが推奨されているのかと。

 

f:id:ThisIsOne:20210404132534p:plain

 

下記は、IPAウェブ健康診断や脆弱性診断ガイドラインに書かれている診断方法で。

 

診断を実施する場所は、ファイル名を扱っている画面や機能で。

パラメータは、下記のとおりで。

 ../../../../../../../../../etc/hosts

 

実際には、このレベルだとよほどセキュリティレベルの低いものしか検知できず。

スキャンだとツールの性能にもよりますが。

 

手動診断だと、まずパラメータに対してペイロードを仕掛けて。

さらにはペイロードもダブルエンコードとトリプルエンコードすることで。

防御をバイパスできる可能性もあって。

下記は、ペイロードの例で。

 

 PARAM_ITEM=../../../../etc/passwd
 PARAM_ITEM=....//....//....//etc/passwd
 PARAM_ITEM=....\/....\/....\/etc/passwd
 PARAM_ITEM=..%252f..%252f..%252fetc/passwd

 

気を付けておきたいのがリクエストの履歴にあるパラメータだけでなく。

レスポンス内にあるパラメータについては、見落としがちだったりと。

 

さらには、パラメータだけでなくURLにおいても診断が必要で。

下記は、その例のひとつで。

 

 http://some.domain.com/static/%5c..%5c..%5c..%5c..%5c..%5c..%5c..%5c/etc/passwd

 

Best regards, (^^ゞ