Shikata Ga Nai

Private? There is no such things.

Break the Logic: Playing with product ratings on a shopping site(600$)を訳してみた

Hello there, ('ω')ノ

 

論理を破る: ショッピング サイトの商品評価で遊ぶを。

 

脆弱性:

 ロジックの欠陥

 パラメータの改ざん

 

記事:

 https://infosecwriteups.com/break-the-logic-playing-with-product-ratings-on-a-shopping-site-600-c9a87fb66a73

 

今回は、主な用途は特定の飲料ショッピングサイトで。

いつものように、サイトのすべての機能と仕組みを学ぶのに時間をかけ。

すべてのユーザのメンバーシップ、パッケージ、およびプロファイルがあり。

 

 

最も重要なことは、プログラムを諦めないことで。

ほとんどの人は、そこに脆弱性が見つからないと感じているため、

頻繁にプログラムを切り替えて。

しかし、そうではなく、時間をかけてサイトの仕組みを学習する必要があり。

だから、時間をかけてウェブサイトのすべての機能を学び、

特定のページと機能をテストし始めて。

 

製品ページをさまよいながら、実際に購入しなくても

飲料を評価できることに気付き。

そのリクエストは次のとおりで。

 

POST /customer/product/product-rating.json HTTP/2
Host: www.xxxx.com
Cookie: xxx
Content-Length: 81
Sec-Ch-Ua: " Not A;Brand";v="99", "Chromium";v="102", "Google Chrome";v="102"
Content-Type: application/json
X-Csrf-Token: xxxxx
Sec-Ch-Ua-Mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36
Sec-Ch-Ua-Platform: "Windows"
Accept: */*
Origin: xxx
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://www.xxx.com/products/xxx
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9,tr;q=0.8

{
"comment":"",
"productId":27044,
"yesOrNo":5,
"sliderRating":5,
"favourite":false
}

 

評価には 2 つのタイプがあり、そのうちの 1 つは

「これをもう一度購入しますか?」という単純な質問で。

はいを選択すると、「yesOrNo:5」が返され、

そうでない場合は、「yesOrNo:1」が返され。

したがって、競合状態を試して、YesOrNo の質問に 1 の値を与えることで、

評価を操作できると考え。

しかし、それはうまくいかず。

 

その他の評価はこちら これは単純な星の評価で、5 つのうち何個の

ハートを付けたいかを選択すると、それがスライダーの評価に返され。

いくつか試してみましたが、そのうちの 1 つは、sliderRating を

150 に変更することで。

フロントエンドとAPIの両方で「150」と表示されて。

応答は次のとおりで。

 

HTTP/2 200 OK
Date: Sat, 25 Jun 2022 19:54:16 GMT
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Security-Policy: 
Expires: 0
Pragma: no-cache
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
Expect-Ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"

{"rating":{"id":113062722,"rating":150.0,"sliderRating":600.0,........}

 

ご覧のとおり、星の評価と「はい」または「いいえ」の質問の両方を操作でき。

これはセキュリティ上の問題ではありませんでしたが、

ビジネス ロジックのエラーとして受け入れられて。

 

Best regards, (^^ゞ