Hello there, ('ω')ノ
ブラインドコマンドインジェクションを。
脆弱性:
コマンドインジェクション
RCE
記事:
https://shahjerry33.medium.com/blind-command-injection-it-hurts-9f396c1f63f2
概要 :
コマンドインジェクションは、ホストオペレーティングシステム上で。
任意のコマンドを実行する攻撃の一種で。
コマンドインジェクションは、アプリケーションが安全でないユーザ提供データを。
システムシェルに渡すときに発生して。
入力検証が不十分だと、コマンドインジェクションが可能で。
一般的にコマンドインジェクションを見つけるのは難しいですが。
コマンドインジェクションをテストしているときに下記に気づいて。
多くのペイロードをテストしましたが、何も機能せず。
GET parameter/?search=
Burp Suiteで応答を確認したところ。
「このオブジェクトはJavaScriptスペースにいくつかの%symbols%を格納して。
libsがそれらを読み取れるようにする」
と書かれていたので。
ブラインドコマンドインジェクションである可能性があると考えて。
tcpdumpを使用して調べることに。
この脆弱性を見つける方法:
1.ターゲットのWebサイトにアクセスして。
いくつかの一般的なパラメータ(今回は、/?search=)を確認して。
2.パイプ演算子を使用してペイロードを注入しようとすると応答がなくて。
通常の200OKで。
3.テストに多くのペイロードを使用した結果。
ヌルバイト文字を使用したバイパスである1つだけが機能して。
4.それがブラインドコマンドインジェクションであることを知っていたので。
kaliで、tcpdumpを開始することに。
下記からペイロードを使用できて。
https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection
動作したカスタムペイロードは、下記のとおりで。
http://www.mytarget.com/?search=%00{.exec|ping <MyIP>
ブラインドコマンドインジェクションをチェックするには。
tcpdumpの代わりにwiresharkを使用することもできて。
コマンドインジェクションをテストするためのいくつかの一般的なパラメータ:
/?query=
/?email=
/?id=
/?username=
/?user=
/?to=
/?from=
/?search=
/?query=
/?q=
/?s=
/?shopId=
/?blogId=
/?phone=
/?mode=
/?next=
/?firstname=
/?lastname=
/?locale=
/?cmd=
/?sys=
/?system=
コマンドインジェクションの脆弱性を自動的に検出するための優れたツールがあって。
https://github.com/commixproject/commix
Commixは、Anastasios Stasinopoulosによって作成された自動ツールで。
このツールを使用すると、特定の脆弱なパラメータまたはHTTPヘッダで。
コマンドインジェクションの脆弱性を簡単に見つけて悪用できて。
緩和策:
コマンドインジェクションを防ぐために、アプリケーション層コードから。
OSコマンドを呼び出さないように。
Best regards, (^^ゞ