Adgregate ShopAd widget validation is vulnerable to replay attack
Adgregate is a "TechCrunch 50" startup that recently signed a
distribution deal with Google/DoubleClick [1]. As a service, they
offer a "viral widget" intended to be hosted on untrusted third-party
sites through which consumers can enter their credit card information.
According to their website, they offer over 1.2 million products
through this service. More details can be found at [2].
Consumers are able to validate that their data entry is secure by
clicking on a "validate this widget" button within the widget.
However, the widget proves itself by simply POSTing an (apparently)
fixed (per ShopAd id) string to a fixed URL, which is trivially
vulnerable to replay attacks. For example, see the (clearly bogus)
widget at [3]. Of course, a more serious attacker would spend more
time reproducing the look-and-feel of the adgregate widget.
Here's the relevant HTML that fakes the validation functionality:
<form method="POST" action="https://secure.adgregate.com/AuthenticWidget.aspx">
<input type="hidden" name="widgetvalid" value="1w23e4r5-ijhyffrd">
<input type="submit" value="Validate this ShopAd!">
</form>
(Bob Ippolito first alerted me to this service and provided the above
HTML form snippet.)
[1]
http://www.techcrunch.com/2009/04/06/adgregate-markets-scores-distribution-deal-with-googles-doubleclick/
[2] http://adgregate.com/web/demo/
[3] http://shinobi.dempsky.org/~matthew/adgregate.html