Slashdot Mirror


500 Thousand MS Web Servers Hacked

andrewd18 writes "According to F-Secure, over 500,000 webservers across the world, including some from the United Nations and UK government, have been victims of a SQL injection. The attack uses an SQL injection to reroute clients to a malicious javascript at nmidahena.com, aspder.com or nihaorr1.com, which use another set of exploits to install a Trojan on the client's computer. As per usual, Firefox users with NoScript should be safe from the client exploit, but server admins should be alert for the server-side injection. Brian Krebs has a decent writeup on his Washington Post Security Blog, Dynamoo has a list of some of the high-profile sites that have been hacked, and for fun you can watch some of the IIS admins run around in circles at one of the many IIS forums on the 'net."

35 of 332 comments (clear)

  1. ob... by Anonymous Coward · · Score: 4, Funny

    Does it run on linux.

    1. Re:ob... by ArcherB · · Score: 5, Interesting

      Does it run on linux. That is actually a good question and the first thing I thought of. While I'm not worried about my little webserver being hacked as it runs on Linux without MySQL, I am worried about my browser.

      If I run Firefox on Linux without NoScript, is there a danger?

      --
      There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
    2. Re:ob... by RobBebop · · Score: 4, Insightful

      In other words, you can't rely on the site you are visiting to be safe.. so the onus is on the end user to make sure their PC is fully patched and as secure as possible.

      The above quote is from the article link which lists "important sites that have been compromised". I think the important thing is that any site running MSSQL could potentially be compromised in a way that would affect a reader of that site who (a) does not have an updated web browser, or (b) doesn't have script disabled.

      In 2008... why is it really so easy to put a damned single or double quote into a SQL form and then make it possible to execute your malicious code on that server? Shouldn't disabling this be a fundamental security rule for databases?

      --
      Support the 30 Hour Work Week!!!
    3. Re:ob... by keithjr · · Score: 4, Insightful

      In 2008... why is it really so easy to put a damned single or double quote into a SQL form and then make it possible to execute your malicious code on that server? Shouldn't disabling this be a fundamental security rule for databases?

      It is fundamental. It's called secure input handling, or sanitizing input. Just because it's a rule doesn't mean it is followed.

    4. Re:ob... by sm62704 · · Score: 3, Insightful

      True, but the summary could have mentioned it. As it is, it's a ripe subject for humor. Only some folks here defend their choice of operating systems like others defend their wifes and children. Anyone who would get angry because someone jokes about someone else's product has some serious issues.

      "It Isn't Secure" is a tired old joke. But so is Microsoft!

      --
      mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
    5. Re:ob... by steelclash84 · · Score: 5, Funny

      Did you really name your kid "Robert'); DROP TABLE Students; --"?

    6. Re:ob... by mhall119 · · Score: 4, Informative

      Obligatory link:
      http://xkcd.com/327/

      --
      http://www.mhall119.com
    7. Re:ob... by hclewk · · Score: 5, Funny

      Oh, yes. Little Bobby Tables, we call him.

  2. Bias? by jmpeax · · Score: 5, Informative
    SQL injection is a result of poor data validation on the part of the web application - not, as the blurb implies, an indicator of an insecure web server. LAMP installations are also susceptible to SQL injection (PDF). From TFA:

    Unless [...] data is sanitized before it gets saved you can't control what the website will show to the users. This is what SQL injection is all about, exploiting weaknesses in these controls. As for the fact that Firefox + NoScript prevents the problems, that really isn't a surprise seeing as these specific exploits rely on executing a JScript. Any browser with scripting disabled would be immune.

    The tone of the blurb is not only biased but also counter-productive to promoting open source (as this appears to be its intention): by trying to criticise closed technologies not by highlighting their actual deficiencies but instead by spreading FUD, the whole community is done a disservice.
    1. Re:Bias? by ischorr · · Score: 3, Interesting

      Also, is it 500,000 web *sites* identified so far, or 510,000 web *pages*?

    2. Re:Bias? by Shados · · Score: 5, Insightful

      I agree, and that was my first reaction: "Wtf does IIS have to do with SQL injection". If nothing else, a LAMP stack would be more susceptible, not because of the servers, but because PHP didn't have mainstream prepared statements as part of a default standard install in its earlier versions, and now that it DOES have it, a lot of script kiddies or peanut gallery programmers aren't using them, as opposed to Java/.NET/Whatever which, while still having some issues with the same group of newbie developers, are prepared-statement centric in their development paradigms and documentation, thus reducing the amount of possible SQL injection significantly, unless the apps are made in legacy environments too.

      Its such a rediculous flamebait, I don't know what to say.

    3. Re:Bias? by Mia'cova · · Score: 4, Informative

      The blurb completely misquotes the article. The article clearly states pages as reported by google. Plus, Google is hardly a live metric for the state of the internet. It really gives us a very poor estimate of how much impact this is having.

      Also, which browsers are affected? It sounds like most of the exploits being used against the browsers have already been patched. Is there a new one there?

    4. Re:Bias? by Anonymous Coward · · Score: 4, Insightful

      Agreed. I *hate* Microsoft and am as rabid a Free Software advocate as you will find, but code injection attacks are neither the fault of nor prevented by the OS or web server.

      If users of open source software want to protect our largely well-deserved right to be smug, we have to be no less vigilant against these attacks than the proprietary chumps. This particular attack may only have hit MS servers, but this category of attack in general is frighteningly equal-opportunity.

      We can't take our superiority for granted; we have to earn it every day.

    5. Re:Bias? by Shados · · Score: 4, Insightful

      No, i'm not trolling. My point is that the story itself is trolling. This isn't an IIS directed attack, it is a "bad programming" directed attack. The -same- attack, exactly, would work -regardless- of the server. You don't even need to CHECK which server is running on the machine for this attack to work, since the server is IRRELEVENT, and I was trying to demonstrate that. Nothing more.

      It is NOT an IIS directed attack. At best, its a loose corelation statistic, and one thats pretty useless without comparing it to other references, such as other web servers.

    6. Re:Bias? by toby360 · · Score: 4, Interesting

      I have to agree that this is highly Biased.
      This has nothing to do with IIS, SQL or ASP, coding against SQL injection is the responsibility of web designer. Also it should be noted that ASP was originally released way back when with NT4.0 in 1996(v1) , 2.0 in 1997 and 3.0 in 2000 http://en.wikipedia.org/wiki/Active_Server_Pages.

      With the newer ASP.NET MS was kind enough to provide several layers of protection against attacks such as SQL injection with both server side and client side validation applied to controls when built in the designer (by default).

    7. Re:Bias? by Col.+Klink+(retired) · · Score: 4, Informative
      > "Wtf does IIS have to do with SQL injection". RTFA:

      the attackers looked for ASP or ASPX pages containing any type of querystring
      This specific attack, of which google has found over half a million affected pages, is targeted at IIS.
      --

      -- Don't Tase me, bro!

    8. Re:Bias? by Shados · · Score: 4, Interesting

      Doesn't change that IIS doesn't have anything to do with it. If you take aside that both ASP and ASP.NET (more ASP though) aren't IIS specific by a long shot, the attack is targeting specific technologies, then targetting specific software development flaws within the boundaries of those technologies. If I'm running PERL/PHP on my server, it won't see it. If I'm running an ASP page on Apache, it will, and even if my server hasn't been patched for the last 5 years, I'm no more or less vulnerable to that attack.

      If the attackers looked for servers that were advertising themselves as IIS, and/or attacked IIS vulnerabilities or bad administration practices, you'd have a point. But the fact that the servers were running IIS was little beyond a strong corelation.

    9. Re:Bias? by Facetious · · Score: 4, Informative

      The admins on the ground seem to disagree with you. From that page, "Our initial investigations are pointing at an attack through IIS using ASP in an overload."

      --
      Let us not become the evil that we deplore.
    10. Re:Bias? by Stellian · · Score: 5, Funny

      In fact, the attack enumerates all ASP variables and tries to force a SQL payload in them, that in turn if executed adds the link to the malicious script to every textfield in the database. A very simple vulnerability scanner, if you like, targeting only ASP applications - thus the ISS spin.
      Since we don't see the LAMP version spreading I think we can safely conclude that no web application written in PHP with a MySQL back-end is currently vulnerable to any type of SQL injection.

  3. Re:epic lol by James+Kilton · · Score: 5, Informative
    Wow. The responses on the forum http://forums.iis.net/t/1148917.aspx?PageIndex=1 are sad indeed. Windows Security patches DON'T protect against shittily built websites. My favorite:

    I also have been hit by this attack on Saturday 4/12/08. It compromised our database and overwritten that script into all of your products. Luckily a database restore fixed the problem. Two days later the same thing happened, I have changed all the database and login passwords and did another db restore. Now today 4/18/08 we got hit again by the same thing but this time as the pages are loaded ActivX is activated and wants to run but of course I did not allow it. Anybody has successfully solved this situation? It truely sickens me how many web developers STILL don't know about SQL Injection.
  4. Not really by Scareduck · · Score: 3, Informative

    PHP has pretty much fixed SQL injection hacks, at least for MySQL, something TFA you quote mentions on page 74. Given that this is the majority combination on web-facing machines, shouldn't that blunt the "LAMP installations are also susceptible to SQL injection" if only by quantity? I mean, I agree with your counter-FUD reasoning, but it seems to me that this blunts your whole sentence, MySQL+PHP being two pillars (and the last half) of LAMP.

    --

    Dog is my co-pilot.

    1. Re:Not really by weicco · · Score: 4, Interesting

      As so has ASP.NET. I write (almost) all my database queries parametrized like this

      SqlConnection conn = ...
      SqlCommand cmd = ...
      cmd.CommandText = "SELECT * FROM Foo WHERE Bar = @bar";
      cmd.Parameters.AddWithValue("bar", barValue);

      This way I'm pretty safe from SQL injection attacks. Add all the HTML encoding/decoding stuff to that and you can rest your nights peacefully.

      Then enter the PHB. Now a days we stuff all the parameters straight to the DB procedure where they aren't sanitized at all. We build SQL query inside the stored proc by concatenating strings and call sp_execute to execute them. So all my earlier input validation and parameterized queries went down the drain. PHB's reasoning? - We trust our users.

      --
      You don't know what you don't know.
  5. This site makes me sick by RzUpAnmsCwrds · · Score: 4, Insightful

    This site makes me sick sometimes. If this were a problem with PHP (which, mind you, it IS), we wouldn't be calling it a "vulnerability".

    ASP.net has lots of built-in features to prevent SQL injection attacks (like bind parameters) and the ASP.net DB documentation specifically warns about this type of attack.

    Anyone still getting hit with this in 2008 needs to be whacked on the head.

    1. Re:This site makes me sick by MrMunkey · · Score: 5, Insightful

      Anyone still getting hit with this in 2008 needs to be whacked on the head. This is true of any language, not just ASP. You can easily prevent SQL injection with Perl, Python, PHP, etc.
  6. Re:Seems to be effecting older versions of IIS... by geminidomino · · Score: 3, Funny
  7. Re:epic lol by caluml · · Score: 4, Insightful

    Why do you think he's a developer? He sounds more like a sysadmin to me.
    Sure, he should know about SQL injection stuff - but even if he did, would he be able to fix it?

  8. Re:epic lol by D+Ninja · · Score: 3, Informative

    Parent -1 Flamebait. (Actually...it's more Article -1 Flamebait.)

    Anyway, as it has already been noted, this problem has nothing specifically to do with the IIS servers.

    Two other notes:
    FOSS is good, I agree. But FOSS, by default, is not always better than closed source solutions. Making a blanket statement like that is being just as close minded as the opposite camp.

    Using M$ to represent Microsoft is soooooooo 1990s.

  9. Re:The Trojan is hosted in China by Kong+the+Medium · · Score: 4, Funny

    I'm sure you mean Persia.

    And I'm sure you meant Turkey.(http://en.wikipedia.org/wiki/Troy).

    --
    ... whenever a text is transmitted, variation occurs. This is because human beings are careless, fallible, and occasiona
  10. what does the trojan do? by circletimessquare · · Score: 4, Insightful

    ok, story 1 is a sql injection

    there seems to be a story 2 here: what the trojan will do in a few weeks to all of the IE users who visit these half a million sites

    and, reading some of the links and finding that these trojan hosting domains are registered in china, there also seems to be a story 3: chinese hackers are pissed off

    i got hacked shortly after the hainan island incident in 2001. that is when the us spy satellite was bumped a chinese fighter, and was forced to land on hainan island (china). there was much chinese nationalist anger then, and it was taken out by hacking western sites with "f**k usa!" and the chinese flag replacing the main page

    obviously, this hack is contemporaneous with the whole tibet riots/ olympic torch protests. that's the meat of this story, and that avenue seems unexplored as of yet. similar to the russian ddos of estonia due to the deprecation of a war statue in 2007: the lesson is that, much like al qaeda and terrorism, cyber warfare is not so much a tool of any state government, but chest-thumping activity for ultranationalists and religious bigots and other organizations of cultural or national or religious chauvinism. the theme of the 21st century seems to be shaping up as partisan tribalism and extreme ideology reaching beyond the notions of sovereignty, statehood to go to war with each other in a novel ways

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    1. Re:what does the trojan do? by Deanalator · · Score: 4, Insightful

      Please do not perpetuate hysteria.

      The "Russian DDoS attacks of Estonia" were done by a few Estonian kids mad about some statues being moved around.

      http://www.theregister.co.uk/2008/01/24/estonian_ddos_fine/

      There was no cyberwar, the Russian government had nothing to do with it, and every media source that mentioned it really needs to update their articles because the misinformation is causing far more harm than good.

  11. 500,000? Where'd that number come from? by Robotron2084 · · Score: 5, Informative

    Before you post such a headline, perhaps it would be a good idea to check your facts. I RTFA'ed and checked those links and there is no mention of how many servers were attacked. There were 510,000 pages mentioned, but pages do not equal servers. This a sensationalistic headline based on a sensationalistic interpretation of a Google web search.

  12. Re:So this isn't an IIS attack at all. by SatanicPuppy · · Score: 4, Informative

    There are several smart things that need to be done to protect yourself.

    Restrict the account that is used to access the database to the absolute minimum permissions it needs to run; using one set of credentials for insert/update/delete and another for selects is enough to foil a lot of exploits (I actually never allow deletes, just out of paranoia...I just update the record with an "inactive" flag, and purge them later with a local account).

    For gods sake, don't allow a single account to access multiple databases, and even within the database make sure it only has access to the tables you're going to be using. I've seen more than a few MySQL injections that just dump the user table to the screen because some joker didn't think he needed to restrict access for "SELECT" statements.

    Escape ALL data that comes from userland. This is your first line of defense, and it's where most people screw up. If you let an escape character past without it being escaped, your only protection is the privileges associated with the user account.

    Abstract your data methods. If you just throw out random SQL queries all through your code, you're going to make a mistake somewhere. Make a single method that does your selects. Make a single method that does your inserts, etc. If it's only in ONE PLACE you can go over the code in extreme detail. If the queries are scattered through the code, you can't.

    This is all just best practice stuff. The most important thing is to PAY ATTENTION and remember that one unsecured account can screw your entire server.

    --
    ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
  13. Any meaning to the site names? by Guppy · · Score: 3, Interesting

    Hmmm.... nihaorr1.com? "Ni Hao" is a greating, like "Hello" in Chinese. Anyone figure out any meaning behind the other names?

    (Other meanings are possible as well, due to the large number of homophones in the language, but this is by far the most obvious meaning.)

  14. Looking at the IIS forum... by jd · · Score: 3, Informative
    ...the first person to google for attacked pages only turned up ASP pages as cracked. Later on, they say that the javascript attempts to use an ActiveX control. If I am exceedingly generous, I'll allow for the possibility that the story was written by someone who saw just these two comments and assumed that since both of these are generally run on Microsft OS', that this was an IIS problem. (Actually, more than a few people using Microsoft OS' run other web servers. There's quite a selection to choose from. Also, both ASP and ActiveX are usable under Linux, well, ish.)

    However, it is now abundantly clear that the attack is NOT ASP-specific, and just because one of the vectors it tries is based on ActiveX does NOT mean it doesn't try other methods. It only means that the people who spotted it early spotted it trying that method. Although it's unlikely to have an attack library for multiple OS', it would be surprising if it didn't have some alternative action for when ActiveX isn't available.

    I'm concerned about the number of Government sites that have been shown to be vulnerable, especially (as has been commented by others on Slashdot) a Canadian site dealing with national security. This attack is unlikely to cause any particular lasting harm, but stop and think. These are the sorts of sites that actually need to be secure. Even if not directly connected to internal secure networks (and I'd be willing to bet that far more are than are supposed to be), they are high-profile and for that reason alone are likely to be much more at-risk than other sites.

    Most smaller websites are just point-of-presence and information sites. It's an irritant if they vanish for a while, but it's unlikely to hurt anything. Nobody is going to die if a blog site isn't available for an hour or so, unless they're a serious addict. No small vendor is going to lose business if their PDF datasheets aren't reachable for a little while. Adult sites risk making a one or two percent loss of webcam income out of their steady stream of millions. I seriously doubt anyone from the United Methodist church will suddenly become Mormon or Catholic because their primary website was hit.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  15. Re:More data needed by CastrTroy · · Score: 3, Informative

    You can have SQL injection problems just as easy in stored procedures as you can in plain old code. Look at this example (pardon the probably incorrect syntax):

    Create Procedure GetUserTelePhone(@UserName varchar(50))
    Begin
          Declare @sql varchar(300)

          Set @sql = 'SELECT TelePhone From Users where UserName=''' + @UserName + ''''

          return exec(@sql)

    END

    See, there you go, completely open to sql injection, and it's a stored procedure. The problem isn't that people aren't using stored procedures, it's that people are creating queries which result from the concatenation of strings and variables, which invariably leaves them open to attack. A much better way to do things, is to use prepared queries, either in you stored procedures, or just using prepared queries directly in the code.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.