Web Hacking: Attacks and Defense
zenomorph writes: "I first heard of this book on amazon.com on a Monday morning, and read the reviews of people who had
purchased this book. I noticed that there were no reviews from any person in the web security community had commented
on it, either on Amazon or anywhere else (with the exception of two brief comments on the back of the book, of which one was written by the person who wrote the book's foreword). So I decided to pick it up on Friday
after I left work and see what it had to offer. After picking up the book I noticed it was co-authored by three
people who all work for Foundstone, a very large security company that deals with everything (including web
security). This review will cover some of the topics covered in this book, along with things that could or
should have been covered in greater detail." Read on for the rest of zenomorph's review.
Web Hacking: Attacks and defense
author
Stuart McClure, Saumil Shah, and Shreeraj Sha
pages
492
publisher
Addison-Wesley
rating
8
reviewer
zenomorph
ISBN
0201761769
summary
Web Application Hacking
Target audience: This book is geared more towards beginners and intermediate users, with a few things the more advanced people will enjoy. It explains concepts and practical examples in an easy to understand manner. Pros:
One portion of the book covered a topic which is rarely mentioned and almost never documented in security texts, which is ASP (Active Server Pages). This primarily covered security involving databases handling and login information. Another rarely documented subject this book covered was ISAPI application security. Additional good points below:
- Good examples of the types of commands an attacker will execute when remote command execution is possible. Also had a nice little attack fingerprint reference in the back. (Appendix D Page 462)
- General Tips and tricks for fingerprinting a web server, and database versions. (pages 182-194) Provides this information based on error messages and URL structure.
- Chapter 12 covers remote command execution threats with Java and Java servers. Definably a book highlight. Not too much documentation currently exists on this ever-growing web technology.
- Chapter 14 covers buffer overflows in a very easy to understand manner; something not easily accomplished for the less tech-savvy. It also walks through a complete example of bad code, to writing and executing the exploit.
- One nice section is the "Cheat Sheet" towards the back of the book which provides the most common improperly used functions in ASP, PHP, Java, and Perl. I did notice it left out the ever popular fopen() function in PHP, which is very popular for attackers to exploit when improperly used (Code inclusion attacks).
- Shows good practical examples of attackers using search engines to help further probe a site.
- Covers SQL and Oracle security. (Direct, and Injection based attacks)
- Web Application server security was covered with examples on BEA Weblogic, and Websphere.
- Provides good examples of using tools such as Netcat, Sam Spade, Teleport Pro, Black Widow, Webcracker, Brutus, Achilles, Cookie Pal, etc.
- Coveres the threats of Internet worms,including the effect on the Internet of Nimda, and Code Red. Gave details of what exactly they did, and how they could spread.
- Chapter 17 is a treat. Covers how attackers avoid IDS systems through the use of SSL, and URL encoding (such as Unicode, 2-byte, 3-Byte, and double encoding.) Also covers how to set up an IDS on SSL via reverse proxies.
Cons: This book was released in August of 2002, but I couldn't find any reference to cross-site scripting. Cross-site scripting isn't a new type of attack. In fact, it has been around since the late 1990's. More gripes below:
- The authors have a tendency to include snippets from IRC conversations. While it's explaining how hackers communicate during attacks I found it a little lame. I'd rather they had mentioned some "hacker" channels, or something along those lines.
- Neither cookie theft nor poisoning is mentioned, while cookie modification is.
- I went to the back of the book hoping to gather some good references for further reading and only got a small links section showing 6 links, none of which where technical documents but instead general web links.
- Web application abuse and spamming aren't covered at all, which is something very important and an ever-growing option for spammers.
- No references to XML-RPC or SOAP were found but the athors do briefly mention Microsoft's .NET technology without providing any code examples.
- Lack of web application wrappers and security. CGIWrap and Suexec aren't mentioned anywhere. Nothing about chrooting webservers, or applications for additional security were found.
- Apache's "Tomcat" server isn't mentioned anywhere, with the exception of an exploit mentioned in Appendix D. (Source Code, File, and Directory Disclosure Cheat sheet)
- Not a big complaint but it would have been nice if Python or TCL were covered.
Closing:
On a scale of one to ten I give this book an eight. This review was written to give you an idea of the contents, or lack thereof. Perhaps this will help you to decide if this book is what you're looking for, or a waste of time.
You can purchase Web Hacking: Attacks and Defense from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
There are, within the "security
industry" (whatever that means) people who-- intentionally or
unintentionally-- sell their customers short. The people create a false
aura of security wherever they pass, and are unwilling or incapable of
expanding their capabilities.
Scanning a network doesn't make it secure, but we've all run into people
who think it does-- including people who should know better.
I've long advocated (and tried to design) systems (not just hardware,
but software and business practices) that *fail well*. Systems designed
not to be unbreakable-- a fool's pursuit, to be sure-- but to contain
the inevitable breach. Systems that fail in known modes, so that the
consequences of an intrusion are known ahead of time, and steps can be
taken based on that knowledge. Systems that don't eliminate risk, but
manage risk.
Unfortunately, most customers aren't interested because systems like
this are expensive. They're hard to design, hard to build, hard to
maintain, and require profound knowledge of the components and the
activities that use them. It's a hard sell, especially when those less
educated self-labeled experts (and vendors) are pushing silver bullets
in the form of yet another certification, yet another scanner, yet
another training course.
I could be wrong, but I see the current upwelling of vitriol directed at
these people. They are truly living off the labor of others, and
providing little of use to anyone, including their customers. But
they're not everyone.
Life sucks.
"So I decided to pick it up on Friday after I left work and see what it had to offer...This review will cover some of the topics covered in this book, along with things that could or should have been covered in greater detail"
Ok, so its a 492 page technical resource, and you just *bought* the book 5 days ago?
Is it possible that maybe you missed some things?
I mean, I can read a good 500 page novel in a day or two, but I don't think I'd give a review on a technical book I just bought 5 days ago. Maybe that's just me.
The authors have a tendency to include snippets from IRC conversations. While it's explaining how hackers communicate during attacks I found it a little lame. I'd rather they had mentioned some "hacker" channels, or something along those lines.
I didn't realize that hacker communication was that interesting, even during an attack. Heh... It could be kind of funny I suppose if the "hackers" were script kiddies.
Hacker #1: D00Zs! I just hax0red this windoze box!
Hacker #2: No way! Fuckin' Awesome guy!
Hacker #1: YeAh, I woulda Hax0red more but mom made me go to bed
Hacker #2: Damn, That be harsh.
My guess is that script kiddies salivate over this type of information. Having read similar books, they are basically how-to tutorials, a capable System Administrator will likely know about this issues or learn them elsewhere. Oh well, since it makes the Authors some good bucks....I guess thats Security for them.
It's a simple fact that 95% of "attacks" are quite harmless game-playing by "script kiddies", against which there's no need to defend.
Virtually all of the remaining five percent are the work of honorable hackers (hackers in the correct sense: Brilliant geeks who like to explore and experiment) motivated solely by intellectual curiosity. As we all know, such true hackers are unable to do harm because their value system precludes it. For a true hacker to do harm is a logical impossibility, a meaningless paradox.
The hysteria about "security" is mostly an attempt to discredit the hacker community, to misrepresent curious and brilliant techies -- us, in short -- as demons in human form. It's bigotry, pure and simple.
I'm not surprised when CNN or MSNBC spews out this kind of propaganda, but for a geek site like Slashdot to be propagating the "security" myth is rather discouraging.
The problem I have with these reviews and those that are found on Amazon, is that there is no context for the review. Specifically, what's great to you might suck to me. We have no knowledge of the reviewers skill level or experience.
It would be far better if the reviewers would give a little background information about themselves, along with the review.
What is Zenomorph's skill level? How long have they worked in this field? What related hardware and software are they proficient with? What other books on the subject has this person read and what was their opinion of those books? Without this information the review carries no more weight than one from Jon Katz.
I noticed that there were no reviews from any person in the web security community had commented on it
See? Those web hackers are pretty good, no?
Where does the school board find them and why do they keep sending them to ME?
This story DOES NOT belong in the Reviews section.
The book got an "8." All books in the Reviews section get a "9." Therefore it does not belong.
"Chapter 17 is a treat. Covers how attackers avoid IDS systems through the use of SSL, and URL encoding (such as Unicode, 2-byte, 3-Byte, and double encoding.) Also covers how to set up an IDS on SSL via reverse proxies."
Ummm... here is a free version of that information. Very thorough, and it is by RFP the writer of whisker.
Hudson Is this going to be a standup job sir, or just another bug-hunt?
Gorman: All we know is there's still no contact with the colony's Web server. In the meantime I want you all to look at this book on Web security. It's just been reviewed by zenomorph.
Apone: Excuse me sir - who?
Gorman: zenomorph.
Hicks (aside to Hudson) It's a bug hunt.
--- Hot Shot City is particularly good.
Nothing like a book full of FUD to further obscure the real "web site hackers".
This is just too complicated a subject to wrap it all up in a generi-book. Of course its aimed at beginners... they don't know any better!
Skiers and Riders -- http://www.snowjournal.com
So you haven't yet managed the modern learning techiques available? How do you expect to find or keep your job if you can't extract all useful content from a book by perusing the index and reading two or three careful selected pages plus the command reference table at Apendix A? I am really concerned about your future, mister, really concerned. Clearly you wouldn't have survived for a day during the dot.com boom. What if the economy becomes irrationaly exuberant again? What will you do when they discover you can't learn Magic Bullet v10.3 in two hours and have a presentation for marketing to give the client by the end of the day?
I find it quite interesting that you assume that any people of note should bother submitting a review to Amazon.com if they have something to say about a book. If I were going to take the time to write a professional review of a book, I'm sure that I would have it published somewhere that I would get good exposure and receive compensation for my time.
Maybe you would like to take a look at Web Security, Privacy & Commerce, 2nd Edition from OReilly (I have no connection w/ this link or this book).
Or maybe you could figure out where the Web Security zealots hang out. I bet they've talked about the book there, if it has any merit of note.
If you expect anything besides rehashes of the books TOC on the Amazon.com review system, you're going to be disappointed most of the time.
-S
We Apprentice Developers and Designers
I took the Foundstone "Ultimate Hacking" course a few months ago, and some of these guys were on the team who taught it. While I can't speak to the book itself, not having read it, the authors themselves were very knowledgeable and authoritative in their fields. I expect that the information in this book should (hopefully) be of the same caliber.
"You can never have too many elephants on your team."
Foundstone is essentially a Microsoft subsidiary now, so getting consistently useful information from them is somewhat in question for me. Now, maybe there are still a few people there who haven't compromised their integrity to get a cushy paycheck from MS.. but I'm a skeptic.
Essentially MS and Symantec have both bought out fairly prominent security "experts" who are taking their knowledge of exploits and hoarding that information.
And of course Foundstone is one of the "founding" members of OIS, the security through obscurity security notification group. No time limits for public disclosure of vulnerabilities, no documentation of vulnerabilities (.gif "viruses" anyone), and no public discourse unless the vendor is happy with what you're saying.
Considering that the book is written by the team at Foundstone, guys who have written other books on security such as Hacking Exposed, Hacking Linux Exposed, and Hacking Windows 2000 Exposed, teach courses in network security, such as Ultimate Hacking and Ultimate IDS, and have been doing this for countless years, Id have to say itd probally be a pretty good book on the subject. While not all topics are covered, as the reviewer pointed out the book is geared towards novices to intermediate users.. so dont expect everything. Not knowing the reviewers skill level, Ill trust that the Foundstone guys wrote a fairly decent book and expect that a few things are either held back due to relevence or space. And chances are I will probally pick it up myself in one of my future book runs. If someone who reads the book is all that interested in the security field after reading it, it will at least give them a starting point to start looking and discover some of the missing elements mentioned in the review...
I wrote all that stuff from scratch asshole
I pulled this out of my ass.
In addition I have run hack proof distributed-load-web servers for over 5 years, on macs.
I have a website that nobody's ever visited.
You are a closed minded linux lover who hates FACTS that show that NO MAC HAS EVER BEEN EXPLOITED!
I am bigoted against linux users. Plus, I firmly believe that shouting makes my arguments more persuasive.
EVER.
Sometimes I use complete sentences.
Don't believe anything I say. I crash test crack pipes for a living.
It is a concrete fact that that no MacOS based webserver has ever been hacked into in the history of the internet.
I bet you'd like to think you're right, but you're not.
Install a filter between you're brain and typing fingers, then come back, okay?
Parent is a copy-and-paste karma whore.
Let's look at your post from how you would feel if someone aimed this at you -- I think you'll find it a bit harsh.
"The problem I have with posts on Slashdot making personal attacks, is that there is no context for the attack. Specifically, blah blah blah. We have no knowledge of the posters skill level or experience.
It would be far better if the poster would give a little background information about themselves, along with the post.
What is FreeLinux's skill level? How long has he worked in this field? What related hardware and software is he proficient with? What other books on the subject has this person read and what was their opinion of one of those books? Without this information the post carries no more weight than one from Jon Katz."
May we never see th
Dammit, troll instead of funny? C'mon, have a heart -- the guy was funny.
...other than that event ages ago in 1995, no mac web server has ever been...scanned...
Oh, well. Here we go.
It's a concrete fact that no MacOS based webserver has ever been hacked into in the history of the internet.
Heh
The MacOS running WebStar and other webservers as hs never been exploited or defaced, and are unbreakable based on ample historical evidence
It's easy to write a secure webserver. It's a little harder to write one that does useful work *and* is secure. I can write a secure webserver in an afternoon. Start adding on forums or something worthwhile to a WebStar server and you'll see security holes.
That is why the US Army gave up on MS IIS and got a Mac for a web server
The Army dropped IIS because it's a bug-laden insecure piece of shit that's been responsible for more break-ins than any other piece of software in the history of mankind. That doesn't mean that Mac OS based webservers are ideal, mate.
I am not talking about FreeBSD derived MacOS X (which already had more than 30 exploits and potential exploits in BugTraq) I am talking about current Mac OS 9.x and earlier which are highly sophisticated abstract-OS models.
Ah, yes. Classic Mac OS. No memory protection, if my memory of 7.x days serves me well. An exploit of the server is an exploit of the whole machine. No chroot.
Why is it hack proof?
Hehe
No command shell. No shell means no way to hook or intercept the flow of control with many various shell oriented tricks found in Unix or NT. Apple uses an object model for process to process communication that is heavily typed and "pipe-less"
You're talking about command line arguments? Doesn't have anything to do with piped communication.
No root user. All mac developers know their code is always running at root. Nothing is higher (except undocumented microkernel stuff where you pass Gary Davidians birthday into certain registers and make a special call). By always being root there is no false sense of security, and programming is done carefully.
Yeah, I did development on System 7.x for a while. It does teach you to be damn careful with those pointers -- crash "Damn, gotta reboot so I can change one line, recompile, and try again!". I don't buy it.
Pascal strings. ANSI C Strings are the number one way people exploit Linux and Wintel boxes. The mac avoids C strings historically in most of all of its OS. In fact even its roms originally used Pascal strings. As you know pascal strings are faster than C (because they have the length delimiter in the front and do not have to endlessly hunt for NULL) but the side effect is less buffer exploits. Individual 3rd party products may use C sings and bind to ANSI libraries, but many do not. In case you are not aware of what a "pascal string" is, it usually has no null byte terminator
Pascal strings are a fucking archaic scheme dating from times when you statically allocated 255 byte strings and then had a size byte to tell you how much you were actually using. They cap you at 255 bytes. You can do bounds-checked arrays in C, just as you can in Pascal. Not everyone does so, but the same applies to the Mac and Pascal strings, as you pointed out. Furthermore, using UNIX or Windows doesn't mean that you have to use C/C++. In the GNU Compiler Collection alone, you have Java, fortran 77, objective C (*cough* like MacOS X), and Ada support, all of which have bounds-checked strings.
Macs running Webstar have ability to only run CGI placed in correct directory location and correctly file "typed" (not mere file name extension). File types on macs are not easily settable by users, especially remotely. Apache as you know has had many problems in earlier years preventing wayward execution.
Yeah? And UNIX has an executable bit. If someone can get it and flip permission bits and rename files, the chances are pretty good that they can change file types.
Macs never run code ever merely based on how a file is named. ".exe" suffixes mean nothing! For example the file type is 4 characters of user-invisible attributes, along with many other invisible attributes, but these 4 bytes cannot be set by most tool oriented utilities that work with data files. For example file copy utilities preserve launchable file-types, but JPEG MPEG HTML TXT etc oriented tools are physically incapable by design of creating an executable file. The file type is not set to executable for the hacker's needs. In fact its even more secure than that. A mac cannot run a program unless it has TWO files. The second file is an invisible file associated with the data fork file and is called a resource fork. EVERY mac program has a resource fork file containing launch information. It needs to be present. Typically JPEG, HTML, MPEG, TXT, ZIP, C, etc are merely data files and lack resource fork files, and even if they had them they would lack launch information. but the best part is that mac web programs and server tools do not create files with resource forks usually. TOTAL security.
This is why every communication program for the Mac supports MacBinary. If you can upload something to the system, you can pretty assuredly toss a resource fork up.
Stack return addresses positioned in safer location than some intel OSes. Buffer exploits take advantage of loser programers lack of string length checking and clobber the return address to run their exploit code instead. The Mac compilers usually place return address in front or out of context of where the buffer would overrun. Much safer.
Take a look at the first link on this Google search. Secure or not?
There are less macs, though there are huge cash prizes for cracking into a MacOS based WebStar server (typically over $10,000 US)
This happened *once*, laddie buck.
Less macs mean less hacker interest, but there are MILLIONS of macs sold, and some of the most skilled programmers are well versed in systems level mac engineering and know of the cash prizes, so its a moot point, but perhaps macs are never kracked because there appear to be less of them.
Some of the most skilled programmers are systems level Mac coders? I mean, it's not *impossible*, but is there a Archangeli or a Cox in the MacOS world? If there is, they likely work for Apple and aren't out trying to break into web servers.
But some huge high performance sites use load-balancing webstar.
Why should you *not* use a classic Mac for a high-powered server?
Let's see. If we have more than one process doing anything on the system, we run into the complete lack of preemptive multitasking. If an administrator is doing something at the console, everything except for interrupt-driven crap stops cold. Bit of an issue. There's the lousy VM in the classic Mac OS. HFS/HFS+ is not the most impressively high performance filesystem ever. Caching in the classic Mac OS sucks.
Classic Mac OS was designed to be a workstation. Servers were not in the mind of the designers at all. That doesn't matter -- it makes a fine workstation for many people. But pimping it as a server is silly.
MacOS source not available traditionally, except within apple, similar to Microsoft source only available to its summer interns and engineers, source is rare to MacOS. This makes it hard to look fo rprogramming mistakes, but I feel the restricted source access is not the main reasons the MacOS has never been remotely broken into and exploited.
So by your logic, there should be no IIS exploits.
Sure a fool can install freeware and shareware server tools and unsecure 3rd party addon tools for e-commerce, but a mac (MacOS 9) running WebStar is the most secure web server possible and webstar offers many services as is
People who install Apache are fools?
I really hate to break this to you, but you're in error here.
I think its quite amusing that there are over 200 or 300 known vulnerabilities in RedHat over the years and not one MacOS 9.x or older remote exploit hack. There are even vulnerabilities a month ago in OpenBSD! Each month vulnerabilities in XP arise.
Those 200 to 300 vulnerabilities you list are *local* exploits, you idiot. Classic Mac OS doesn't list those because by using the computer you are engaging in one giant exploit...able to read other users files and whatnot. If Apple was as ambitious as Red Hat is, they'd be listing "local vulnerabilities" as well. Apple doesn't go out of their way to point out holes that they *do* have. Furthermore, Red Hat ships with *servers* to exploit. The Mac OS doesn't *do* anything out of box as regards serving, so there isn't much to exploit. If you don't care about doing anything, an off computer is even more secure.
BTW, I distinctly remember Apple never shipping a free update to Open Transport to fix some vulnerabilities in the TCP implementation for those of us with System 7.5.x. That *is* attackable.
May we never see th
If you did - or bought something from an online retailer, or stored sensitive or valuable information stored on a computer that is connected to the internet....
There's definitely a lot of FUD sown by the "security" industry. I also agree that the media don't always treat the subject responsibly - events involving any kind of computer usually get cloaked in semi-accurate buzzwords implying the use of magical incantations and mysterious underground organisations, when usually it's a bored teenager trying to hack into a porn site.
On the other hand, there are serious security breaches every day - and script kiddies can do as much damage as a responsible hacker - more, because they often don't understand their tools very well. If nothing else, you need to protect your system against them.
If you write software that can be used by total strangers across the internet, you need to assume that some of them will have unpleasant motives and will attempt to cause your software harm. It doesn't matter if this applies to 0.001% - if you are dealing with sensitive data, providing a public service or rely on your income from your online application, if just one script kiddy brings your site down, you've lost the ball game.
I think anyone who is involved with online application development should at least look at books like this, and if you're the technical lead you should make sure you understand exactly what your application is going to be up against. The numbers don't matter - just one visitor is enough to do irreparable harm to your site.
It's all very well in practice, but it will never work in theory.
How can I get in on this great deal???
www.BinFeeds.com /. help me make money!!!
The best online XXX Newsgroup Binary Galleries
Thumbnailed for ease of use!! Click here and help
WebMaster:
BinFeeds
XXX Thumbnailed Image Newsgroups but
No MacOS webserver has ever been rooted or defaced in history.
Okay there, buddy. Stop frothing at the mouth. First of all, how the hell do you root a system that doesn't even have different levels of access? It's all root. In that sense, Mac OS 9 is just about as shiny and amazing as Windows 95. You don't even have protected memory. That's why you have vulnerabilities in your web broswers where just looking at a website can force your wonder machine to download and run any code the site designer wants, that's why doing a simple RDNS will shut your system down completely.
Oh, by the way. If your machine is a web server that RDNS's addresses, anyone browsing from, or spoofing 206.207.151.40, 206.98.128.14, 206.207.48.173, or 206.207.48.194 will shut your system down. Like, wave bye-bye down, since you again, have no protected memory. Wow. I'm sure in the HISTORY of Mac OS 8 and 9 webservers, no RDNS's have been performed.
Honestly, the system you're bragging about is fucking Mickey Mouse bullshit. Name the site and the date, indeed. The burden of proof is on you, friend. Nothing is secure. Why not show me some (any) respectable (non-geocities/mac zealot) links that agree with you?