alla's blog

Windows vs Linux vs MacOS vs OpenBSD

Or Quality Vs. Quantity

It seems to be an unsolvable puzzle for programmers: why would users prefer a buggy and awkward operating system, like Windows, to an elegant and slim one, like Mac OS X? Or prefer a patchy and dirty Linux to clean and secure OpenBSD? Obviously a program that does a few tasks very well is better than a program that does a lot of things badly?

Exploiting cross-site scripting in Referer header

The application that echoes the Referer header is vulnerable to cross-site scripting. And it is perfectly exploitable. Here is how:


CSRF protection also fixes reflected XSS

An application I have recently tested had cross-site request forgery protection implemented throughout - every single form or link with parameters had an additional parameter with a value derived from the session id. When the form is submitted or the link is clicked, before any other processing, this parameter value is checked.

And guess what - that also makes all reflected cross-site scripting bugs not exploitable. How?


Porting MagicTree to Mac OS X

Well, MagicTree is written in Java, so in theory we shouldn't need to port anywhere. But, as they say, "In theory, theory and practice are the same. In practice, they are not." Actually most things worked without any porting, which is a good thing. Still, a few things had to be done.

To get more Mac OS-like look and feel we had to make MagicTree show the menu bar on top of the screen, rather than in the main frame, respond to application menu items, such as "About" and "Quit" (and remove those menu items from File and Help respectively) and to get the application icon look pretty.


Russian Spying Operation Cracked

Passwords on post-it notes, unencrypted Wi-Fi, Windows hanging, laptops breaking and other IT misery

This article in Computerworld is absolutely hilarious.

Worst security hole you've ever seen?

In a thread on StackOverflow people (programmers mostly) post about worst security holes they have ever seen. It's pretty interesting reading.

You know what's most interesting about it? If you are a practising pentester, you'll be bored half way through the first page, because you have seen most of those holes. Negative amount of pizza? You bet.

(Avoiding) SQL Injection In LIKE Clause

A lot of web developers have gotten the message about the SQL injection and are using parametrized statements. Still, there are a few cases where using parametrized statements is not quite straightforward, such as in LIKE clause.

Suppose you want to do something like this:

SELECT * FROM people WHERE name LIKE 'joe%'

and the string "joe" is supplied by the user. How do you do that? This won't work:

SELECT * FROM people WHERE name LIKE '?%'

Neither will this:

SELECT * FROM people WHERE name LIKE ?%

MagicTree Beta One Is Out

MagicTree Beta One is out!MagicTree Beta One is out!

They don't have <dance> or <jump-up-and-down-excitedly> tags in HTML or I'd use those too.

Enabling SSL/TLS Renegotiation in Java

All the crazy SSL servers seem to come my way - ones that only support weird combinations of protocols and ciphers, ones that require client certificates stored on PKCS#11 hardware, and ones that require SSL renegotiation.

Apache Foundation Hacked via Reflected Cross-Site Scripting

I am thoroughly impressed. A combination of reflected XSS, insecure file uploads and bad passwords allowed the attackers to gain root on one of the Apache Foundation's servers, and gain non-privileged shell on another one. Here is the story directly from Apache.

In my opinion the most interesting part here is the fact that reflected XSS was used as the initial step. I always thought XSS, particularly the reflected sort, is somewhat over-hyped. I don't think so any more.



Subscribe to RSS - alla's blog