It seems that Amazon has had some interesting goings on recently, and by interesting I of course mean interesting.
I started to write this article last night but the Easter dinner/dessert food coma won the battle and I’m glad it did. As it turns out what was going to be an article solely about censorship in a major online community as transformed into a perfect security article overnight :).
I suppose a brief recap is in order. Long story short this past Friday some homosexual themed romance novels started disappearing from the site’s sale’s rankings. Amazon first claimed that they were “excluding adult material from appearing in some searches and best seller lists.” Well it just so turns out that these lists and searches are generated using user sale’s ranks.
Step two in this story is of course a Twitter explosion of hash-tag anger which is self explanatory #amazonfail. Step three? You guessed it, an announcement from Amazon PR that claimed a glitch in the system. First I’ve heard of a homophobic glitch but I entertained the idea as plausible.
Well that’s where the news stopped on my radar last night until a very interesting turn of events this morning. A hacker known as Weev stepped forward claiming responsibility for the #amazonfail stating an exploitation of an Amazon product rating vulnerability. Apparently after a product is flagged as inappropriate enough times it isstripped from the sales rankings lists auto-magically. With some help from some Nigerian friends who registered Amazon accounts and flagged books for him, Weev systematically picked off whichever books he pleased. (Whats with hackers stepping forward lately??)
In case your interested here is the hacker’s “confession” that he posted on his LiveJournal:
Hay dude. Amazon removed its customer-based reporting of adult books yesterday. I guess my game is up! Here’s a nice piece I like to call “how to cause moral outrage from the entire Internet in ten lines of code”.
I really hate reputation systems based on user input. This started a while back on Craigslist, when I was trying to score chicks to do heroin with. My listings like “looking to get tarred and pleasured” and “Searching for a heroine to do the paronym of this sentence’s lexical subject” kept getting flagged. The audacity of the San Francisco gay community disgusted me. They would flag my ads down but searching craigslist for “pnp” or “tina” reveals tons of hairy dudes searching for other hairy dudes to do meth with. So I decided to get them back, and cause a few hundred thousand queers some outrage.
I’m logged into Amazon at the time and see it has a “report as inappropriate” feature at the bottom of a page. I do a quick test on a few sets of gay books. I see that I can get them removed from search rankings with an insignificant number of votes.
I do this for a while, but never really get off my ass to scale it until recently.
So I script some quick bash.
#!/bin/bash
let count = 1
while true; do
links -dump ‘http://www.amazon.com/s/qid=0/?ie=ASCII&rs=1000&keywords=Gay_and_Lesbian&rh=n%3A!1000%2Ci%3Astripbooks%2Ck%3AHomosexuality&page=’`echo $count`|grep \/dp\/ >> /tmp/amazon
((count++))
doneThere’s some quick code to grab all the Gay and Lesbian metadata-tagged books on amazon. Then I pull out all the IDs of the given books from those URLs:
cat /tmp/amazon |sed s/.*dp\\/// |sed s/\\/ref.*//
and I have a neat little list of the internal product ID of every fag book on Amazon.
Now from here it was a matter of getting a lot of people to vote for the books. The thing about the adult reporting function of Amazon was that it was vulnerable to something called “Cross-site request forgery’. This means if I referred someone to the URL of the successful complaint, it would register as a complaint if they were logged in. So now it is a numbers game.
I know some people who run some extremely high traffic (Alexa top 1000) websites. I show them my idea, and we all agree that it is pretty funny. They put an invisibleiframe in their websites to refer people to the complaint URLs which caused huge numbers of visitors to report gay and lesbian items as inappropriate without their knowledge.
I also hired third worlders to register accounts for me en masse. If you ever need a service like that, you can find them in a post like this advertising in the comments:
http://ha.ckers.org/blog/20070427/solving-captchas-for-cash/Then they would log into the accounts, save the cookies in a cookie file and send it to me.
Then I used the cookie files like so to automated-report all the books:
for i in `cat /tmp/amazon |sed s/.*dp\\/// |sed s/\\/ref.*//`; do lynx -cookie_file=/home/avex/cookie1 http://www.amazon.com/ri/product-listing/`echo $i`/;done
The combination of these two actions resulted in a mass delisting of queer books being delisted from the rankings at Amazon.
I guess my game is up, but 300+ hits on google news for amazon gay and outrage across the blogosphere ain’t so bad.
Not sure if this is actually true but it certainly is interesting.
UPDATE: Some conflicting responses.. Amazon has come up with some stats to back the before-mentioned glitch.
Here’s a statement from Amazon spokesman Drew Herdener:
This is an embarrassing and ham-fisted cataloging error for a company that prides itself on offering complete selection.
It has been misreported that the issue was limited to Gay & Lesbian themed titles – in fact, it impacted 57,310 books in a number of broad categories such as Health, Mind & Body, Reproductive & Sexual Medicine, and Erotica. This problem impacted books not just in the United States but globally. It affected not just sales rank but also had the effect of removing the books from Amazon’s main product search.
Many books have now been fixed and we’re in the process of fixing the remainder as quickly as possible, and we intend to implement new measures to make this kind of accident less likely to occur in the future.
[tags]Amazon, AmazonFail, Book Rankings[/tags]