The $2,000 Bug That Changed My Life: How a Tiny URL Parameter Broke Web-Store Pricing !!
好,我需要帮用户总结这篇文章的内容,控制在100字以内。首先,文章讲的是作者在一个汽车零部件的市场网站上发现了安全漏洞。他最初尝试修改价格参数但没有成功,后来在支付过程中发现了一个关键参数id_product_feature_set。通过设置这个参数为-1,他成功将商品价格改为了0。最终,公司认为这是一个严重漏洞,并给了他赏金。 总结的时候,要抓住主要点:发现漏洞、参数修改、价格变为0、赏金奖励。同时要注意用简洁的语言表达,避免使用复杂的术语。确保整个总结流畅自然,不超过100字。 </think> 作者在一个汽车零部件市场网站上发现了一个安全漏洞,通过修改URL参数id_product_feature_set为-1,成功将商品价格变为0,并获得了赏金奖励。 2025-10-30 09:0:17 Author: infosecwriteups.com(查看原文) 阅读量:6 收藏

Helmiriahi

Hello Hackers — hope you’re well.
Today I’m sharing a short write‑up about a recent finding on a private program — I’ll call the site
EXAMPLE.COM.

While scrolling a popular car‑parts marketplace with a friend I joked, “I could change every product price on this site.” He laughed. That challenge stuck with me — three days later I found a tiny URL parameter that made a paid product free. Let’s dive in.

I wasn’t hunting general bugs — I only wanted to change product prices.

Press enter or click to view image in full size

When I clicked the price on a product page it returned an ID and the price. My first thought was the usual: tweak that parameter and the price will change(699 EUR→0) — classic parameter tampering. I tried it — nothing happened.

Somehow, I started thinking about following the payment steps. I tried to change the price just before the request went to the Visa payment, attempting to tweak it right before the final call to the payment API. That’s when I noticed another request — it was fetching the product ID again.

Press enter or click to view image in full size

And here’s where I found something spicy! Can you see it?

The spicy parameter: id_product_feature_set

While digging, I noticed this parameter in the request:

id_product_feature_set

I wondered what would happen if I tried -1. Turns out, a few things can go wrong:

1. Broken database lookup
The server likely runs something like:

SELECT price_modifier FROM product_feature_set WHERE id = -1;

→ No result → fallback = 0 → price = base_price + 0 = 0.

2. Error in price calculation
If the backend just adds the feature price from an array:

$total_price = base_price + feature_set_price[$id_product_feature_set];

and $feature_set_price[-1] doesn’t exist, the total becomes 0.

3. Application logic flaw
Some systems treat missing or invalid features as “no price,” defaulting the total to 0 so checkout isn’t blocked.

and here i make the product price to 0 EUR

Press enter or click to view image in full size

In the end, the company recognized it as a critical vulnerability, and I received the bounty reward.

Thanks for following along!

Contact :

helmi riahi | LinkedIn


文章来源: https://infosecwriteups.com/the-2-000-bug-that-changed-my-life-how-a-tiny-url-parameter-broke-web-store-pricing-7275c3d1204b?source=rss----7b722bfd1b8d--bug_bounty
如有侵权请联系:admin#unsafe.sh