Shikata Ga Nai

Private? There is no such things.

File path traversal, validation of file extension with null byte bypassをやってみた

Hello there, ('ω')ノ

 

ヌルバイトバイパスを使用したファイル拡張子の検証を。

詳細を選択して。

 

f:id:ThisIsOne:20210227172612p:plain

 

下記のペイロードを入力するとエラーが。

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

 

f:id:ThisIsOne:20210227172931p:plain


さらに下記のペイロードを入力してもエラーが。

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

 

f:id:ThisIsOne:20210227172902p:plain

 

下記のペイロードを入力してSendすると。

 ../../../etc/passwd%00.png

 

f:id:ThisIsOne:20210227173033p:plain

 

クリアできた。

 

f:id:ThisIsOne:20210227173118p:plain

 

これは、ヌルバイトポイズンで。

ユーザにファイルの提供を許可する場合は、変数$fileへのユーザ入力を読み取って。

許可されていないファイルを開かないようにファイル拡張子を使用しようとして。

 

 open(FILE,"$file.html");

 close(FILE);

 

このスクリプトで開くことができるのは* .htmlファイルだけだと思う​​かもしれなくて。

ただ、/etc/passwd%00などにnullバイトが追加されていると。

このスクリプトは、/etc/passwd%00.htmlではなく/etc/passwdを開くことになって。

 

Best regards, (^^ゞ