If you were thinking about upgrading your iPhone 3G to the 3G S, you may have been turned off by AT&T scandalous prices for its “valued customers”. Indeed, current 3G owners willing to upgrade to the 3G S will have to pay between $499 and $699 depending on the model you want and renew their contract with AT&T for 2 more years.

A smart folk over at iTalk iPhone figured out how to purchase an iPhone 3G S without an AT&T contract.

Note that you will have to pay full price for the iPhone, but at least you won’t have to renew your contract for 2 more years.

1. You need to use FireFox and have the FireBug plugin installed.

2. Go to any non-Apple product in the Apple Store (example)

3. In FireFox, click the little FireBug icon at the bottom right of the browser. FireBug will pop up. Click “Inspect” and choose the “Add to cart” icon.

4. Right above the highlighted part on the image above, you should see “TV943VC/A”. This is the product code. Change it to the product code of the iPhone you want. For this example, we’ll choose the iPhone 3G S 32GB MB 718LL/A.

iPhone 3G 8GB ($499): MB046LL/A
iPhone 3GS 16GB Black ($599): MB715LL/A
iPhone 3GS 16GB White ($599): MB716LL/A
iPhone 3GS 32GB Black ($699): MB717LL/A
iPhone 3GS 32GB White ($699): MB718LL/A

5. Finally, click on the “Add to cart” button and voila! The iPhone you chose should appear in your cart. You can now proceed to check out.

I tried this myself up to the Check Out part. It worked. I obviously didn’t try to order the product as I already pre-ordered my iPhone 3G S.

Props for this hack go to an Admin of the iTalk iPhone forum.

Results seem to be mixed. Some people claim that it work. Some others claim that it doesn’t. If you try this out, please let us know in the comments.