Slashdot Mirror


Electronic Pricetag Alteration

s3hel writes "As if things weren't already hard enough, online retailers are experiencing yet another e-rip-off: electronic price tag alteration. This is kind of neat, set your own price for that new laptop! " Basically it points out a very simple vulnerability in web applications. It's nothing surprising at all, people do this sort of stuff to Slashdot all the time -- fortunately we're not selling anything ;)

210 comments

  1. PR!!! by laxian · · Score: 1
    No ... that's not PR for Sanctum or anything ... naaawwww ... couldn't be. Companies don't advertise with news articles ... not at all.

    -Christian

    --

    our written thoughts are gifts to our future selves

  2. It's their own fault. by blair1q · · Score: 2

    Granted, people who run retail stores aren't supposed to be computer savvy, that's why they're supposed to hire people like us.

    But instead they hire people like Joe Java who doesn't know a form from a transaction processing system.

    Any retailer who uses the pricing info in the form instead of the SKU and an offering database is a luser of the highest water.

    That's not an indication of a "bug" or a "glitch", it's malfeasant system design perpetrated by button-pushers pretending to be software engineers.

    --Blair
    "I gotta go see a website about a Lexus."

  3. Sounds like poor application design to me. by whjwhj · · Score: 2

    I'm shocked. You mean there are people writing commercial shopping cart systems without server side pricing checks? *ANYTHING* coming from the browser needs to be re-validated before being processed. This would certainly include pricing information. But all web based form input should be re-validated on the server side regardless of what sort of client side javascript form validation is in place. I've known this for years. Depending upon the application I'm writing and the environment in which it will be used, I sometimes cut corners and trust the client with my information. But for something dealing with real $$$ this sort of programming is inexcusable.

  4. Re:Is this illegal? by pauldy · · Score: 1

    I'm supprised this hasn't been moderated to funny. Of couse I would think the courts would consider this more along the lines of switching the price tag which I have no clue of the legalities involved. Could someone who is a lawyer post so as to give us a clue how the courts look at price tag switching.

  5. Re:Try this link... by Anonymous Coward · · Score: 1

    This is exactly the reason why we get stupid stats like 1/3 of shopping carts are vulnerable. I designed a shopping cart app that keeps the prices of each item and the quantity and the product number all in hidden fields. This is so we can do really quick calculations on the client side without having to hit up the database every single time we want to recalculate the totals etc. Then when they put the order through, the only thing that is kept is the product number and quantity, which is referenced in the database exactly once to finalize the sale. I got quite a few emails from people saying "You moron, you design insecure apps". I ignore these idiots, and ignore stupid articles like this one which was only created because Sanctum's sales aren't what they expected they'd be. FUD. Get used to it. Most shopping cart apps aren't actually insecure, I've looked at quite a few. They just appear to be to the untrained fool, and those people don't really matter much anyways. As usual, you slashdot morons should grow up and learn a thing or two before you shoot your mouths off. Jordan

  6. Re:Richard M. Stallman! by moreati · · Score: 1

    Like everyone else is saying:

    In Client/Server transactions: Never trust data from or judgements made by the client.

    This includes The Client, your client - ther bods paying you to make their e-commerce site. Dont trust their specs, don't trust their existing system's specs, dont trust their decisions, and above all..

    Dont trust 'The Check is in the Mail' when sending the final product.
    Alex

  7. Re: error by Christopher+Craig · · Score: 1
    This is unrealistic. The error was committed at the design phase. The system shouldn't even ask the client what the price should be, and therefore shouldn't have to check whether or not the client modified the price. The only things the shopping cart should put in the form at all are: item numbers, quantity of items, identity of the buyer, possibly an order number (picking this using a cryptographically strong random number generator is a plus). That is all the client has the authority to change.

    The principles of secure design aren't new. The basic paper on the subject is Saltzer and Schroeder's paper from 1975.

  8. Re:pre-fucking-ciesely by Smitty825 · · Score: 1

    heh, you forgot credit card number, too :-)

    --

    Doh!
  9. Re:Not publishing to their site by RoninAdmin · · Score: 1

    Well shame on them for including the price as part of the form, instead of using a variable to reference the item in a database (NOT exposed of course). This is a bit like hand-writing prices on your product in grease pencil, then hiring a hydro-cephalic high-school student as your cashier. Sheesh... If half of the stories of this type are true, it makes one wonder how businesses survive at all...

  10. Re:Is this illegal? by Animats · · Score: 2

    It could be interesting if the vendor offers the same item to different people at different prices, as Amazon was doing for a while. Or if the vendor has different prices in different ads. Or the vendor advertises "We will meet any advertised price". It's then a reasonable strategy by the buyer to try lower prices to see what the seller will accept.

  11. Re:Argh. by Paradise_Pete · · Score: 1
    It's not necessary to put the form back on the Web server.

    PUT doesn't put the form "back on the Web server." It submits it. These people are editing the hidden fields, then submitting it for processing. By blocking PUT that can't happen. Of course, blocking PUT is not helpful, in that the other method would be GET, which sticks the form info into the URL. To fix this "problem", one simply has to not rely on the user's browser to say what the prices are. I can't believe anyone would have developed an app like that, but apparently they have.

  12. Re:Richard M. Stallman! by seanmeister · · Score: 1

    My bad, dude... sorry!
    Sean

  13. Re:stating the obvious by Paradise_Pete · · Score: 1
    If the cart is database agnostic, it needs to know what the price is *somehow*, right?

    I imagine that that "somehow" would the same way it got it in the first place.

  14. Re:Is this illegal? by cyberdonny · · Score: 1
    > The clerk/whoever says "$100", pointing to their sticker. *IN PLAIN VIEW*, you pull out a sticker that says "$50" and carefully affix it to the item and say "How about that?"

    Or more realistically: somehow the item you bought happens to have no tag at all. And the cashier asks you "do you remember how much it was?". And instead of replying with the correct price, or "sorry, I dunno", you make up a slightly lower one. Don't laugh, there are supermarkets around here which often have those kinds of missing tag problems, and where the clerk first ask the customer before calling out for a "price check"...

    Although this is very stupid on the store's part, I doubt though whether it would be legal to lie to the cashier: clearly, the cashier is not proposing a price negotiation, but rather attempting to save his and the customer's time.

  15. Re:Is this illegal? by guinsu · · Score: 1

    Thats why whenever I get one of those textarea agreements, I delete the entire thing. Then I can honestly say I never agreed to any terms.

  16. Re:Is this illegal? by Paradise_Pete · · Score: 1
    A contract is a description of an agreement. If I switched papers then that paper does not descibe our agreement. There is no "Meeting of the minds."

    This doesn't mean that no one has ever been forced to abide by a contract to which they hadn't agreed, but that is not because it was a legal contract. It was because the written contract was better evidence than one party saying "He tricked me," but that is a practical matter, not the actual ideal of contrqact law. If there were perfect evidence the contract would not be enforcable.

  17. Re:Then they deserve it by Fervent · · Score: 4

    No they don't deserve it. Just because a vulnerability exists doesn't mean us, the good Slashdot hackers, should take advantage of it. The only people who should utilize this vulnerability are the people who are fixing it and criminals.

    --

    - I don't care if they globalize against free speech. All my best free thoughts are done in my head.

  18. Re:Is this illegal? by WNight · · Score: 2

    That's all dependant on the appearance (to the customer) of the person claiming to have 'agency'.

    It would (likely) be ruled by a judge that janitors don't ususally legally sell cars from the back of the lot, at night, and that the customer would know that. Thus they knew they weren't forming an agreement with the dealership.

    But if the guy was dressed in a suit, had valid looking contracts, and gave you working keys, during business hours, you could safely assume he's an authorized salesman.

    This establishes who gets blamed for theft. If the janitor sells you a car, you get nailed for buying stolen goods (and him for fraud, or theft, or such). If you buy from a fake salesman, he's guilty of the theft and the ownership of the auto is a little gray. If you buy from a clerk whose boss later says they didn't have authority, you own the car.

    In the case of the software, the website (and implied back-end processing) is what accepts all contracts (on a site that doesn't just email the order to a person) and if it accepts a smaller payment and sends out a product, you can't argue that it didn't have permission. If an employee can sell a product, they can bargain for its sale. If they broke their contract with you by selling it for less than they were told, that's between you and them, the customer is blameless.

    But, because this involves you telling the software what something cost, instead of a situation where you'd expect the ability to bargain, I'd say that it would be a crime of some sort.

    Hey! Here's an idea... The UCITA is looking to make click-through licenses just as binding as a real paper contract, which you do have the right to modify and resubmit. If you live where the UCITA is in force, that computer program *IS* fully authorized to accept contracts in the name of its creator. :) I should try placing orders from companies in those few states that have passed the UCITA. heheheh

  19. Re:Is this illegal? by robbkidd · · Score: 2
    If that agreement, as shown to you, says that the vendor will sell you the shiny new laptop for $3, are you violating any actual, existing laws?
    • Yes, because you have modified the agreement the vendor showed to you.
  20. More than just a programmer FUBAR... by RoninAdmin · · Score: 1

    For the user to be able to do an "edit page" is one thing, that really can't be helped. But the "publish" function means that the server admin left an FTP port wide open. Who in there right mind allows unauthenticated ftp on a server that handles anything on the Internet, much less "aiee-commerce"?

    1. Re:More than just a programmer FUBAR... by Cytotoxic · · Score: 1
      For the user to be able to do an "edit page" is one thing, that really can't be helped. But the "publish" function means that the server admin left an FTP port wide open. Who in there right mind allows unauthenticated ftp on a server that handles anything on the Internet, much less "aiee-commerce"?

      I think they meant that you would publish your altered page to your local machine and run it from there. I don't think anyone is altering the website itself. You could probably do the same hack by simply examining the URL that is returned from the submit button. Security this lax probably means the price was sent as +Price=29.99+ etc in the URL.

    2. Re:More than just a programmer FUBAR... by whjwhj · · Score: 1

      Somehow I suspect the article must be incorrect on this point. Seems to me the server side simply isn't validating input via a POST or GET method. If what you (and the article) suggest is correct, and people are actually publishing altered web pages to the server, then that is a HUGE oversight. Not only would it be inexcusable for a web server to be configured in such a way that the general public can alter the pages, but the commerce apps would also have to be designed such that pricing info is being referenced directly from generated web page source. Sounds strange. I bet they're just talking about altering POST form input.

  21. Re:Then they deserve it by Winged+Cat · · Score: 1

    And I don't deserve my brand new Ferrari to be stolen from a parkinglot after leaving it in Downtown Los Angeles for a couple of weeks unlocked and with the keys in the ignition?

    "Deserve" from what perspective? Moral "everyone should be kind and peaceful towards their neighbors", no. Practical "take responsibility for the real consequences of your actions", yes. (But then, this is the point you were making, no?)

  22. Just when you think... by Anonymous Coward · · Score: 1

    ...people can't possibly get any dumber, they include the price of their products in a place it doesn't need to be, where it can be easily modified by users, and then they trust that price in their applications. And then they say that they've been 'hacked'.

    Unless the rest of that sentence is "in the back of the head with a pickaxe, and that is why I can't grok the concept of looking the price up in my RDBMS instead of letting the user submit it," I beg to disagree.

  23. Well, DUH! by schon · · Score: 5

    As someone who's designed websites (and shopping carts), the only thing I have to say is that it serves the company right..

    This isn't anything like "price tag switching" - this is more like "not having price tags at all, and having the cashier ask the customer how much the sign said."

    I mean come on, if you're stupid enough to send a price to the customer, and trust that he or she will send it back unmodifed, you deserve exactly what you get.

    First rule of client/server computer security: you can't trust the client.

    Perhaps next time one of these "30% of all online retailers" will hire someone who actually knows what they're doing, instead of Mr. "I know frontpage!"

    1. Re:Well, DUH! by rabidcow · · Score: 1

      "not having price tags at all, and having the cashier ask the customer how much the sign said."

      I know of a store that actually does this. They're not the kind of place that would be ripped off by immature kids, so it works fine. They don't have to charge the customers for all the infrastructure required for the cashiers to know the prices, and it's actually nice (as a customer) to be trusted for a change.

      Shopping cart programs with this bug would even work online as long as your traffic was very limited. It wouldn't really have the same benefit, I mean you already need to have a database to look up the prices in the first place, but with an "enthical" enough user base it wouldn't hurt either.

    2. Re:Well, DUH! by jfunk · · Score: 2

      Yup.

      I set up slash for a simple intranet at work. Naturally, some people forgot their passwords. No problem, right? Just clear out the encrypted field and let the user create a new one. Using KMySQL, I brought up the table and, to my horror, the passwords were not encrypted. The passwords for everyone in my company were staring at me.

      Sigh...

    3. Re:Well, DUH! by jesser · · Score: 2
      Does slashdot really store passwords in plain text? I know it has our browsers store passwords in plain text cookies (which is arguably worse).

      --

      --
      The shareholder is always right.
    4. Re:Well, DUH! by hugg · · Score: 2

      I agree. Reminds me of the time that one of our e-clients at my last company e-mailed us a list of ALL their clients' credit card numbers, home addresses, and SSN's ... in PLAIN TEXT. I now shudder whenever I buy something online...

      I also shudder when I think of how Slashdot stores passwords in plain text :>

  24. Egghead's system by wadetemp · · Score: 1

    I wonder what the real motivation was for Egghead's using the price checking system. Did they have prices changed in this way, or was it to prevent incompetant marking of prices?

    A few years ago I had a friend who bought 5 digital cameras off Egghead for some amount between $4 and $5 each. It was just a price mismarking... he didn't hack thier website or anything. He was just looking for a camera and found a REALLY good deal! Of course he let his bank know about the purchase in case Egghead tried to come after him to get him to cough up $400-$500 for each camera instead... but they never did, and he kept (well, OK, he sold 4 of) the cameras. Was this an isolated incident? Perhaps Egghead was worried that they would slip up again?

  25. Legal aspects by Alien54 · · Score: 2
    I suspect that the police could probably prosecute this, but it would take a while to catch up.

    There was recently a story about kids in Massachusetts sending fraudulently ordered goods to a house not used during the winter.

    (As they say, don't do this at home kiddies.)

    They got caught, not because of any online monitoring, or business complaint, but because of a suspicious neighbor who turned them in.

    --
    "It is a greater offense to steal men's labor, than their clothes"
  26. Morons, morons everywhere. by banuaba · · Score: 1

    This seems to be yet another instance of separating the wheat from the chaff (I dunno what the hell chaff is, but my grandma always talked about it, and I don't think she meant shredded aluminum) when it comes to e-commerce. The people who read the security bulletin and fixed the goddamn problem are FINE. These morons who plug the box into the CoLo facility and leave it at that deserve what they goddamn get. This is just a case of morons getting screwed. Chalk it up to a learning experience that only cost you a couple grand instead of your entire company, apply the patches and move the fsck on.

    Sorry. I'm tired today and drank about 10 cups of coffee. And I'm all worked up about the DCMA for some reason. *sigh* Why do I hate?


    Brant

    --


    Brant

    Argle. Bargle.
  27. so? by benshutman · · Score: 1

    why is this all of a sudden in the news? i (as im sure many of you) have done this for years

    hehe, one time i tried it at gateway, got this loc'd out system for like $500, but the human in the process caught it

    you know, i dont consider this stealing. i call it natural selection. WHY would you embed the price in the page? you know, i think you can afford mysql. i heard its cheap.




    NEWS: cloning, genome, privacy, surveillance, and more!

  28. Re:Blah. by hconnellan · · Score: 1
  29. Re:Richard M. Stallman! by pod · · Score: 1

    If you need to change prices, either use product code versions or make a new product (wiget-20010307). If you require such functionality (frequenet price changes) in the first place, you need a more robust and sophisticated shopping cart anyways. It would include product versioning, and maybe even would alert a shopper a product in their cart is out of date, here is the new price, do you want to replace it or remove it. Really, if you're thinking so far ahead that price changes occur to you as a potential issue, you have it way more together than I do, and you're more than capable of building a shopping cart system that doesn't take the prices from a client form... but then again, that's _really_ allowing for price changes, eh? ;)

    --
    "Hot lesbian witches! It's fucking genius!"
  30. Re:Richard M. Stallman! by Jason+Earl · · Score: 2

    When I read the article I thought the same thing. I don't write shopping carts for a living, but it seems to me like that would be the sort of thing that you would want to get out of your own database, and not pass around some other way. After all, it's fairly likely that you are going to know how much the items you are selling cost.

    What amazes me is that someone almost certainly paid money for that shopping cart. And commercial software vendors wonder why Free Software is doing so well nowadays.

  31. Re:Richard M. Stallman! by pod · · Score: 1
    We're almost ready to roll out, all we have to do is pay our contractor for another two hours of work to add in the price verifi...

    Price verification?!?! What price verification?

    A shopping cart should never ever be verifying any prices. It _knows_ the prices, because they're stored in a database (SQL, dbm, flat file, common include file, whatever) and hence doesn't have to verify them. I could never understand how one could possibly design a shopping cart system that accepts product prices from a form... wouldn't this be much more work actually? You're displaying the price, plus you have to code in the hidden price tag, plus write code to process the price in the form handler... But you know what's in the cart, and you know its price (since you displayed it just a second ago), why on earth would you take the price again from a form! Why! Someone please tell me! Anyone thinking this is a good idea for _any_ reason simply has no business programming.

    --
    "Hot lesbian witches! It's fucking genius!"
  32. Re:Silly Merchants.. by Xunker · · Score: 1

    Perhaps it would be better to simply accept the user info, item number, and quanity instead - letting any price calculation be done on the server side - and submit THAT to the gateway.


    Stop Yourself. You're right, a *good* shopping cart would do that -- but there are two small problems.

    One) Few shopping carts, in my experience, meet the criteria of "good".

    Two) Many Payment gateways offer a way to have secure transactions without the shop having to maintain a secure server of their own. Goes like this:

    The buyer presses submit on a form that contains all their info (name, address, shopping cart contents, etc), except for their credit card number. This for posts, in fact, to the CCPG's secure server, where the card number is then entered and then the buyers posts that and is sent back to the merchant's cart.

    I'm sure you can see that, using this scenario, you can't rely on the server to do the computation you describe. It's not the best way, granted, but it's a lot easier on the merchant. I'm sure you can see why that would be a problem, and why you should check the amount actually debited.

    And yes, I realise that the article didn't specifically adress this scenario, but I feel that it should still be of intrest.

    --
    Hilary Rosen's speech was about her love of money and her desire to roll around naked in a pile of money.
  33. There's nothing inherently illegal about that. by TheDullBlade · · Score: 2

    You can modify agreements before returning them.

    When you are offered a contract, you can cross out sections and write in your own before you sign it (you should initial and date your modifications, in case of multiple rounds of this). However, signing it doesn't form a contract, it forms a counteroffer. It doesn't become a contract unless the other guy signs it after you've returned it, modified and signed, or performs some other overt act indicating acceptance (such as saying nothing and fulfilling his side of the bargain).

    This, to me, seems no different legally than handing $5 to the cashier when the register says $27; if the cashier takes it, puts the goods in a bag and hands them to you, they've agreed to your counteroffer and have no further claim against you. Furthermore, regardless of internal policy, the management and owner of the business have to live with it because the cashier acted within their role as an agent empowered to make sales (though they might fire his ass after the fact, or sue him to make up the difference); you've made your deal with the company as much as if its president agreed to the $5 price. Whoever's running the order and delivery system acts as an agent in a similar fashion, if they, through their software, accept such a deal, it's the company's tough luck for hiring an incompetent who negligently agrees to any counteroffer.

    IANAL, IANYL, TINLA
    ---

    --
    /.
  34. At last - a money making scheme by billybob2001 · · Score: 1

    Could you set the price to a negative number, amass lots of credit and use the money to finance a foolproof way of stopping spam that tells you how to make money?

  35. Re:Argh. by cyberdonny · · Score: 1
    > PUT doesn't put the form "back on the Web server." It submits it.

    Nope, that's POST. The PUT method is indeed used for Web publishing, and normally alters the page.

    The method about which you are thinking is POST.

  36. Re:Get them credit cards folks! Time to shop! by gatkinso · · Score: 1

    While I agree with the sentiment, I feel it important to point out that this vulnerability isn't just limited to NT based commerce sites. The strongest safe door won't do squat if you leave the damn thing open.

    --
    I am very small, utmostly microscopic.
  37. Re:Is this illegal? by jmv · · Score: 2

    There are laws that say that switching the price tags on merchandise to get a lower price is theft

    The equivalent of wwitching the price tags would be cracking *their* server to change the price database. This is like shopping for a $1000 item and, when at the cash saying: "That was $500, right?". It the dealer accepts, you have bargained, not stolen.

  38. Re:Is this illegal? by Paradise_Pete · · Score: 1
    True, but you handed the modified agreemnent back to them, and they still honored it. Doesn't that show their agreement?

    Suppose you were going to do some work for me at the rate of $200 an hour. We drew up a contract, you read it and agreed to it. Just before you were going to sign it I switched it by sleight of hand so that you were actually signing a contract that said you'd get $7 an hour. Do you think you're now obligated to work for $7?

  39. Re:That reminds me of an Egghead slip-up. by Atlantix · · Score: 1

    You may be required by law to sell a product at the advertised price, I don't know. But the point here is that the consumer put the "wrong" price on the product. If the merchant actually advertises a $3 laptop, that's one thing. But if the merchant advertises it as $1999 and the consumer tricks them into charging $3, then it's bait and switch on the part of the consumer.

  40. If you dont control it, dont trust it... by segfaultcoredump · · Score: 5

    Ok, rule number 1 of system security: If you don't control it, don't trust it until after you have verified it.

    This vulnerability has been known for a long time and has been corrected in all but the lamest of shopping cart applications. It just makes sense that if you trust the client to report the cost of something to you that you are going to get burned.

    1. Re:If you dont control it, dont trust it... by mr_gerbik · · Score: 1

      oops

    2. Re:If you dont control it, dont trust it... by nugatory · · Score: 1
      Sometimes - but not all sites offer the same price to all customers. This is especially true in the B2B world, where pricing and service terms are provided on the basis of previously negotiated contracts.

      Yes, providing a customer id as well helps you figure it out internally. But remember, online business processes tend to mirror preexisting offline ones. If the preexisting process is based on a paper quote, it may take non-zero work to avoid embedding any quotation information in the quotation into browser session state (cookies/URL fields/whatever). And there's always a way in which someone will forget to do any non-zero amount of work.

      The real problem here is pitiably naive^h^h^h^h^h^h^h^h^h^h^h^h^h^h insufficiently careful programming, and, sadly, that's not a scarce commodity.

    3. Re:If you dont control it, dont trust it... by ToiletDuk · · Score: 1
      Yep. I used to work for a company that did automatic form filling software, and when we were testing some forms, we found all sorts of sites with vulnerabilities like that. I think we placed one order for a pair of $80 sunglasses and put 13 cents as the price :).

      Similarly, I used to go to the game/chat site Uproar.com and fuck with newbies just cause it's fun. All their system moderators have Uproar in their name (like "UproarJane"), and the form that asks for your username filters out Uproar... but the second form in the process just keeps the name in a hidden field and doesn't do any more checking on it :)... Needless to say it was fun talking shit to people as a moderator :)

      • _____

      • ToiletDuk
        Protector of the Wastes
    4. Re:If you dont control it, dont trust it... by cybermage · · Score: 2

      Sometimes - but not all sites offer the same price to all customers.

      Ummm... If you can figure out what price to put into the form, you can figure it out again after they tell you how much they want.

      If the preexisting process is based on a paper quote, it may take non-zero work to avoid embedding any quotation information in the quotation into browser session state (cookies/URL fields/whatever).

      I agree that if someone is taking a paper quote and trying to then order it online (expecting the quoted price) you've got a real problem. This is, however, a business issue, not a software one. I'd suggest that this process would have to require the eMerchant manually verify the price against the quote before filling the order.

      As to tracking the session, the only safe way to do this is server-side. Anything else can be compromised by someone with a clue. Any cart software worth using will track everything about the session on the server side giving the browser a unique session Id to follow along with.

      The only variables that should be left up to the client are what item(s) they want, the QTY they want, how they're paying, and where it's going. Everything else should be calculated and stored server-side.

      --

    5. Re:If you dont control it, dont trust it... by Stacdaed · · Score: 1

      Well there's the Microsoft Ideal right there... OK maybe "If you can't control it, destroy it..." But, really this whole thing is dumb. Can't people just use a product Id, then figure out the price internally?

  41. Re:Is this illegal? by leviramsey · · Score: 1
    Even the dumbest of Best Buy employees would probably notice a laptop ringing up for $3.

    What did PT Barnum say about that sort of thing?....

  42. Re:Do not trust the client side! by Slak · · Score: 2

    Disclaimer: I work for uBid.com (shameless plug), a B2C auction site. I'm curious what auction types you think need client side validation.

  43. I Was Plagiarized, Again by TGandalf · · Score: 1

    I would like the plagurism of AlphaKinetic and Saalim Chowdhury exposed. My work, and the work of others, is the subject of a recent SlashDot article called "Electronic Pricetag Alteration", although we are not attributed. I published an article which was plagurized by Saalim Chowdhury and used as the subject of a press release. An article was subsequently published by TheTelegraph and mentioned by TheRegister. This article was cited by ZDNet, syndicated to Yahoo, then this article was cited by SlashDot.

    I published an article called "Flaws In ECommerce Systems" in the Autumn issue of 2600 Magazine. This article is available at http://www.xirium.com/product/mtecs/doc/secure/ and http://www.basketlogic.com/doc/secure/ . This article:

    • States how loosely integrated ECommerce sites do not check prices.
    • Cites a wine merchant with such a vunerability.
    • Cites a domain name re-seller with such a vunerability.
    • Explains how to move decimal points to reduce prices and why this action should succeed, but has never been substantiated.

    On 25 Jan 2001, TheRegister reported an article in TheTelegraph which:

    • Cites an undisclosed "glitch" that allows prices to be modified.
    • Cites a domain name re-seller with such a vunerability.
    • Cites Saalim Chowdhury as the "chief executive of e-commerce software development company Alphakinetic which discovered the flaw".
    • Omits all references to moving

    AlphaKinetic press releases 4 and 5:

    • State that AlphaKinetic "found this security hole whilst developing our own secure e-commerce system, and our forthcoming e-commerce solutions".
    • Cites the purchase of wine by this method.
    • AlphaKinetic does not specialise in security.
    • "What astonished us was when we contacted our secure payment provider about this they stated that they had be aware about the possibility of this hole existing for the last 5 years".

    All attempts to contact all parties have been ignored. This inaccuracy has now been extensively propagated during the last two days. The additional information that was unsubstantiated is now the subject of recent articles and the estimated proportion of vunerable sites has risen from 10%-20% to 40%.

    There is circumstantial evidence that Saalim Chowdhury read my work in 2600 Magazine (the source of the information) and this can be verified by checking domain name registrations. 2600 has a pre-occupation with purchasing domains of the form *sucks.com then printing the "cease and desist" "nastygrams" from lawyers. AlphaKinetic (the source of the plagurism) is highly anomalous because they have registered alphakineticsucks.com themselves, although this problem only affects large companies.

  44. Re:Silly Merchants.. by adavidw · · Score: 1
    ... a hidden field (which will be posted to the CC processing company's server) should be included. This field should contain all of the order's pertinent data (price, etc), encrypted with the storefront's private key...

    This is essentially what Authorize.Net offers to their merchants. The response from the transaction contains an MD5 hash of the merchant's Login ID, the transaction ID, the amount of the transaction, and a shared secret (that only Authorize.Net and the merchant know).

    This accomplishes a couple of things. First of all, it shows that the transaction really did go through the gateway, because of the shared secret, and second of all, it shows that the amount wasn't somehow changed AFTER authorization. This proves to the merchant that the amount that AuthNet says was charged is really the amount that's charged. Of course, it's up to the merchant to then check that amount and make sure it's the amount that was supposed to be charged for that transaction.

    Since it's just MD5 with a shared secret, it's a lot easier for most developers to grok then figuring out certificates and stuff, while still achieving essentially the same thing.

    -Aaron

  45. Re:Is this illegal? by Coward,+Anonymous · · Score: 2

    Changing the price of an item sold on the web is very similar to going into a store and putting your own price sticker on an item, or putting a UPC sticker of a cheaper item on. Seems to me that some kind of law must cover it.

  46. Re:Silly Merchants.. by adavidw · · Score: 1

    In Authorize.Net's defense, those pages aren't purporting to be complete examples of secure transaction processing. Those are just examples of the very basic ways that transactions can be sent to the gateway via form POST. That page doesn't discuss that type of security because that's not the place for it. Security is a complex idea that requires thinking through your entire order process. Those pages are just highlighting one small portion of the process.

    Speaking only about Authorize.Net, the system isn't "insecure by design"; it's flexible by design, and that flexibility can be used to make the system as secure or insecure as is desired. Like all very powerful tools, if it's used by someone who has not the capability or desire to learn how to use the tool, disastrous results will occur.

    Read the documentation online if you want to see all of the ways that transaction security is addressed (including such seemingly obvious statements as 'If you're going to let the client change the price, at least check things over before shipping product').

    -Aaron

  47. Re:Is this illegal? by Jonathan+Byron · · Score: 1

    If someone goes into a store and paste a phony price tag on some merchandise, it is called fraud. I don't see how this is different, or how existing laws would protect someone doing a price-switch over the net.

  48. Re:Silly Merchants.. by Sabalon · · Score: 1

    Okay... Item one is $100, item 2 is $100, you put both in your cart and checkout. The server then confirms the price for item 1 is $100 and item 2 is $100 and you are charged $200 total. At no time does the server care what you (the client) says the price is. You return item #1 for a $100 refund.

    Modify the local page all you want, all it tells the server is that they want item #1 and item #2, not how much item #1 and #2 costs.

    Duh.

  49. old fashioned scams by British · · Score: 1

    Remember a coworker did this at Blockbuster.

    1. Buy Mortal Kombat 3 kart
    2. Put your old Mortal Kombat 1 cart in MK3 box, reshrink box at work on lnuch break
    3. Return for full refund
    4. Imagine next customer's anger/confusion when he/she buys MK3 and gets your old MK1 cart

    There's several variants to this trick, including putting broken version of same merchandise you have lyging around into box and returning for full refund to Best Buy. RedboxChiliPepper returned a modem, only instead of a modem in the box, it was crushed Pepsi cans.

    Good to see e-commerce hasn't ruined the fun.

    1. Re:old fashioned scams by Eravau · · Score: 1

      I had something similar happen to me last year. I bought a pice of software (cost about $500). When it arrived from a well-known catalog vendor, it was still shrink-wrapped. It felt about the right weight for what should be in there. But inside the shrink-wrapped box were stuffed about 100 sheets of blank paper in place of the CD, manuals and registration codes. When I notified the vendor, they seemed sort of unbelieving, since it was a shrink-wrapped box and all. How could there have possibly been any tampering. But in the end they replaced it without any major hassle.

    2. Re:old fashioned scams by enneff · · Score: 1

      That's really nice.

      I wonder what your friend would think if this had happened to him? I imagine he wouldn't have been to happy about it.

      I think your friend (and maybe you too, if you found it funny) have some serious ethical problems.

    3. Re:old fashioned scams by j-beda · · Score: 1

      In some situations, this is not actually a scam. I have brought broken items back to Sears without the receipt (particularly for "lifetime warantee" items like Craftman tools) and rather than deal with the problems of working without the receipt, the sales rep just had me buy an identical item, put the broken one in that box, then return that broken item (with the receipt) for a refund. A similar technique can of course be unethically used for returning items outside of the warantee period, obviously not needing the help of a staffmember. In any case, Sears needs to be careful to properly dispose of such returned broken items otherwise people can dig through the trash and return them again for a working replacement.

  50. Re:Is this illegal? by rgmoore · · Score: 2

    AFAIK it is theft. There are laws that say that switching the price tags on merchandise to get a lower price is theft. So even though the guy at the cash register tells you that the price is such and such, you're still guilty of theft if the price comes up that way because you manipulated their pricing system. Editing web based pricing information is basically the same thing, and I bet that any DA worth his salt could convince a judge to agree.

    --

    There's no point in questioning authority if you aren't going to listen to the answers.

  51. Hey, I can't find it! by glindsey · · Score: 5

    The article says the hackers are hitting the "publish" key, but I've looked all over my keyboard and I don't see anything like that!

    1. Re:Hey, I can't find it! by Surt · · Score: 1

      You obviously aren't a hacker, or you'd have a hacker keyboard which includes both the publish key and the any key.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  52. Re:Is this illegal? by JatTDB · · Score: 2

    I suppose you could look at it the same way as an improperly-tagged product at a store (either you/someone else swapped the price tags, or the store screwed up). General idea seems to be that if the cashier doesn't notice, then it's the store's own fault. Of course, there's still the immoral aspect of it.

    I'd consider this webpage abuse worse, though...at a brick and mortar store there's at least some real employee of the company who is going to see the product and the price before payment is accepted. Even the dumbest of Best Buy employees would probably notice a laptop ringing up for $3.

    --
    "That's Tron. He fights for the Users."
  53. That reminds me of an Egghead slip-up. by AFCArchvile · · Score: 2
    Back on September 24, 2000, Egghead.com advertised a 256MB stick of Crucial SDRAM for $35. HardOCP got the scoop on this (just keep searching for Egghead on that page). The price was wrong (it was supposed to be $350, not $35), but many people had already placed orders for it and had received confirmation messages. Two days later, Egghead announced that they were cancelling all orders for that item. Unfortunately for Egghead, a few of the orders were actually shipped out the door.

    Sure, that was a slip-up on Egghead's part, but imagine it happening to them because of customers hacking the prices. No wonder Egghead.com has now made it to this list.

    --
    "Ancillary does not mean you get to rule the world." --U.S. Circuit Judge Harry Edwards, speaking to the FCC's lawyer
    1. Re:That reminds me of an Egghead slip-up. by British · · Score: 2

      Hey isn't that bait and switch? I thought by law you had to sell it at the advertised price, regardless of the fact you put the wrong price on it.

    2. Re:That reminds me of an Egghead slip-up. by AFCArchvile · · Score: 1
      Yup. Since it could be interpreted that way, Egghead left alone the orders that already shipped. For the people who got their 256MB stick for $35, it was awesome. Of course, I've seen 128 down at $35, so those days of exorbitant RAM prices are gone.

      (I hope.)

      --
      "Ancillary does not mean you get to rule the world." --U.S. Circuit Judge Harry Edwards, speaking to the FCC's lawyer
  54. Re:Is this illegal? by nojomofo · · Score: 2

    Yes, because you have modified the agreement the vendor showed to you.

    I would say that I have modified the proposal that the vendor showed me. Then I submitted my altered proposal, and they accepted it, and only then did it become an agreement. Kind of like haggling with a really stupid person.

  55. Re:Is this illegal? by raju1kabir · · Score: 2
    Not in the least. When you go to the store and get an item, it has a UPC on it. That UPC has a number that corresponds to a record in a pricing database. That record has name and price (among other things). When the cashier scans it, he/she views (or is supposed to view) the display to make sure the name matches what they just scanned. If it doesn't, they should cry foul (though for the machine by default, I would think). What you seem to imply is that the UPC is a number directly representing the price. This is totally incorrect, and would lead to a lot of UPC switching in stores.

    As you say, UPCs correspond to specific products, and the register looks up the price.

    However, the analogy in the parent posting seems sound. You can go to a grocery store and switch the wrapper on a pound of CrapCo Farms chicken with a pound of Organic Hippie Chicken that costs three times as much, and the person at the register has no reasonable way of telling the difference. Is that legal? Of course not, it's theft, and infantile to think otherwise.

    Likewise, the web site operator is engaging in the transaction on the good faith that you have accepted the terms as presented. Just because it's possible to present them other terms when they're not looking doesn't mean they have accepted them. It's not like playing tag, or serving someone with divorce papers.

    --
    "Patriotism is your conviction that this country is superior to all other countries because you were born in it." -- GBS
  56. Agreed. by Interrobang · · Score: 1

    Yeah. This would be serious if it weren't so funny.

  57. Re:Not publishing to their site by raju1kabir · · Score: 1
    That what I thought when I first read the article, but apparently it is fairly common for some mom and pop e-commerce sites to simple have a form that posts to someone else's SSL site.
    You have probably seen sites like this. When the time comes to actually pay for the stuff the URLs are all at some other site. The information has got to get to the SSL site somehow, and apparently someone thought that "hidden" fields in a form would be a good idea, Yow!

    This is the most informative thing I've read on this thread all day. I think you're exactly right. I was really struggling to imagine how else someone would even have come up with the idea to post prices back and forth between the client and server.

    --
    "Patriotism is your conviction that this country is superior to all other countries because you were born in it." -- GBS
  58. You must be right. by flimflam · · Score: 1

    Oh yeah, I hadn't thought about that. You're probably right. Well, maybe more people will have their own SSL servers now that the RSA patent is over.

    I'm still surprised that anyone would actually ship stuff that was ordered this way. I can picture someone now -- "hmmm.... I know we usually charge $800 for these, but this order just says $25. Well, I guess the computer knows better.... let's ship it!"

    --
    -- It only takes 20 minutes for a liberal to become a conservative thanks to our new outpatient surgical procedure!
  59. Re:Richard M. Stallman! by Gerrioholic99 · · Score: 1

    Right on... I mean I know one of the great virtues of a programmer is laziness, but this is just out of control. Would it not take less effort to work with a database instead of having the price verified?

  60. Whoops, what I meant to say was... by TheDullBlade · · Score: 1

    ...it's not illegal for the reason of changing the agreement.

    It might be (and probably is) illegal for deliberately tricking the seller. ("Look, you advertised it at this price, you have to sell it to me for that.")
    ---

    --
    /.
  61. Re:Is this illegal? by Paradise_Pete · · Score: 1
    Not in the least. When you go to the store and get an item, it has a UPC on it.

    Not all stores do this. in fact not too long ago none of them did. The clerk relied on the sticker price. If you went in with your own stickers and changed the prices so that you could cheaply buy the stuff you can bet you'd be going to jail if you got caught.

  62. Re:Uh crimes are illegal by bachelor3 · · Score: 1
    "Maybe he didn't have the time to write decent, error free, hack free code."

    You have, quite succinctly, justified the Microsoft business model. Bravo!

  63. Re:Then they deserve it by Eric+Gibson · · Score: 1

    This isn't a vulnerability in anything... This is not even programmer error, just programmer complete idiocy. It's just common sense not to send pricing information in your POST data. That's just ignorant, you might as well put a field in there to change the price. It's the equivalent...

  64. Re:Is this illegal? by badbrainsg · · Score: 1

    this e-scam is just the electronic version of switching price tags in a store--take the tag off the $2.00 item and stick it on the $40.00 item. That particular trick is illegal and is prosecuted. If not now, surely soon, e-switching of price tags will be e-llegal. this reality has been changed from its original form: it has been modified to fit your mind

  65. Re:Richard M. Stallman! by ozbird · · Score: 1

    Trying to retrofit security on to an existing application *never* works (for applications > trivial.) People who develop applications involving the transfer of money without thinking security, security, security from the very beginning should be working for Microsoft...

  66. Re:How did he let the bank know? by wadetemp · · Score: 1

    I believe that's what it was. I believe he brought them his "web receipt" showing how much the website said the total was, and told them that Egghead might try to demand additional charges to his credit card. Nothing ever happened like that... Egghead did contact him to ask him to return the items after he already had them in his possession. But they never tried to charge him extra.

  67. Re:Then they deserve it by SCHecklerX · · Score: 1
    vulnerability???

    From what was described in the article, it is an outright lack of common sense on the part of whoever wrote the application!

    Even before learning what I know about web security, it was obvious to me that you don't put sensitive/important data in a hidden field of all places.

  68. Re:Uh crimes are illegal by Fervent · · Score: 2
    Some of us actually do leave our doors wide open. And noone comes in, because they are decent.

    By the way, if I see a locked door on the side of the road, I don't have a penchant to go in and steal stuff, either.

    --

    - I don't care if they globalize against free speech. All my best free thoughts are done in my head.

  69. Re:Then they deserve it by hackstraw · · Score: 1

    And I don't deserve my brand new Ferrari to be stolen from a parkinglot after leaving it in Downtown Los Angeles for a couple of weeks unlocked and with the keys in the ignition?

  70. This will not last. by supabeast! · · Score: 2

    "Many Web sites are vulnerable to hackers because the task of auditing their applications and detecting hacking is time-consuming..."

    Not now that /. has linked to it. Now every script kiddie on earth knows how to rip-off online vendors. Watch the patches fly out.

  71. Re:Uh crimes are illegal by JohnSmith1138 · · Score: 1

    Do you write code for web sites? It is REALLY not that hard to implement and is REALLY foolish not to. I wouldn't dream of writing this kind of code for someone else. What you say is correct, people shouldn't do this kind of stuff, but the fact is they will and it's somebody's job (in some cases mine) to make sure it doesn't happen.

  72. Re:Richard M. Stallman! by Pinball+Wizard · · Score: 2
    All shopping carts that I have ever seen specifically allow the user to update data. They almost universally allow you to change the quantities and to add and remove items to a cart. This involves an update to the database usually(exceptions being a file-based cart or a cart stored entirely in memory).

    Additionally, HTML does not keep state - meaning all data values in the cart must be passed somehow - usually either a cookie, a hidden form element, or in the query string(everything you see after the ?).

    Compounding all this is that many dot-com sites were rushed to market. Speed was the ultimate requirement dot-com developers had, not security, not soundness of algorithms used. Yes its stupid, but add all this up and you have a lot of insecure websites. (Mine however only allows price input to the cart from values in the database itself and is additionally protected by an OpenBSD firewall :) )

    --

    No, Thursday's out. How about never - is never good for you?

  73. Faulty Stats? by briggsb · · Score: 1

    An estimated one-third of all shopping cart applications at Internet retailing sites have software holes that make them vulnerable to the price switching scam said Peggy Weigle, chief executive of Sanctum, a security software company in Santa Clara, Calif.

    Of course Peggy will sell you software to prevent this from happening.

    This stat is also misleading. 1/3 of the number of sites might be vulnerable, but I doubt that 1/3 of all online purchases are vulnerable to this type of tampering. Joe Schmoe's T-Shirts may be vulnerable, but I doubt you can do this on Amazon.

    Brian
    Your Source for Tech Humor
    1. Re:Faulty Stats? by abiogenesis · · Score: 1

      Joe Schmoe's T-Shirts may be vulnerable, but I doubt you can do this on Amazon.

      You cannot, because Amazon itself does the switching:

      Amazon Charging Different Prices for Same Items?

      --

      Donate free food to the hungry at The Hunger site.
  74. Ah, I remember the good old days... by SpinyNorman · · Score: 2

    ...when we had to switch the price tags by hand.

  75. Re:Richard M. Stallman! by f5426 · · Score: 2

    Oh my GNU. I can't beleive that there are morons that stores the prices client-side.

    I am surprised that

    1/ A lot of sites have goatsecx'ed shopping carts
    2/ This have not been abused to death (ie: if you can get 25$ on a notebook, then you should buy a hundred of them).

    I would first suspect employees of those dotcoms that hacked the databases for them or their friends. Like boo.com (Thanks to hole in the applications, employees were able to buy products in pounds, and pay in pesetas). Then I would suspect plain bugs (I once had the WebObject store.apple.com proposing me real nice prices, with a lot of 0$ options on high-end macs. I didn't bought them, but maybe I should have ?).

    Btw, what are "pricing snafus resulting in a smorgasbord of bargains" ? Is this pig english thing already used at zdnet ?

    Cheers,

    --fred

    --

    1 reply beneath your current threshold.

  76. Stupid software by abiogenesis · · Score: 1

    This has nothing to do with the "web applications" in general, but only a stupid piece of software which counts on data at the client.

    Any properly set up application uses the price information only to inform the customer; it does not re-ask the client to send the price information back. The only data the browser sends should be the session id; or the shopping basket id. All the inventory, cost, tax etc. is then calculated at the server side.

    --

    Donate free food to the hungry at The Hunger site.
  77. How it works... by KlausBYTE · · Score: 2

    As a Security Analyst, I did some Code review on ECommerce software. What happens is that usually the program consists of two 'main parts' : the products and the payment. On the product part, it contains the price, specs, etc. The vulnerability (?) consists how the first part 'communicates' with the second one. There is a lot of apps that use HIDDEN html tags, what is VERY wrong, and where a kid can change the price. If the 'payment part' has a price checking mechanism, this kind of fraud would be more difficult to reproduce. Its like a sales man giving a paper with the price to the buyer to pay at the cashier man. So, learn: In God we trust, the others we monitor.

    --
    gcc -o sig sig.c sig.c:4: #error NO SIG FOUND make: *** [sig] error 1
  78. Re:Richard M. Stallman! by n-baxley · · Score: 1

    And that is why you never tell a manager that something is ready to go live untill you have more than enough security in place. It's a much easier sell to take security out in exchange for easier customer interface than to put it in after the site is live.

  79. Re:Richard M. Stallman! by nugatory · · Score: 2
    One anecdotal data point....
    Three years ago I watched the CTO of a well-known e-commerce vendor describe this particular vulnerability: prices in hidden fields.

    His company's shopping cart product didn't have this vulnerability. It was a big selling point for them. Really big. The salespeople would trot it out to create an Oh-shit-we-gotta-pay-these-pros-big-bucks moment in a prospect's mind. It worked. Well enough to close 6-figure sales.

  80. Re:Silly Merchants.. by Auckerman · · Score: 1
    "Which doesn't do the merchant any good if they're still assuming that the shopper gave them the correct price when they hit "Buy". Of course, any intelligent software designer would never have trusted the user with the price in the first place-- it would have have been grabbed out of the DB and totalled by the server just before passing it to the credit card authorizer."

    You don't understand. The merchant has not choice in the matter. The way the credit card authorization works is exactly how the previous poster describes and there is NO way around it other than finding a company that actually has proper authorization. In places like the UK, this is impossible, in the US it's unlikely (if not impossible).

    --

    Burn Hollywood Burn
  81. Re:Now we know... by Cplus · · Score: 1

    I can understand if organized religion leaves a bad taste in you mouth brother.

    Perhaps you could just abstain like the rest of us intelligent folk rather than burn the church. It goes along with the fact that you just can't kill dumb people.......you just ahve to smile at them and know that they'll take care of it.

    Please note that perhaps you don't understand what you're really saying. There has been a rash of church burnings in the deep south, to my recollection most of them were the churches of blacks. Your .sig is lumping you in with this somewhat.

    --
    "Share your knowledge. It's a way to achieve immortality." -- Dalai Lama
  82. Re:Is this illegal? by Sloppy · · Score: 2

    Fraud is still fraud, even when the victim is stupid.
    ---

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  83. Re:Richard M. Stallman! by graxrmelg · · Score: 1

    Geek> Okay, the site is progressing nicely. We're almost ready to roll out, all we have to do is pay our contractor for another two hours of work to add in the price verifi...

    Suit> What? Another hour?!

    I don't think that's the explanation. Getting the prices from client-supplied data is a design flaw that must have been built in from the beginning. It has nothing to do with whether you've added error checking at the last minute, though omitting error checks can certainly cause plenty of problems too.

  84. Chaff by BlaisePascal · · Score: 1
    Wheatberries on the plant are surrounded by an inedible outer coating almost like the shell of a sunflower seed. Part of the processing of wheat involves breaking apart this outer coating so that the edible wheat inside can be harvested.


    Once this is done, you are left with a bunch of small, dense, edible bits (the wheat), and a bunch of lighter, bigger, inedible bits (the chaff). The wheat is good, the chaff is useless.


    The standard way of separating the wheat from the chaff was to throw both up into a breeze. The wheat would fall straight back down, the chaff would blow away.

    1. Re:Chaff by Paradise_Pete · · Score: 1
      And how do they seperate the men from the boys in the Greece? With a crowbar. Thank you ladies and germs. I'll be here all week.

    2. Re:Chaff by banuaba · · Score: 1

      Why thank you, sir. Always had an idea of what it meant, but not the origin of the phrase. I suppose that I was just too lazy to search. But thanks, anyhoo.
      Brant

      --


      Brant

      Argle. Bargle.
  85. Re:Then they deserve it by Paradise_Pete · · Score: 1
    No, you don't deserve it. You might it expect it, but you don't deserve it.

  86. Re:Silly Merchants.. by gatkinso · · Score: 1


    "The process happens generally like: the the 'buy' button is pressed by the shopper, the shopping cart passes a few things to the transaction gateway (among them the price)..."

    Stop right there. I hope you can see why one would not want to design a system with this functionality. Perhaps it would be better to simply accept the user info, item number, and quanity instead - letting any price calculation be done on the server side - and submit THAT to the gateway.

    Post de facto verification should be used as a last line of defense only.

    --
    I am very small, utmostly microscopic.
  87. Re:Then they deserve it by geekoid · · Score: 2

    NO, No you don't. Nobody deserves to be robbed. People don't deserve to be killed in there homes just because a window is left open either.
    Point in fact, we should all strive to make the world a place where we can leave are cars unlocked, our windows open at night, and are sites unprotected.
    Will the world ever be that way? probably not, but if we strive for it, then maybe we can make are part of the world a little better.
    If your question was "Is it wise to leave my Ferrari unlocked in an unsafe neighborhood?" Then No, no its not. Unfortunatly.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  88. Re:Uh crimes are illegal by lqd · · Score: 1

    Tough luck. Yeah, this is actually illegal but then again the companies actually selling this stuff on the web shouldn't go around bitching -- leaving your front door wide open and thinking "There's no one coming into my house because its illegal to steal stuff" is incredibly stupid.

  89. This is weird by MarcoAtWork · · Score: 2

    Since when does a shopping cart program does have to be authoritative on prices? A shopping cart should send to the back-end just the item numbers, and any promotional code.

    Next step, the back-end takes this information, and computes the actual order: to be sure to cover all legal bases, this order is given a serial number, the shopping cart shows the user a final recap with all the charges as determined by the back-end with a big I agree button at the bottom.

    If the user agrees, the shopping cart then sends to the back-end just the serial number of the current order, which then gets processed.

    Am I missing something ?

    --
    -- the cake is a lie
    1. Re:This is weird by Stormin · · Score: 1

      Thats how you would think it would work. I've actually seen this method described several times over the years and it amazes me that people haven't fixed it yet.

      Personally, I prefer to send the data to the client.. so that I can compare the results coming back with those on the server. Then you can detect people playing with the hidden values in advance.

  90. Re:Argh. by graxrmelg · · Score: 2

    I know how to prevent it - block PUT method access in your httpd.conf file.

    I don't think so. From the description, it sounds like the applications are trusting the prices submitted in forms, rather than always getting the prices from a database. People can send information to form-handling programs without using the forms the programmers intended. The easiest way is to save the form locally and alter it. It's not necessary to put the form back on the Web server.

  91. refocus by deran9ed · · Score: 1

    An estimated one-third of all shopping cart applications at Internet retailing sites have software holes that make them vulnerable to the price switching scam, said Peggy Weigle, chief executive of Sanctum, a security software company in Santa Clara, Calif.


    Well they could have done a favor and posted some of the software in question, this way people who are using this software can make a switch.

    "Thieves are coming in the front door," Weigle said. "A lot of security products have been geared to the network level, not the application level."


    This is why forums such as Security Focus exist. They shed light on security based products. Programmers however, should be held accountable for creating a boon of shoddily written programs without doing extensive research into security.

    Here's how it works: After choosing a product and receiving pricing information, a hacker can use a standard browser's "edit page" feature to show the hidden HTML code on the page. The thief then saves the page to his computer, alters the price information and then hits the "publish" key on the browser. In many cases, that page is then accepted by the shopping cart software - and that $999 watch becomes a $3 special.


    Publish!! Sounds to me like she means Microsoft Front Page. Again these concerns should be assessed by first: The programmers creating a slew of poorly written programs, second the administrators responsible for making sure their servers, and software is secure and all the permissions are set on files.

    The problem isn't just in the U.S. - an estimated 40 percent of all e-commerce sites in the U.K. are susceptible to the price changing glitch, according to Saalim Chowdhury, CEO of e-commerce software development company Alphakinetic, which has been studying the flaw.


    Studying a problem should be one of the steps but removing it should be the first.

    Oh well we all get the point.

    CIA vs. Jews
  92. All Your Base(pricing) are Belongs... by ChiaBen · · Score: 1

    Now I've got your pesky pricing in my control...

    No one. No one at all should use software that is as ridiculously written as the stuff in this article is. No one. The programmers have less brain wave activity than my grandmother. And she's been dead since 1987.

    Of course they are GENIUSES compared to the idiot media who apparently think this is a common way of writing e-commerce apps!

    Once again, the media takes something which had been a problem/concern - albeit slight - and creates a fiasco over it!!

    and if I ever catch any of you using Sanctum, or even thinking of it I'll personally he-bitch man-slap you!

    --
    "If voting could really change things, it would be illegal. " - Revolution Books, NY
  93. Re:Is this illegal? by ocie · · Score: 2

    Nothing wrong with that. Let's say I had a desire to buy $1000 worth of nice Italian suits. I go try them on and ask that the store fax me an invoice. I take the invoice and change the prices so that these suits cost me $10. Now who's fault is it if the company honors these new prices?

    Just like this company has the right to refuse the deal after I altered it, these websites have the right to refuse the altered prices. As others have pointed out, using some sort of "web shield" (web bandaid is more like it) is a joke. The only way to make sure is to only accept prices that come from your own database, and for Pete's sake, don't put that database machine on the public internet.

    --
    JET Program: see Japan, meet intere
  94. Read the (article's) fine print by weatherwax · · Score: 1
    It says 1/3 of all applications. That may be true, because most of them are hacked-together pieces of junk that may be in use at one site or another. All you need is "JavaScript for Dummies" and a couple of hours and you can -- at least you can believe that you can -- put together a "shopping cart" application.

    In the real world, there are a small number of applications in large scale use, and the custom applications of the major retailers are... well, if 30 percent of them allow user-entered data, I've gotten unlucky...

    This is a self-serving scare story.

  95. Re:Then they deserve it by JohnSmith1138 · · Score: 2

    I guess I really didn't mean they deserve it in the regard that we should all go out and rip them off, I meant that they shouldn't be crying about it if it has happened. If they are on the internet selling stuff then at least the minimum of precautions should be taken against getting ripped off. I am only saying that this is a known vulnerability and should be well-known to anyone using and especially writing shopping cart software. This type of vulnerability should not have happened in the first place.

  96. Love the 'how to' info... by RogueAngel7 · · Score: 1

    Yup, nothing is gonna lower e-commerce fraud like telling everyone how to do it, and how easy it is.

    Hate to see the /. ripple caused by this...

    and as someone mentioned below, why in God's name would an ecommerce server allow a user to publish a page to it? Unless of course the article writer has his wires crossed. It would make more sense to me that the page isnt uploaded to the server, its utilized from the hackers saved copy and only the shopping data is sent back. (shrug)
    anyway.

    As quoted from the linked article:

    'Here's how it works: After choosing a product and receiving pricing information, a hacker can use a standard browser's "edit page" feature to show the hidden HTML code on the page. The thief then saves the page to his computer, alters the price information and then hits the "publish" key on the browser. In many cases, that page is then accepted by the shopping cart software - and that $999 watch becomes a $3 special.'

    RA7
    -

    --
    "Consistency is the hobgoblin of small minds" - RWE
  97. You get what you pay for... by John+Whitley · · Score: 2

    Others have rightly mentioned the flaw in trusting the client side to accurately report your own critical data back to you. This is the technical flaw, but not the root cause. This situation is a prime example of the business risk of employing an underqualified software development staff. (N.B. this could be direct employment, or "employment" via your purchasing department). A lead developer (or preferable, software architect) who analyzed and understood the problem domain (an online shop) separately from the machine (i.e. program) that implements the soltion, would not have exposed this obvious security risk.

  98. innocent ignorance by kstumpf · · Score: 2
    Anybody who is relying on client-side storage is asking for trouble. Basically, storing information in this way is little more than a suggestion to the client. Sort of like the server saying "here is what the price is, now send back what you think the price is!". This is useful for things like non-crucial state information, but use it for much else and youre asking for trouble.

    Most people don't understand that HTTP is stateless and there are security considerations bundled with that.

  99. Electronic Price Tag Alteration by rjune · · Score: 1

    I can't believe that the on-line sellers weren't aware of this! This was clearly mentioned in the book "Hacking Exposed". A blind monkey having a bad hair day could pull this off!

    1. Re:Electronic Price Tag Alteration by techman2 · · Score: 1

      I would have thought electronic retailers were less naive than this. There are naturally people who are going to be attempting/doing this sort of thing. Working in retail, I know that people are always willing to try to weasle their way out of paying even a dollar more if they can. What better way to get something cheap than to choose the price yourself??.

  100. Re:Richard M. Stallman! by Pinball+Wizard · · Score: 1

    thank you. I know that. My shopping cart does this exactly, if you'll read the whole of my comment, you'll see that. I was just trying to explain why this is common.

    --

    No, Thursday's out. How about never - is never good for you?

  101. Re:Richard M. Stallman! by powerlord · · Score: 2

    Okay,
    I can understand the use of allowing the user to update the data (for LOTS of reasons).

    Fine HTML doesn't keep state (I won't argue about how to do this).

    Why trust the prices that have been in the user's care? Why not simply discard all the description/pricing information, and just use catalog numbers and quantity from the shopping cart, and pull the rest from your own internal database, for the final bill (preperatory to paying?) Then, keep that information in a record number, and just pass the record number to the next step? Don't let the user play with the data once they come to the final checkout screen.

    --
    This space for rent. All reasonable inquiries will be entertained at proprietors discretion.
  102. Try this link... by MeowMeow+Jones · · Score: 2
    --

    Trolls throughout history:
    Jonathan Swift

  103. Re:Richard M. Stallman! by eqteam · · Score: 1

    >I'm looking for a good Gyro place in the South >Bay area. If you know of one, please let me know. Falafel DriveIn (Bascom & 280) is decent, limited selection Yiasso (Chain) - OK food, more than one Angelos (Race & Alameda) Good to better Castle Greek Restaurant (N 1st near 237) - crowded at lunch everyday for a reason Falafel Hut (Ocean St(?), Santa Cruz) - high marks with everyone who's tried it

  104. I got one! by noc · · Score: 1
    While I know that was supposed to be ironic, I felt the need to mention that I in fact do have a publish key. When editing the html files for any web site I maintain, I can hit F8 to publish the current buffer (this is in emacs, of course, where else would a hacker add such a silly feature).

    Actually, I wouldn't be too surprised if Compaq starts making keyboards with 'publish' keys to go along with the 'internet' and 'e-mail' and whatever other keys they're inventing.

    1. Re:I got one! by Steeltoe · · Score: 1

      Why make it hard when you can use ange-ftp and regular save? :-)

      - Steeltoe

  105. Re:Is this illegal? by ocbwilg · · Score: 1

    When I was in school I took a couple law classes. That does not make me a lawyer. IANAL. Definitely am not a lawyer.

    But what they always told us in the classes was that a price tag wasn't set in stone, it was merely an invitation to a potential buyer to make an offer. Sales prices are negotiated all the time, and not just on big-ticket items like houses and vehicles.

    In that light, it seems to me that you could make a case for "Your honor, I wasn't hacking the system. I was merely making a counter-offer which his system accepted."

    Still, it's pretty dodgy practice.

  106. Re:Is this illegal? by Anonymous Coward · · Score: 1
    I wrote an e-mail off to my cousin, who is a graduate of Boalt Hall (UC Berkeley) in law. I asked him about the current situation, and this is what he had to say:

    Without research, and just thinking off the top of my head, there is a legal concept in the contract world called: The Meeting of the Minds.

    Both parties - the offeror, and the offeree, must be thinking along the same lines with regards to an offer, and a subsequent acceptance of that offer.

    This is particularly true of the material (that is, essential) terms of the offer/acceptance. It would seem to me that if there is a discrepancy in price, whereby you are thinking you are offering $.01 for something and the other side is thinking it's selling it for $1000, then there's no meeting of the minds.

    However, if this offer (that is, the offer to buy for $.01) is made in writing (and perhaps an html is arguably a writing), then you might be able to argue that the other side had an opportunity to read the terms since it's right under his nose. Therefore, the other side knew, or should have known, what it was getting into since it was in plain view and plain language and the contract should be enforced.

    AC, that's just off the top of my head. I'll think about it more, and ask around. Let me tell you though, I hate to say this, but I have to disclaim anything I've said or written in this email as legal advice. You should NOT rely on this information.

  107. Re:Argh. by Admiral+Burrito · · Score: 4

    On a side note, I teach people to write web applications. My students are generally not programmers to begin with. When we were writing shopping carts, not a single one of my students stored pricing on the client side.

    Having a good teacher helps a lot. You probably explained to them the way a web browser communicates with the server. Not everyone in web dev understands that, even though it is the basic foundation, which is why these problems pop up. If you look at some of the web dev forums you'll see people asking why their static/global variables aren't preserved between invocations of their code, not understanding the stateless nature of http connections.

    So people often do stupid things like this, not knowing any better. Then they notice (either of their own discovery, advice from a peer, or the hard way) that they can save the web page to their local disk and edit the price and submit the altered form. So they "fix" the problem by implementing a referrer check! Then they try the save-and-edit thing and it doesn't work, and figure they're secure, not understanding the way HTTP actually works.

    It's sad, really. I hope you can produce a few more cluefull ones and raise the average out there.

    Trusting data passed by hidden form variables is probably just the tip of the iceburg, though... I suspect there are a lot of database-driven sites that insert user-supplied data into SQL query strings without proper validation, allowing remote users to execute arbitrary SQL. It's like the shell metacharacter thing all over again. I've even encountered a page that did the input validation on the client side in javascript (I had js disabled so I discovered the problem entirely by accident).

  108. Re:Argh. by Paradise_Pete · · Score: 1
    oh yeah. POST. dang.

  109. Re:Silly Merchants.. by Sabalon · · Score: 2

    We do something similar - person fills out form, tell them how much they owe, click a button to pay.

    However, we send an identifier to the CC verifaction company. They connect back to our machine with that info, pull out the price info and show that on the screen with the CC collection info. It connects back again once that is submitted to get the price again.

    Even if the end user changed the info, it won't affect a thing.

    It sounds to me like the stores are complaining because people aren't honest - like putting out your merchandise on the street with a box that says "Please put correct payment in here"

    Duh.

  110. Good observations... by WebCowboy · · Score: 2

    A lot of e-commerce solutions work that way--the payment gateway is a CGI interface that requires a dollar amount as one of the parameters, and thus the reason for getting the price from the client. That is why the result page should look calculate the outstanding balance and not complete the purchase unless or until it is zero. FYI there is a solution that doesn't require submitting the price over CGI though...

    I worked on an e-commerce site that used a Perl module as the interface to the payment gateway. The customer inputs didn't include price at all. A mod_perl handler (you could use a normal CGI script as well) recovered the price from a database based on SKUs and quantities and submitted it through the transaction object (then sent to the bank encrypted). That way, the payment interface is not directly linked to the customer via CGI. It isn't really much more work.

    One thing that wasn't touched on in the feature article was encryption and security. I was a bit dismayed that some "canned" shopping cart solutions advertised that they were "secure" when they were not. The web page and CGI data was of course served up in https, but often credit card data was stored in CLEAR TEXT somewhere on the server, or sent IN THE CLEAR to the payment gateway. One "solution" I saw (geared towards smaller operations) involved collecting credit card info on a secure page, then E-MAILING IT IN THE CLEAR to the merchant to be keyed into their POS terminal manually! WTF is that?

    Well, at least I'm comforted in the fact that the tech-stock-tanking will take out some of these losers--the past dot-com-mania fostered a "don't worry, be crappy" attitude. In this climate dot-coms now have to prove their viability and competence.

  111. Re:Silly Merchants.. by Nexx · · Score: 2

    You don't understand. The merchant has not choice in the matter. The way the credit card authorization works is exactly how the previous poster describes and there is NO way around it other than finding a company that actually has proper authorization. In places like the UK, this is impossible, in the US it's unlikely (if not impossible).

    Yes, they do. They can do something like this: Customer -> Merchant -> CCAG. Yes, it's more work, but since the "Merchant" is always sitting between the CCAG and the Customer, they can verify the prices and such before the authorisation is sent to the CCAG. Basically, the merchant system abstracts the backend, whether it be the RDBMS or the CCAG.

    It's just a matter of inexperienced/untalented developers taking on more responsibility than they can handle, and inexperienced/untalented management not seeing that this is the case.


    --
  112. Re:Not publishing to their site by Jason+Earl · · Score: 2

    That what I thought when I first read the article, but apparently it is fairly common for some mom and pop e-commerce sites to simple have a form that posts to someone else's SSL site.

    You have probably seen sites like this. When the time comes to actually pay for the stuff the URLs are all at some other site. The information has got to get to the SSL site somehow, and apparently someone thought that "hidden" fields in a form would be a good idea, Yow!

    The worst part is that someone almost certainly paid money for that!

  113. Re:Do not trust the client side! by JediTrainer · · Score: 2

    I agree. I am the lead developer at my company where we too have our own application which includes the famous cart

    All I can say is, DUH! The only thing our form lets you change is the quantity of product, and of course the handy delete button. The items in the cart are referenced by their rowid, because they are stored in our database, with their prices fixed. Adding items to the cart is done by part number only, and all other info is taken from the catalog database at that point. Of course we take precautions to validate that the rows you're modifying also belong to YOUR cart, and not someone else's.

    Anybody who puts the prices in as part of any form does not deserve to be programming secure applications. This is a mistake which is in my view unforgivable and I would immediately discipline my staff if I ever caught something as stupid as this in our code.

    --

    You can accomplish anything you set your mind to. The impossible just takes a little longer.
  114. Re:Not publishing to their site by bughunter · · Score: 1
    it makes one wonder how businesses survive at all...

    Every time I deal with executive management, the same thought runs through my mind...

    --
    I can see the fnords!
  115. Re:Then they deserve it by hackstraw · · Score: 1
    I'm not advocating theft in any way. In fact, I rarely lock my primary car that I drive, and the other car that I drive does not lock on the passenger side. In fact, I used to leave the key in the ignition of my previous car or on the floor .

    What I am saying and others alluded to this is that if one expects others to behave in a certain way (be dishonest, etc), yet they do nothing to curtail such behavior or even promote it, then one gets what they deserve.

    I do not trust people I do not know, so I don't trust them. Comon didn't everyone's parents tell them not to talke/accept things from strangers? That phrase is there for a reason...

    Btw, I'm also trapped in a Microsoft job, please help me get out!

  116. Re:Silly Merchants.. by KMitchell · · Score: 2
    The real problem is that a number of CC Processing companies are offering the following service:

    "You create your own web site with a form in it and have your customers submit that form directly to our SSL server! We handle everything"

    This paradigm is intended to decouple payment processing from the rest of the website. There really isn't any incentive to "muck with the details".

    Except, of course if you want to avoid this bug...

  117. Re:Is this illegal? by rgmoore · · Score: 2

    That depends on how the prices are labeled. If they use UPC symbols you may be right; it's their responsability to have the right data in their computer when they look up the price. But swapping the stick on price lables that used to be so common and are still used in some places is a different matter. Swapping those is as easy as pie, and it's unreasonable to expect the company to be able to tell when they've been swapped. Switching price tags is theft by deceit, and so is changing the price that their web page sends to you. The whole thing about this being "negotiating" is a crock of shit; negotiation requires a meeting of minds, and you can't have a meeting of the minds with a computer.

    --

    There's no point in questioning authority if you aren't going to listen to the answers.

  118. Re:Richard M. Stallman! by MadAhab · · Score: 2

    I too would suspect friends of employees. Not that they are bad people or anything, but I've seen more varieties of friend-assisted price-changing scams in the meatspace retail than online variations. Of course, that's because there are only two ways to enable this online; one is backdooring, and the other is to be a clueless idiot loozer programmer.

    Boss of nothin. Big deal.
    Son, go get daddy's hard plastic eyes.

    --
    Expanding a vast wasteland since 1996.
  119. pre-fucking-ciesely by kwashiorkor · · Score: 1
    what I put in my k5 diary.

    It's such utter bullshit that it gives real developers a bad name. I mean of course I'm not going to accept data from the client, unless it's What and How many. It's so utterly obvious.

    First, it was stupid business models. Now it's idiotic software. No wonder there was a DotCom implosion. (Not that we didn't see it coming or anything... it's just so frustrating)
    -- kwashiorkor --
    Leaps in Logic
    should not be confused with

    --
    -- kwashiorkor --
    Leaps in Logic
    should not be confused with
    Jumping to Conclusions.
    1. Re:pre-fucking-ciesely by kwashiorkor · · Score: 1
      I'm only speaking about shopping carts here, as the article in question is about shopping cart hacks. And no, you never store anything but what and how many in a shopping cart.

      God forbid putting a credit card number in a shopping cart. Though I bet there's some idiot out there...
      -- kwashiorkor --
      Leaps in Logic
      should not be confused with

      --
      -- kwashiorkor --
      Leaps in Logic
      should not be confused with
      Jumping to Conclusions.
  120. Re:Is this illegal? by tetrad · · Score: 1
    Yes, because you have modified the agreement the vendor showed to you.

    True, but you handed the modified agreemnent back to them, and they still honored it. Doesn't that show their agreement?

    In a similar vein, I've sometimes wondered about all those sites that use <textbox> tags to frame their user agreements. The data in the text box is usually modifiable by the client, so if I go into the box and alter the agreement before I hit the submit button, why shouldn't my modification be enforceable? If they don't like it, they should reject my change, no?

    tetrad

  121. Common Senselessness by rjamestaylor · · Score: 1
    How stupid it is to trust client systems -- those outside your control -- with server data. How many developers think, "well, the data originated with my server so I can read it from the client and trust it..."?

    Allow client systems to pass client-domain data but never entrust server-domain data to the client.

    The problem is state control. HTTP is stateless, so the short-cut is to store the server-issued data on the client (either in hidden input fields, the URL, or something similar). Usually those who fall for this error don't realize that you can connect to a httpd port with telnet...

    Work around this by, one example, using a server-supplied transaction id to provide context for the server. This id can be stored on the client and used to re-establish application context. The threat of someone iterating through ids is low -- and can be thwarted (timeout, IP matching, client authentication, etc).

    If you are allowing clients to maintain data integrity, you have none.

    --
    -- @rjamestaylor on Ello
  122. Re:Richard M. Stallman! by seanmeister · · Score: 2
    All shopping carts that I have ever seen specifically allow the user to update data. They almost universally allow you to change the quantities and to add and remove items to a cart. This involves an update to the database blah blah blah...

    Yep, that's generally how it works, but there's no need to send the PRICE of the things in the shopping cart as user-submitted data. Instead, you send things like product ID and quantity, and the software looks up the price from the database, which (on any sane system) is out-of-reach from Joe User.

    If an online merchant is going to do something as stupid as this, they might as well save the shopping cart development costs and just put up a page with a blank check for the user to fill out, print, and cash.


    Sean

  123. Um, yeah! by Sebby · · Score: 1
    If the server sends you that price, then no, it's their fault, and it shouldn't be an illegal action to 'purchase' at that price. Like in the airline ticket example in the story, there was no fraud.

    If you cause a change in the price that the server sends you, then yes, it is illegal. But I feel that the retailer also has a responsibility, as blindly accepting any data from the client without checking its own internal database is just plain stupid!

    --

    AC comments get piped to /dev/null
  124. WTF! aren't we a bit short on stories.... by Docrates · · Score: 2

    And i don't mean slashdot, i mean the idiots that wrote the story in the first place.

    ANYONE who has ever written a shopping cart type app, or has used a canned one (a la site server or commerce server) knows that you only pass along the item's identifier (usually a number or string). this ID is then used ON THE SERVER SIDE to retrieve pricing info from the product tables.

    I haven't seen a shopping cart app out there, EVER, that uses pricing as a variable in the html code, and i doubt the writers of the story have either.

    and just trying to say this is the same problem that the united airlines site had is just plain lieing.

    so now that slamming the tech sector is hip, are they all just gonna start making shit up?

    sorry, but this really upsets me.

    --

    There are two kinds of people in the world: Those with good memory.
    1. Re:WTF! aren't we a bit short on stories.... by CrackElf · · Score: 1

      Once I would have agreed with that, but I have
      seen some very bad sites.
      eg: I have seen a (dynamically created) page
      that showed the users confidential information
      (even stuff that the user should not see, like
      the 'very angry' flag) in the source. It
      was a utilities company.
      -CrackElf

      --
      "Blake is an idealist, Jenna. He cannot afford to think." - Kerr Avon, Star One, Blakes 7
  125. The programmers should be shot by Coward+Anonymous · · Score: 1

    Whoever wrote these shopping cart applications should be taken out and shot. It is disgraceful.

  126. Mod up parent by bad-badtz-maru · · Score: 1


    Mod up the parent, this class of vulnerability is very old news and has indeed been corrected in all but the lamest of shopping carts.
    Maybe next we can see an article on the new "format string" type of vulnerabilities?

    maru

  127. Too many bad programmers by Skapare · · Score: 2

    And too many bad managers. They just don't design it right (if they even did a real design at all) and of course it trusts everything the browser sends back. Shame shame shame!

    --
    now we need to go OSS in diesel cars
  128. Silly Merchants.. by Xunker · · Score: 5

    Okay, I must speak out here.

    My day job is at a Credit Card Authorization Gateway -- we handle the debiting of the customers credit card -- so I feel I know a thingor two about how this system functions.

    The process happens generally like: the the 'buy' button is pressed by the shopper, the shopping cart passes a few things to the transaction gateway (among them the price), the gateway debits the card in question, and returns a status code to the shopping cart saying either that the transacttion was sucessful, or that is wasn't (AVS fail, Insufficient funds, etc).

    The problem here is that people are editing pages so that the wrong value is being passed to the payment gateway -- the gateway doesn't know dick about the product in question, all it knows to debit the amount of money it was asked to debit. So even if it's the wrong amount, all the gateway knows is if the debiting succeeded or failed, and doesn't know how much the item costs.

    The thing here is that any payment gateway worth it's salt (Like Authorize.net or iTransact.com) will return, along with a status code about the transaction, a field containing the amount the buyers card was debited for, so they can then compare it to their records and see of the correct price was paid.

    So, simply, the problem here is lazy merchants and (sadly) lazy programmers. With only a few lines of code this problem could be COMPLETELY aliviated(sp).

    --
    Hilary Rosen's speech was about her love of money and her desire to roll around naked in a pile of money.
    1. Re:Silly Merchants.. by BinxBolling · · Score: 2

      This paradigm is intended to decouple payment processing from the rest of the website. There really isn't any incentive to "muck with the details".

      Except, of course if you want to avoid this bug...

      Actually, it's possible to use those systems and still avoid this bug: When the storefront presents the final 'submit' page to the customer, a hidden field (which will be posted to the CC processing company's server) should be included. This field should contain all of the order's pertinent data (price, etc), encrypted with the storefront's private key. When the CC processor gets the submit request from the user, they use the storefront's public key to decrypt the contents of this hidden field and compare the values it contains with those on the form submitted by the user to ensure that no monkeying has taken place.

    2. Re:Silly Merchants.. by dachshund · · Score: 1
      You don't understand. The merchant has not choice in the matter. The way the credit card authorization works is exactly how the previous poster describes and there is NO way around it other than finding a company that actually has proper authorization.

      Read the article. The issue here has nothing to do with the credit card authorizers, which are contacted directly by the server. The issue discussed in the article is much simpler, and involves clients twiddling the HTML on the merchant's pages, which stupidly include the price as part of the "Add To Cart" link. The poorly designed shopping card code then trusts the price submitted by the user's browser, without even double checking against the database. Once your code has made that mistake, it doesn't matter whether your CC authorizer is reliable or not, nor does it matter whether they return the total charged to your card (what are you going to compare it to-- you've already computed the wrong total.

    3. Re:Silly Merchants.. by Anonymous Coward · · Score: 1

      Except I buy two items. Modify both. Item #1 normally $100 Item #2 normally $100 Mod Item #1 $200.00 Mod Item #2 $0.00 Return Item #1 after I recieve them Duh

    4. Re:Silly Merchants.. by dachshund · · Score: 2
      The thing here is that any payment gateway worth it's salt (Like Authorize.net or iTransact.com) will return, along with a status code about the transaction, a field containing the amount the buyers card was debited for, so they can then compare it to their records and see of the correct price was paid.

      Which doesn't do the merchant any good if they're still assuming that the shopper gave them the correct price when they hit "Buy". Of course, any intelligent software designer would never have trusted the user with the price in the first place-- it would have have been grabbed out of the DB and totalled by the server just before passing it to the credit card authorizer.

    5. Re:Silly Merchants.. by orabidoo · · Score: 2
      The thing here is that any payment gateway worth it's salt (Like Authorize.net or iTransact.com) will return, along with a status code about the transaction, a field containing the amount the buyers card was debited for, so they can then compare it to their records and see of the correct price was paid.

      If you're doing it the cheap & easy way, by having your shopping cart software POST to the authorize.net (or whoever) gateway, and then getting the status back as a redirection from the user, you're *still* screwed, even if you check the return code. Anything that goes through a redirection on the user's side can be altered by the user.

      Speaking of authorize.net, take a look at this page; it includes an example of HTML code used to link to their service, and *of course*, it has the price changing flaw. Even funnier, if you run their Test Drive, you get not one, but TWO occasions to save the form to a local HTML file, edit the price value, submit it back, and their system is very happy to take your order at the price you've given.

      So, in short, if 30% of e-commerce sites out there have this problem (as the yahoo article claims), it's not just because of bad programming on the site's side, but also because of gateway services offering and advertising services that are insecure by design. I really wonder if a site that has lost money because of this couldn't sue them for it.

    6. Re:Silly Merchants.. by orabidoo · · Score: 2
      yep, it can be done in theory. in practice, most web developpers are way to clueless to put public key crypto in their webserver backends. even initiating a client SSL connection from the merchant's webserver is documented as "hard, not recommended for most users" by the gateways that offer this kind of secure options, imagine doing raw crypto by encrypting things with a key and sending them....

      btw, encrypting things with your public key amounts to a digital signature, so why not do that instead? send the data, and include a signature with it.

  129. Please read before you hit reply by Pinball+Wizard · · Score: 2

    Read to the end of my comment. I know you are only supposed to pass the ProductID and Quantity in form/hidden field/querystring values. Thank you for the lesson, but I've been doing this for years. All I was trying to do is explain why this is common. You had a lot of inexperienced developers being rushed, and they made some stupid mistakes.

    --

    No, Thursday's out. How about never - is never good for you?

  130. Not publishing to their site by flimflam · · Score: 2

    You don't need to upload a page to their site. You just need to make an HTML page with a form that submits to their server.

    This is really such an obvious problem, I can't believe that anyone would be stupid enough to code their application to accept a clients version of the price. I wonder if most of these problems are caused by one or two widely used but badly designed programs?

    --
    -- It only takes 20 minutes for a liberal to become a conservative thanks to our new outpatient surgical procedure!
  131. Re:Do not trust the client side! by Chris+Brewer · · Score: 1

    "For traditional shops this should be all that necessary to prevent this."

    Of course. How many shops these days ring up the price from what's written on the product? They scan the barcode and pull the price out of their database. Swapping bar codes is tricky to get away with expecially if the bar code is part of the packaging - an exception is the shops that have to have their own bar code stickers on everything.
    --

    --
    Consultancy: If you're not part of the solution, there's money to be made in prolonging the problem
  132. Re:Is this illegal? by Doobian+Coedifier · · Score: 1

    I work in an auto parts store. We have 2 kinds of oil filters: $2.49 and $9.99. If you switched the products so the $9.99 filter is in the $2.49 box, you pay $2.49 for a $9.99 filter. Not quite. You paid $2.49 for the privilege of shoplifting a $9.99 filter. Still illegal, and if I catch you, you go to jail.

  133. slashcrack by Black+Parrot · · Score: 1

    "fortunately we're not selling anything"

    Yeah, people only hack /. to change their karma.

    --

    --
    Sheesh, evil *and* a jerk. -- Jade
    1. Re:slashcrack by GodInHell · · Score: 1

      if only the rest of reality could be so easily confused. Yes officer, I'm innocent.

  134. link by bcaulf · · Score: 1

    Thanks for the pointer; it looks like the paper you referenced is the one at http://www.cs.virginia.edu/~evans/cs551/saltzer/ "The Protection of Information in Computer Systems". Interesting paper.

  135. Richard M. Stallman! by Dirtside · · Score: 1
    (That's the geek equivalent of "Jesus H. Christ!") Why in the hell would anyone writing an ecommerce web application ACCEPT DATA LIKE THIS FROM THE USER?! I mean, seriously, what the freaking hell could you be thinking? You get the damn price from your internal database, you don't accept data about that coming from the user's machine...

    Once again, stupid people give everyone else in their easily classifiable sub-group (geeks) a bad name. For Stallman's sake...

    --
    "Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
    1. Re:Richard M. Stallman! by robosmurf · · Score: 1

      Well, there is the slight problem that if the application just uses the prices from the database together with the item numbers and quantities from the client then if the price gets changed while the user submits the form, the application may charge the user a price they did not agree to.

      This is admittedly quite unlikely, but the consequences could be quite serious.

      Thus you do need to take precautions that the price the customer is agreeing to does match the price you think you are selling for.

    2. Re:Richard M. Stallman! by johnnyb · · Score: 2

      I'm guessing they probably also have the vulnerability to change the item description, which might be even worse. Think about it. If someone allows you to change the description on the web site, you could link to their page, with a specially coded URL that adds "Bag of Crap" to their cart for $5. Or you could add a "B1 Bomber" for $10. This would be even better than setting prices, and there's probably some vulnerable software packages. Noone bothers to check input these days. Where do these programmers come from?

    3. Re:Richard M. Stallman! by Pinball+Wizard · · Score: 1
      there's no need to send the PRICE

      actually if you read my comment past your "blah blah blah" you'll see I said exactly the same thing. I was just trying to explain why this was so common.

      --

      No, Thursday's out. How about never - is never good for you?

    4. Re:Richard M. Stallman! by kwashiorkor · · Score: 1
      All shopping carts that I have ever seen specifically allow the user to update data.

      Uh... yeah: What Item and How Many of that Item.

      NEVER EVER EVER does anything else goes into a shopping cart. Period.

      That is, besides a unique shopping cart identifier that is placed in a cookie, or via the url, on the client.

      All other data comes from the database. All calculations are done from the database.
      -- kwashiorkor --
      Leaps in Logic
      should not be confused with

      --
      -- kwashiorkor --
      Leaps in Logic
      should not be confused with
      Jumping to Conclusions.
    5. Re:Richard M. Stallman! by dossen · · Score: 1

      while you are absolutely right, it is less than a month since some friends showed me a simple to use hole like this in an actual production web-shop (We're CS-students, and they were doing some unrelated project with the firm and were looking at the web-site). I won't say which shop it is (since I don't quite recall *g*) but they simply used urls in a frame to talk to the backend, and by typing these urls in the main address-field and altering the price one could put stuff in the cart at any price ;-) The only problem is that the people who need education aren't likely to read /. So I guess we have to tell them, hit them over the head for dismissing it and tell them again, repeat until satisfied that suit/manager/whatever gets it (no enjoying this, this is for education purposes ;-)

    6. Re:Richard M. Stallman! by Helge+Hafting · · Score: 1

      Trivial. You prepare new prices. You bring down the webserver, do the price update, and bring it up again. A few people have to reconnect. You don't have to change store prices every hour, so this is not a problem. (You may want to sit all day and enter new prices, but you don't need to update the DB continuously)

    7. Re:Richard M. Stallman! by Skyshadow · · Score: 4
      I'd be really shocked if the people writing the web site were ultimately responsible for this. Instead, I see this sort of conversation:

      Geek> Okay, the site is progressing nicely. We're almost ready to roll out, all we have to do is pay our contractor for another two hours of work to add in the price verifi...
      Suit> What? Another hour?! But we're paying her almost $70 an hour! That's $140 for something we can go live without, right?
      Geek> Well, theoretically, but...
      Suit> Do it! Wait until the CEO hears that I'm taking proactive steps to save money on our mission-critical project!

      I've sat in enough meetings that went like this to have no problem picturing an exchange of this nature.

      ----

      --
      Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
    8. Re:Richard M. Stallman! by funcan · · Score: 1

      Doing this has legal impecations if you update the database while there is a customer trasaction underway - the price the user ends up paying is not the one they agreed to...

      So I guess you'd need the either send item code & the price and validate the price against a history list for the item code, or else generate a new product code whenever the item price gets changed...

  136. Blah. by LoCoPuff · · Score: 1
    Personally, if I got the chance to hack slashdot, I would change all the story titles to "AYBABTU".


    Or at least a bunch of people's sigs.



    ---

    AYBABTU (0wned)

  137. Re:Is this illegal? by sethgecko · · Score: 1

    it would depend on if the person you are dealing with has the authority to deal. If you go to a car lot and give the janitor $100 to druive off a $10000 car, it is theft because the janitor does not have the authority to give the car at that price. usually a salesman does not have the authority to go lower than a certain point either. usually I would think online vendors can claim that their software does not ahve any authority to accept altered prices. which would make submitting altered prices fraud. but then, IANAL.

    --
    Be ot or bot ne ot, taht is the nestquoi.
  138. You overlooked something by Rix · · Score: 1

    If an agent sells you something for a price lower than they are authorized to do you're in the clear. The agent, however, is responsable. So they get to sue their software, not you.
    Cheers,

    Rick Kirkland

  139. Re:Uh crimes are illegal by khendron · · Score: 1
    I totally agree. Just because you can doesn't make it legal.

    In a physical store, if the staff is too busy too notice, is it legal to shoplift? I don't think so.

    --
    Life is like a web application. Sometime you need cookies just to get by.
  140. ISS advised on this over a year ago by Krelnik · · Score: 3

    No offense to our competitors at the company referenced, but ISS issued an advisory on this over a year ago. Read it here:

    Form Tampering Vulnerabilities in Several Web-Based Shopping Cart Applications

    --Tim Farley, ISS

  141. Now we know... by the+real+jeezus · · Score: 3

    How /. could afford to buy the Slashdot Cruiser!


    If you love God, burn a church!

    --

    Ewige Blumenkraft!
  142. Re:Is this illegal? by mazor · · Score: 1
    There is a legal term called the spirit of the agreement. A signed contract can be thrown out by the court if a clause in the contract is significantly at odds with the purpose of the contract and the representations and descriptions made of the contract prior to signing.

    There's a simple term for the situation where one party in a contract is deliberately trying to cheat the other party by misrepresenting what the contract is about: the word is fraud. Contracts build on fraudulent representations are almost never enforcible by law.

    If somebody gets $10,000 worth of equipment for $10 by price-changing the order form, all the company has to do to justify legal action is demonstrate to the court that the purchaser deliberately intended to defraud the company. Editing the html to change the hidden price fields is a pretty clear intent.

    -mazor

  143. Is this illegal? by Anonymous Coward · · Score: 2

    At first glance, the answer would seem to be "obviously." But is it?

    Think about it; when you're at the "checkout screen" of an arbitrary online vendor, and you click the "Submit Order" button, you are essentially formally agreeing to a set of terms .. namely, that you are going to buy Item X and pay Price Y for it. Moreover, the vendor agrees to sell you Item X for Price Y. If that agreement, as shown to you, says that the vendor will sell you the shiny new laptop for $3, are you violating any actual, existing laws?

    Certainly this is immoral, but I don't see how it can be (currently) illegal.

    1. Re:Is this illegal? by technos · · Score: 2

      Yes, because you have modified the agreement the vendor showed to you.

      I don't know. You did not generate the agreement, the vendor did. And you made changes to the pricing before the agreement was generated or entered into by the vendor. Like in the real world, I call up a vendor who is advertising, say Xeon CPUs for $40 each. I tell the sales drone I'd like four, but I'm only willing to pay $30 each. The sales drone agrees to the price, and it is entered onto the sale order. When the sales drones boss takes a look at it, and says '$30?? It's $40, or nothing. Change the price.' he is pretty much screwed. He must either honour the price or face a lawsuit for the difference when he invoices me for $40 each.

      Now in this situation, the vendor is leaving the offer price open to the consumer, and not double checking before it is slapped on the semi-binding sale agreement. It's the vendors problem, not yours. You should never enter into any agreement you haven't read, nor are reasonably guaranteed to know the contents of. Same rule applies, technology or no.

      --
      .sig: Now legally binding!
    2. Re:Is this illegal? by cpt+kangarooski · · Score: 1

      Heh. I actually have designed a page like that with a textarea for a client that requested it. But we were bright enough to reject the form if the content were changed, and there was some javascript to prevent it on browsers that honored that.

      Which isn't great, as contracts SHOULD be negotiable, but it is a good step to protect the idiot company that doesn't want to actually read contracts that it makes.

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
    3. Re:Is this illegal? by shepd · · Score: 1

      >Do you think you're now obligated to work for $7?

      I don't know what the law is, but understanding that $7/hour is a legal wage, I think yes. Especially if the terms were fully negotiable (you didn't walk in there and demand $200/hr but said you'd do a job and hammer out a contract). But ONLY if you signed it.

      This isn't any different from changing the EULA that came with some software you bought and faxing it to the company. They 100% assume that you have been clearly told what the agreement is, and that you will abide by it. If they recieve your new agreement (even if you only change one word), and sign it, they are legally bound.

      Until the pen's to paper, you know the saying, "Money Talks, Bullshit Walks".

      Btw, IANAL.

      --
      If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
    4. Re:Is this illegal? by GlassUser · · Score: 1

      Not in the least. When you go to the store and get an item, it has a UPC on it. That UPC has a number that corresponds to a record in a pricing database. That record has name and price (among other things). When the cashier scans it, he/she views (or is supposed to view) the display to make sure the name matches what they just scanned. If it doesn't, they should cry foul (though for the machine by default, I would think). What you seem to imply is that the UPC is a number directly representing the price. This is totally incorrect, and would lead to a lot of UPC switching in stores.

    5. Re:Is this illegal? by Helge+Hafting · · Score: 1

      <i>If somebody gets $10,000 worth of equipment for $10 by price-changing the order form, all the company has to do to justify legal action is demonstrate to the court that the purchaser deliberately intended to defraud the company. Editing the html to change the hidden price fields is a pretty clear intent. </i>
      <p>
      Try it. You can't prove that someone edited the html tags. They'll just say "I placed an order using my browser, sure - it was dead cheap - I though it was a special offer or something."

  144. Re:Uh crimes are illegal by lglenn · · Score: 1

    Just because you leave your car running in a bad neighborhood with the title taped to the rear view mirror and the doors open doesn't make you not a complete freaking idiot.

  145. Do not trust the client side! by (void*) · · Score: 3
    Shopping cart servers should not trust anything on the client side beyond the identity of the shopper and what items it purchased. The computation of price, shipping and tax should be all done on the server, and the results presented to the consumer for him or her to endorse and finalize the purchase.

    For traditional shops this should be all that necessary to prevent this. But I do see problems for certain types of auctions.

    Then of course, servers can be hacked, but that is a different problem ...

  146. Re:Argh. by jimmu · · Score: 1
    I'm not going to argue that this may be self promotion on behalf of Sanctum, lets take a moment to consider this:

    First, take into account average computer literacy. Internet use has exploded, and not all the of the people online fuly understand what the hell they are doing. Mom and Pop buying something online arent goign to go check the source code for the page they are looking at. They are going to put there CC number in and click okay. This can be said of most people buying something online. Even the geekiest sysadmin probably won't view source when he uses on online shopping cart. Additionally, the script kiddie hax0r type probably doesnt even know what a hidden form field is.

    So what we have here, is a problem that could potentially effect a huge number of people, but they dont know it. Its hiding in plain sight, if you will.

    --

    ----
    One of us needs to stick ones' head in a bucket of ice water.
    - Hobbes
  147. Re:Then they deserve it by ocie · · Score: 2

    Maybe not you, maybe not me, but somebody is going to take advantage of this. And just like shoplifting, it is the real shoppers that are affected. Those that got $25 tickets to Paris are being subsidized to some degree by the rest of the airline's customers.

    I find this really irresponsible of these companies, but the airline thing sounds like a different problem. Sounds like they had a bug in their software that forgot to include the fare for the ticket.

    --
    JET Program: see Japan, meet intere
  148. It's for the children by Rares+Marian · · Score: 1

    Given the recent Columbine rehash over in California, I expect statistically an "It's for the children" argument would draw some support from some of the paranoids still bewitched by the event.

    Course I don't have any "It's for the children" arguments to support cracking for stealing purposes, nor to support any other cause.

    "It's for the children" should be banned as an argument.

    Now for something completely on topic:
    To the guy on a certain mailing list who can't see the light about security needs, don't ever sell anything online, you'll be sorry. That's a warning not a threat.

    --
    The message on the other side of this sig is false.
  149. stating the obvious by Segfault+11 · · Score: 1

    Why should you need to? Well, it's clearly necessary.

    Sometimes, you're stuck without a choice. Perhaps you're writing a client/server database application that needs to be cheap -- you use Access, and leave date stamps in the hands of clients. I suspect that the biggest problems in the article's example come from the people who manage to get a shopping cart script or two running on their shared server. If the cart is database agnostic, it needs to know what the price is *somehow*, right?

    If you have a dedicated server and a database that generates those prices in the catalog, you're just plain lazy. The programmer ought to be shot.

    --

    I registered my hate for Jon Katz

  150. Not just shopping carts by FTL · · Score: 2
    Forged information from the client can also used to turn most web->email feedback forms into spamming gateways. We were recently stung when some jerk used a peice of software that lied about it's referer and hijaaked one of our feedback forms. He used it to send a porn spam to 33,000 AOL addresses.

    The really scarry bit is that out of all these messages, we only got complaints from *2* AOL users. If you are using formail.pl, tighten your security now.
    --

    --
    Slashdot monitor for your Mozilla sidebar or Active Desktop.
  151. Why merchants do this by dachshund · · Score: 5
    This isn't anything like "price tag switching" - this is more like "not having price tags at all, and having the cashier ask the customer how much the sign said."

    Generally this sort of design-by-idiocy approach is the result of merchants using those "build your own store" systems. In these cases, a hosting service provides the shopping cart and credit card authorization, and you can build your site just to point into it. Since there's obviously no database shared between you and the shopping cart system, passing prices (in the clear or some munged form) is necessary. Then you take your chances. Hopefully if you're too cheap to build a real site, you're not selling anything too expensive. Hopefully.

  152. Yes, it's a plug, but they are not evil by XNormal · · Score: 2

    Sure, this article is clearly just promotion for Sanctum's products. Yes, it's the familiar voice of clueless marketroids.

    But what makes you immediately assume that the product is worthless and that techs just like you who have developed it must be dumb? Why do you label them as "so-called security"? Have you even bothered to open their web site?

    I am not affiliated with sanctum, but they actually have a very nice product. From their documentation it looks like AppShield is a proxy that takes the stateless http protocol and puts a stateful inspection layer on top of it, checking for manipulation of forms, cookies, field sizes, etc.

    It's easy to blame sloppy web programmers but the fact remains that the demand far exceeds the supply of qualified programmers. And even good web programmers are sometimes required to use buggy packages developed by others. In the real world of deadlines and underqualified personnel there is definitely room for a product like this. You are more than welcome to develop an open source equivalent.

    -

    --
    Stop worrying about the risks of nuclear power and start worrying about the risks of not using nuclear power.
  153. You could sell karma! by SpanishInquisition · · Score: 1

    I could use some right now.

    --
    Je t'aime Stéphanie
  154. Patent violation here by Skyshadow · · Score: 5
    Hey, isn't this a violation of Priceline's "Name Your Own Price" business model patent?

    ----

    --
    Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
  155. Get them credit cards folks! Time to shop! by QwkHyenA · · Score: 1

    NT. I just love it when they post the crack in plan sight like that...Idiots! Idiots Pinky!

    --
    LFS. Have you built your system today?
  156. Plaintext passwords by swv3752 · · Score: 1

    That is what CowboyNeal said in recent interview. This is why I never share a password for sensitive sites and non sensitives like this. I might use the same password for slashdot that I use for some forum somewhere, but my email accounts are going to be different. My cyberstore accounts will use a different password. I really dont care if someone steals my slashdot ID. It is only used to share a bit of info and have a customized front page. If you somehow manage to post as me on some forum then big deal. It is a big deal if you managed to log into buy.com and use my credit card info because I was stupid. (I really don't know what buy.com's credit card policies are, nor do I care as I don't shop there. It was just an easy example.)

    --
    Just a Tuna in the Sea of Life
  157. Re:Argh. by Amazing+Proton+Boy · · Score: 2

    Sorry, but I just went to several web sites that I buy from and tried this. It worked on EVERY ONE of them. I called the told them about the bug and asked them to cancel the order. One of the sites I tried is a MAJOR retailer.

  158. Good chance it is legal by stonewolf · · Score: 1
    I was once in the position of having to negotiate a contract when I was in a very weak position. I was being fired... At the advice of my lawyer and with the help of his staff we took the termination agreement I was offered, created a new one with the same front and back page, but with some parts in the middle modified to my benefit. I then signed two copies of it and sent it back to company in the envelope they provided. What we did was not only legal it was done at the advice of my lawyer.

    I don't see any legal difference between the two hacks. There is a huge moral difference. In my case I was being fired to force me to give up minority ownership of the company. In the other case people are stealing from the stupid.

    Hmmm... is it actually immoral to steal from the stupid?

  159. Re:Argh. by kd5biv · · Score: 1

    I know how to prevent it - block PUT method access in your httpd.conf file. BIG DEAL.

    Yeah, it's not easy to fix, but how many "webmasters" out there are that competent? If it's not a checkbox option in FP2K, a lot of them don't think to look at it ..

    I have to say I have seen few things easier to set up than Apache's httpd.conf, so it doesn't hurt to go take a look at the file. Oh, you're not using Apache, you're using IIS? Maybe this article *was* for you after all .. ;-)

    --


    73 de N5VB (ex-KD5BIV) AR SK
  160. Uh crimes are illegal by Fervent · · Score: 2
    OK, and we should do this because?... Just because we can hack some crappy source code doesn't mean we should take advantage of it.

    Just remember that behind every evil corporation is some webmaster trying to make ends meet. Maybe he didn't have the time to write decent, error free, hack free code. I say, if you're going to hack, hack your own software and hardware on your own box. Don't break other people's work, no matter how easy it may seem.

    --

    - I don't care if they globalize against free speech. All my best free thoughts are done in my head.

  161. Re:Argh. by Azza · · Score: 1

    Good point, but these are not the sort of people who should be developing web applications for e-commerce sites. Anyone who puts them to work doing so deserves everything they get.

  162. Then they deserve it by JohnSmith1138 · · Score: 1

    This vulnerability has been around for a while. The linked article is from October of last year and I remember seeing this at least a year ago. If this is still happening it is nobody's fault except the vendor that sells the shopping cart software. It is unbelievable that this is still happening.

  163. Re:Argh. by cheshire_cqx · · Score: 1

    My reaction was: how retarded!

    Isn't it easy to do a lookup in your database to see if the prices match what's being bought, and put some integrity constraints into the system?

    I sure would if it was my money on the line!

    ---
    In a hundred-mile march,

  164. this is not 'just another e-rip off' by patter · · Score: 2

    This is really just poor software design. This is simply evidence of what many have indicated is a problem in the area of web design in general.

    Just because Joe Schmo is a good graphics designer, or knows how to use front page, does not qualify him or her to start designing software... it should be obvious to any professional software designer to verify the data from the web form against what is in the database.

    In fact, many good shopping cart packages do just this... I suspect that after being burned once, smart e-businesses will either redesign their software, or hopefully learn that even web based software should be designed by a professional programmer, not some hack who just happens to understand PERL's syntax...

    --
    -- If at first you do succeed, try to hide your astonishment. -- Harry F. Banks
  165. Argh. by BJH · · Score: 5

    Sorry, but this looks like nothing more than a bit of self-promotion by the so-called "security" firm Sanctum. C'mon, if forty percent of all Internet retailers were vulnerable to this, wouldn't someone have noticed it before? Interesting how the article also includes a description of Sanctum's products that - surprise, surprise! - can apparently prevent this sort of abuse. I know how to prevent it - block PUT method access in your httpd.conf file. BIG DEAL.

    (And I'm not going to even start on the way the Sanctum guy basically calls the people who got the cheap fares from United thieves.)