Crack.LinuxPPC.org Cracked 125
An anonymous reader noted that it appears that crack.linuxppc.org has been, well, cracked. There is a mirror of the defaced page at
here being hosted by attrition.org. The actual box is down as of when I type this. On the upside, it sure took a long time for someone to get in there (I'm still amused that they posted the root password). Jason Haas from LinuxPPC said
"The machine is going to Daniel Jacobowitz, who won it legitimately. The
subsequent problems occured after Dan installed a backdoor, and have since
been cleared up.
The original problem was that proftpd-1.2.0pre4 was left running with a
/incoming directory."
_incoming_ ? (Score:1)
Funny, that even with competitions like this, the easy holes always seem to stay open..
I think it's sort of a bad thing that the linuxppc guys missed it themselves though...
Emphyrio
The exploit (Score:1)
Is this sort of exploit a wide-spread problem, or did they just goof up?
They don't seem too happy about it... (Score:1)
We had a sudden influx of script kiddies. Page temporarily offline until the machine is fixed.
This machine resecured courtesy of drow
I guess they're a bit irked about this latest hack.
I am totally impressed that this server stayed up and uncracked for such a long time. That is, after it woke up from its slashdot-effect induced coma.
I think more companies should do this with their beta products. It would be a great thing for companies to start putting up beta versions of their servers, securing them the best they can and opening them up for attacks. This would let everyone know if the server they are about to install can withstand the force of everyone throwing what they've got at it. If more companies started creating these open targets, it would also create a situation where anyone who did not would instantly be up for scrutiny. What better method of peer review for a software project. That, and open hacking wars like this are just plain fun.
//Pre-Coffee Phizzy
/incoming == security breach??? (Score:1)
awesome (Score:1)
Re:/incoming == security breach??? (Score:2)
Re:/incoming == security breach??? (Score:2)
Yes, it'd be nice if it was explained how the hack worked, like the PC Week hack was documented.
-BrentRe:/incoming == security breach??? (Score:2)
Check your standard script kiddie sites (i.e. rootshell, securityfocus et al.)..
Emphyrio
I'm a little surprised... (Score:4)
On the other hand, regularly sweeing crack.linuxppc.org with security scanners, to see if there are any holes there could be construed as cheating, as it would present a moving target, which is virtually guaranteed to stay ahead of all currently-known exploits.
However, this -does- show the importance of such sweeps, for mainstream machines, and why it's important to take advisories seriously, either from a scanner, CERT, securityfocus, or the developer.
If you download a package off Freshmeat, which has a huge warning sign glued onto the announcement saying "DO NOT HAVE WRITABLE ANONYMOUS ACCOUNTS", I'd be willing to bet that the developer isn't asking for a plate of scrambled eggs, grits and toast.
Re:/incoming == security breach??? (Score:2)
Speaking of proftpd (Score:1)
Funny how Freshmeat's description of it is
"Advanced, incredibly configurable and secure FTP daemon"
This will probably be counted against them, despite it not really being their fault.
why it took so long (Score:4)
it took so damned long not because a hack didn't exist (ProFTPd has been vulnerable for some time) but because the standard method used to crack the, a buffer overflow, probably wasn't written with PPC assembly in mind. most BO's out there are for x86, with a good number for SPARC, as well, but ony recently did some PPC shellcode (along with Alpha shell code) get put out in wide release. after the ProFTPd crack was well known, it became, unfortunately, more of an exercise of security through obscurity.
a link to a recent piece on PPC shellcode is at http://packetstorm.se curify.com/papers/unix/ppc.shellcode.txt [securify.com]. i just checked for proftpd exploits on packetstorm and found quite a few; the presence of a writable incoming/ directory helps a LOT.
so, it still took longer than most challenges out there, and that's why i like LinuxPPC for various servers. that and they're just damn fast.
HTML Generator vs. "wrote exploit" (Score:1)
"he exploited a buffer overflow in proftd. since the machine was a ppc, no one could use the pre-written expliots... the winner rewrote the exploit in ppc assembly." -comment by elixir
"meta name="GENERATOR" content="Microsoft FrontPage Express 2.0"" -from attrition.org mirror of cracked page
Is it odd that one who is capable of writing in "ppc assembly" would use FrontPage.
IANAP (I am not a programmer), but I do write all my HTML by hand. This sounds funny. Am I wrong... or missing something?
This is an honest question, not intended to be a troll.
Russ
software problem, not writable "/incoming" (Score:2)
In this case, it appears that the ftp daemon was buggy, and in this particular case did the wrong thing with a writable /incoming directory. The solution is to run a different FTP daemon or to fix the bug.
In part, the responsibility for this lies with the ubiquitous use of C for Linux system programming. Guarding against buffer overflows in C is a lot of work, and it is humanly impossible to catch all the possible problems in a large program. C++ helps a lot with its string class. Writing servers in Java, Perl, Python, Eiffel, Ada, SML, or many of the other languages with runtime checking is even better.
Re:_incoming_ ? (Score:2)
i believe that the point of the contest was to see how long an UNMODIFIED box would stay up. that is, w/o upgrading anything.
personally, i think it's a pointless. it's only a matter of time before a system is broken; there's always bugs.
Re:Anti-Karma (Score:1)
--
Re:HTML Generator vs. "wrote exploit" (Score:1)
but I use it because layout it easier that way.. instead of saying, make it this many pixels right, I just click the box and drag it.. dont have to write, check, edit, check, etc until it's just right. that doesn't mean I'm any less adept at programming.
attrition (Score:1)
I guess someone had a bad xmas (Score:1)
attrition.org page (Score:4)
Suggestion: (Score:1)
and this way you can keep your "text editor" pride
Check out the archived version's HTML (Score:1)
meta name="GENERATOR" content="Microsoft FrontPage Express 2.0"
I wonder if this is how Attrition.org created the page, or if the hacker but up the "I won" message with it. That would be awful, wouldn't it, a version of Linux hacked on a Microsoft machine? And posted via FrontPage, arguably the worst HTML program available? Just give me pico :)
Re:HTML Generator vs. "wrote exploit" (Score:1)
Not really. A tool is a tool is a tool. If you want to produce a smart-looking web page in no time, FP is excellent. FP sucks if you want to produce nice HTML code, host your web site on non-MS servers or view it with non-MS browsers.
--Bud
One of these days dist maintainers will wake up (Score:3)
A far better solution would be to not install ANY servers by default -- let the user go in and install them after the install if he wants them. For people with a legitimate need, most dists allow you to create a list of packages to install, which should work fine for any large shop that actually needs those services installed. At the same time, make it much harder to obtain a setuid bit in a standard dist. Anything that gets a setuid bit should be subjected to a source code audit to make sure that at the very least no simple buffer overflows (Such as the one that compromised this machine) exist in the software. Closed source programs should probably never be allowed an setuid bit as closed source programmers tend to be sloppier and their source isn't open to review.
Re:HTML Generator vs. "wrote exploit" (Score:1)
but I use it because layout it easier that way.. instead of saying, make it this many pixels right, I just click the box and drag it..
This is very true, but again, you talk of layout when there wasn't any. I'd think it would be easier to use pico on the remote box (or something equally simple) than to whip out a WYSIWYG and have to ftp it over. I mean, really... Frontpage?
Dan's Crack (Score:5)
Shell code on a PPC is much more difficult to do then intel due to the multiple caches.
Dan intentionally didn't deface the page, all he did was add his name to the end of the credits and update the "cracks" to 1.
It was a pretty amazing crack exploiting not only the program, but how the CPU controls the cache. Especially when he could barely use GDB on his own machine to debug it. (GDB got confused with the discrepecies in the cache, and the out of order execution of the CPU.)
Congrats Dan! (FYI Dan hacked into the machine well over two weeks ago..)
Flooded (Score:2)
Straight from the website:
We had a sudden influx of script kiddies. Page temporarily offline until the machine is fixed.
This machine resecured courtesy of drow.
Interesting.. maybe it wasn't truely cracked after all. Hehe, that would be neat.
With karma issues,
Matthew
_____________________________________
Re:HTML Generator vs. "wrote exploit" (Score:1)
Re:Flooded (Score:1)
Re:HTML Generator vs. "wrote exploit" (Score:1)
It's possible that he's a programmer, and still just doesn't know how the WWW works, I guess... perhaps he had front page lying around on his computer, or one nearby, and used it rather than going to a website and checking the HTML to figure out how it works. Also, perhaps he thought it'd be a complicated language, and wasn't about to waste his time trying to learn it... I've never seen COBOL, but I still think it'd be difficult to learn in a short period of time.
Re:Dan's Crack (Score:1)
Packages need some way to validate security (Score:2)
Something like cfengine [hioslo.no] would be usable to this end; make install should generate a cfengine script that validates the system configuration, with the option of either warning of problems or of fixing them.
If not cfengine, [hioslo.no] then something else may be usable.
The critical point here is for the tool used to not merely be "a shell script," as those may get diverse in style to the point of unreadability. The validation needs to be in more of a descriptive style so that it doesn't get unreadable.
Re:HTML Generator vs. "wrote exploit" (Score:1)
Grrr! Grrr! Bad, bad Front Page! Grrr! Grrr!
(insert doinky sound clip of Martin the Marvin saying "you are making me very, very angry!")
Re:HTML Generator vs. "wrote exploit" (Score:2)
503010 login attempts? (Score:1)
Re:_incoming_ ? (Score:1)
Script Kiddie Bait. (Score:3)
So what exactly does this contest prove? Not that the box is secure. All it means is that the 31337 hax0r dudes couldn't find a script to gain root. How many people actually think that the real black hats will stop trying to transfer funds from NationsBank long enough to really try and brake this machine. And even if master hackers did get root why would they bother to boast about it with some lame "U R Ow3nd!" page? Most likley they'd use the information to hack other boxes.
So take these "security challenges" with a grain of salt. And please, no "Why doesn't every vendor do this." posts.
G.H.
I do not want what YOU haven't got.
Re:HTML Generator vs. "wrote exploit" (Score:2)
I know how to use a screwdriver to turn screws by hand. I prefer a variable-speed drill with a screwdriver bit. A $39.95 Black & Decker works as well as a DeWalt.
linuxppc already awake (Score:4)
i have linuxppc 1999, and they actually do exactly what you suggest. Nothing, not even httpd or telnetd, is turned on by default, and to turn it on you have to go into whatever that file is and uncomment out the lines. Meaning nothing gets enabled unless the user cares..
which is why linuxppc makes such a big deal about their "out of the box" security, since you're no more likely to crack linuxppc "out of the box" than the proverbial server with no network connections buried in a concrete box.. there's nothing there to crack.
i believe that the thing with the crack.linuxppc.org box specifically is that they started out with nothing enabled, and then have been slowly adding services over time in order to make hacking easier..
Don't be a dumbass (Score:1)
You can tell FP which brand of browser you're targetting (IE, Netscape, WebTV, or a combination), which generation of browser you require as a minimum (version 3.0 and up, or 4.0 and up), which server will be hosting the pages (Apache or IIS), as well as whether or not they use FP Server Extensions. And yes, you can choose a custom option for all of those choices. Now what does this have to do with a "Best Viewed By" banner?
Cheers,
ZicoKnows@hotmail.com
Re:Script Kiddie Bait. (Score:1)
I don't think that this 'proves' anything. However I do find these case histories interesting.
Re:HTML Generator vs. "wrote exploit" (Score:1)
Of course since the people responsible for attrition's version apparently didn't know PPC assembly after all it's a moot point, but whatever.
Re:Dan's Crack (Score:3)
Wednesday Dec 15th:
Friday Dec 17th:
Thursday the 23rd:
by Friday the 24th:
Signed,
Mike
The guy who lives next to Dan.
fnord (Score:1)
UNIX security is hopeless. (Score:4)
There are alternative OS architectures. But they're rare on PCs.
We need one widely used secure OS, just so people can see what one is like.
Re:They don't seem too happy about it... (Score:1)
Making machines available for attack on the net does nothing to increase the security of a product.
In a perfect world, it would, but the fact is that the people with the smarts to find the security holes in a product are not the ones that respond to such "cracker challenges". Every once in a while, the Hacker News Network [hackernews.com] has a news item on some (cr|h)acker challenge, in which they decry such activities much more eloquently than I can. I'm pretty sur ethey have a Buffer Overflow about it too....
Whoa whoa whoa (Score:2)
Let's be careful with our non-sequiters, there, pardner.
I agree that "cracking contests" like this do NOT prove you have unbreakable security. But that doesn't mean that crack attempts are useless.
For instance, all security experts recommend that you should try to crack your own boxes to test them. How is this different?
---
Re:HTML Generator vs. "wrote exploit" (Score:2)
Re:One of these days dist maintainers will wake up (Score:1)
Couldn't agree more! I'm new to Linux, but when I saw all the services running in my machine, all turned on by default, I decided I won't boot it Linux with a phone cable even close by until I've figured out what each and every one of those services do. It may not be "cool", but at least no one is touching my SAM, that's for sure.
-------------------------
Re:UNIX security is hopeless. (Score:1)
From the overview:
"What is RSBAC?
RSBAC is a security extension for current Linux kernels. It is based on the Generalized Framework for Access Control (GFAC) by Abrams and LaPadula and provides a flexible system of access control based on several modules.
All security relevant system calls are extended by security enforcement code. This code calls the central decision component, which in turn calls all active decision modules and generates a combined decision. This decision is then enforced by the system call extensions."
Re:software problem, not writable "/incoming" (Score:1)
The true problem is not the compiler or the language. It's the idiot with the keyboard writing the program in the first place. Everyone wants to flog Microsoft for their unbelievably stupid programming, but no one every has a bad word about anyone else's (open source, freeware, GPL, et. al.) bad code. If you think about what you are doing, then you don't have these problems.
Re:One of these days dist maintainers will wake up (Score:1)
Every time I install Redhat, it takes about 5 minutes to install (read: waste 1.3G of drive space) and then an hour to remove the brain damage and other worthless crap it installs.
I really miss the simplicity of SLS!
Re:_incoming_ ? (Score:1)
If you find a proftp daemon with the right version, and you _know_ this version is vulnerable on other platforms (in the case of bufferoverflows platforms not 'suffering' with a non-executable stack), the only thing you have to do is incorporate shell code for the 'target' platform into the standard exploit, and probably change some offsets.
If you regularly keep track of the (abundant) security mailing lists, you see that there is a _huge_ amount of buffer overrun exploits to be found.
Modifying shellcode to work on other hardware platforms is not arcane science; you can find lots of tutorials about it on the web (take mudge's 'smashing the stack for fun and profit' for example).
The difficulty in this case is that you need to create carefully crafted directories in the world writable directory, _and_ the buffer overflow is not directly made; a buffer is overrun, and the net result doesn't show until strlen() is called in another function. Hard thing.
Still, the core task of porting the exploit to another platform is porting the shellcode.
Fuck You. (Score:1)
Too bad (Score:1)
=======
There was never a genius without a tincture of madness.
Re:UNIX security is hopeless. (Score:2)
But, how is this possible without trusted binaries and all?
I mean, eventually there's an account which can do disk maintenance. This account has to be able to read the HD, and thus can read all information and write it to files another user has access to.
How do you allow ultimate access without creating what is essentially a root login with a restricted shell?
What seems to me to be the best idea is to modify most everything so that only the barest cores of the OS run as root, everything else would run as a user. Thus TCP stack exploits could crash the TCP stack, and take the machine off the net, but they couldn't give access to anything, etc.
Re:software problem, not writable "/incoming" (Score:2)
And I'm not a bullshit OOP bigot. I do 90% of my 'real' code in C.
In C, if you read a string of characters, you need to have space allocated for it. You can either read a set ammount and truncate, or read a variable ammount and auto-allocate.
But, whatever you do, you need to do it yourself. You can't simply say "string data; data stdin;" and get the whole string, to the limit of available memory.
You can code a routine to do this, anyone who writes anything which accepts user input has probably written a reusable 'safe input' module. But, you still have to do it yourself.
And you have to do it EVERYWHERE you look at data. You can't make any assumptions. If 999 of 1000 expected comma seperated integers are integers, the 1000th might be something else entirely, consisting of non-numeric characters. You need to check for nor just the correct inputs, but ALL forms of incorrect input. And then, you need to attach basic error handling to all of these.
If a fucking pain. A good half, at least, of anything I write is spent in input checking, even when the actual input it done in a couple of lines, and could be scanned with a few scanf()s (albeit badly.)
It's not a good reason to switch to what might be a more crippled language, just because that language keeps you from making errors, but you need to recognize the weaknesses of your tools or you can't work past them.
Re:HTML Generator vs. "wrote exploit" (Score:1)
Re:They don't seem too happy about it... (Score:3)
So, if you offer $10k for a two-month contest to crack into a potential bank security system, you may get a few bored people playing around with it, but the real devious people will wait till it's "proven" uncrackable, and they'll crack into the bank running it, perhaps getting away with more money.
This does produce semi-valid results, for small values of 'n', the number of potential juicy targets, or very high values of $x... If Microsoft paid $1M for 'arbitrary binary' exploits on Win9x, they'd get a lot of takers, because $1M is more than you'd probably get in any reasonable win9x attacks, because nobody uses win9x for anything important. Similarly, if you only had one system, and $x was high enough to rival any potential gains from cracking the system later, you might get people seriously trying.
But, over all, it's a publicity stunt. You aren't guaranteed to get the same people trying, or with the same motivation, so you can't expect the same results.
Moderate Cramer's post UP dammit! (Score:2)
Neither will StackGuard or MultiStack or DDD or assiduous use of MemProf, Checker, Electric Fence, and GDB. People make mistakes, not only in programs to handle incoming packets, but also in automated test harnesses, in compilers, in networking code, in firmware for NICs, in (f00f) CPUs...
I disagree with the "if you think about what you're doing" line of argument (if you think about it hard enough, your system will be infinitely secure cause you'll never write a line of code), but the "just choose a better language" schtick is even worse.
The determined Real Programmer can write Fortran in any language. I personally stick to what I'm reasonably good at (secure distributed transaction processing) and ask other people to audit the shit out of it, then tell the users how to flog me if it breaks. If you're writing daemons for more than just fun and education (i.e. if you think you suck less than I do) I certainly hope you have similar standards... hell, I'm a systems administrator, not even a developer, but I see some real circus acts billing themselves as "developers" these days...
As an aside, my personal take on the Kill-Microsoft bent is that people resent a company whose foundation is "We Know Best" and whose track record indicates "Actually, We Don't, But Pay Us Anyways".
Re:Don't be a dumbass? (Score:1)
Please tell me you're not that dense. You see, the version 3 browsers don't support HTML 4.0. Now, you're welcome to stay back in the stone age at 3.2, but you should be aware that things have advanced since then.
Let me make it a little plainer for you - HTML should not have to be targetted to a specific browser. If it's written properly, it will look good in any browser. If you have to "target" it at all, then it's not written properly.
That's garbage. Let me guess, you have absolutely no real world experience, do you? If you did, you'd know that you can write HTML 4.0 compliant pages 'til the cows come home, and Netscape will still choke on it. What's funny is listening to the Netscape users here bitching about some "poorly written" web page that Slashdot linked to, because it shows up mangled on their browsers. Of course it looks great on IE and Opera, but since Netscape gakked on it, they think it's a coding problem.
I would say that the absolute best thing about Mozilla is that it finally puts W3C HTML 4.0-compliant browsers into the hands of people who've been stuck with the current Netscape releases. Because if there's one thing that's been holding back web development, it's Netscape's atrocious lack of support for standards. You just can't sit down and write some HTML 4.0 page and expect it to work under Netscape. That is the main reason why you see "Best viewed with Internet Explorer" banners: not because they're using IE-only extensions, but because they're using W3C-compliant HTML that Netscape can't grokk. Perhaps there should be a "Best viewed with Internet Explorer or Opera" banner, or even "Best viewed with anything but Netscape" for these situations. ;-)
And there's nothing at all wrong with the way FP targets specific browser brands, because most Intranets standardize on a single browser and make use of extensions. These aren't meant to be seen on the Internet and has nothing to do with my question to the original poster, who seemed to imply that FP was capable only of producing proprietary HTML -- he quotes Berners-Lee and takes it to mean that FP is "fucked up, evil, and wrong." They have nothing to do with each other, and he's an idiot for thinking that they do.
Cheers,
ZicoKnows@hotmail.com
Security Statistics (Score:2)
Re:UNIX security is hopeless. (Score:4)
Philosophically, capability systems are much more egalitarian than ACL-based systems; they are also much closer to the real world: you don't see "root people" going around doing anything they want to everyone else's property, do you? (Well, actually, you do: they're called the police force. We're working to fix that bug by the next release.
How long? (Score:1)
+++
Re:UNIX security is hopeless. (Score:1)
Re:HTML Generator vs. "wrote exploit" (Score:1)
Yes, you are. The page you saw there was cracked by a script kiddie who used a backdoor installed by Mr. Jacobowitz when he used the buffer overrun in ProFTPD. I don't know if Jacobowitz even defaced the page at all, if he did, I didn't see it. But the message you see there was NOT done by him.
Still can get to other pages at crack.linuxppc.org (Score:2)
Dan's credit page (Score:1)
Re:HTML Generator vs. "wrote exploit" (Score:1)
Less code to write.
Less code is associated with easier to debug/easier to maintain (not all developers are fluent in ASM).
I develop in both Intel ASM and C. Unless I NEED the speed of ASM, I use C.
Re:ProFTPd is badly written (Score:1)
ProFTPD (Score:4)
1) ProFTPD has very loud notices saying that anything before 1.2.0pre8 is not to be considered secure.
2) On the whole, ProFTPD has had far, far, far fewer security issues and exploits out there than any other open-source FTP server. We take security seriously, and have always responded quickly to security issues. The code has undergone a couple of audits now. No, that doesn't mean it's 100% secure, but it does mean we've taken a close look at it, and are endeavoring to make it as secure as we can.
3) ProFTPD, when properly configured, will not run as root or with root privileges except for very limited periods for specific actions. Compiling ProFTPD with capabilities support on Linux is definitely the recommended configuration.
4) The official ProFTPD web site is www.proftpd.net [proftpd.net].
5) The latest version of ProFTPD is 1.2.0pre9. 1.2.0final will be out this week sometime.
Re:I'm a little surprised... (Score:1)
On the other hand, regularly sweeing crack.linuxppc.org with security scanners, to see if there are any holes there could be construed as cheating, as it would present a moving target, which is virtually guaranteed to stay ahead of all currently-known exploits.
Why would this be cheating? Any competent sysadmin should be doing exactly this. ProFTPd has had multiple vulnerabilites found since 1.2.0pre4, all of which were reported to bugtraq and other places.
IMO the organisers of the contest have let the Linux community down by leaving a known vulnerability on such a prominent box. I hope that they weren't relying on the obscurity of PPC shellcode for security.
Re:software problem, not writable "/incoming" (Score:1)
If one does not think about security when writing one's code, then I can assure it has none. Outlook is very good example -- nobody thought about what kind of evil lurks on the internet.
"If you cannot trust your users, who can you trust? Exactly."
Re:software problem, not writable "/incoming" (Score:1)
The whole point is that it can keep track of how much data it's reading, and keep allocating space as needed. You can do this in C too, but apparantly not everyone does. If it were trivial to do, then there wouldn't be a problem with people not doing it. Any language with umpteen different ways for a programmer to smash the runtime system is going to have problems. (Drinking Game: read the ANSI C spec, and take a drink every time the effect of a particular action is said to be "undefined")
Closed source (was Re:One of these days..) (Score:1)
I have to take issue with that statement. I agree that Open source has benifits in public exposure, but please don't assume that all closed source programmers are sloppier just because the public (who 99% don't look at the code) don't see the code. Code Review is an important part of ny software development (open or closed).
Re:I'm a little surprised... (Score:1)
Re:why it took so long (Score:1)
There were a bunch of other interesting aspects to the exploit itself; I'll write it all up in a week or two when I get back from vacation.
As for DJ-Serra0... I can tell you exactly what he did. I made a stupid mistake when I left myself a way to access the machine, and he found my stupid mistake. He hacked my carelessness, not crack.linuxppc.org.
Re:proftpd has had at least five releases since... (Score:1)
Re:Funny, MS Site wasn't cracked (Score:1)
Re:Um, aren't we glorifying crackers? Is this good (Score:1)
Plus, this was a 'legit', solicited crack. What's wrong with that?
- Jeff A. Campbell
- VelociNews (http://www.velocinews.com [velocinews.com])
Re:Linux: 2 Windows: 0 (Score:1)
Re:UNIX security is hopeless. (Score:1)
so i bet you'll love this: Orange Linux. yep, Linux to Orange Book certifications. which means adding capabilities and mandatory ACLs and the whole lot. http://www.sgilinux.org/presentations/security/ind ex.htm
yeah, life is gonna rock. TCB's, ACLs, the whole lot. C2 and B2+ grade Linux.
Re:Whoa whoa whoa (Score:1)
Re:Dan's Crack (Score:1)
The question mark was me wondering why the poster thought they were.
Fools - Frontpage is used by Mirror admin (Score:1)
html of page
See - the Mirror webmaster left the attrition watermark in!
Hehe - 4got to extrans it (Score:1)
here's the code! (Score:1)
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
</html>
<!-- www.attrition.org web hack mirror - watermark or something -->