Monthly Archives: May 2011


If you haven’t heard, I am in the final stages of writing a book on wireless security. It’s a highly technical, fictional novella about a wireless hacker.

The official site is here:


I thought of some things you may want to consider while adding different OS types and Browser types. First of all , the reason we need all these “expansions” is because the browsers aren’t all standard as far as how they display the markup language. The styles provided in the cascading style sheets (CSS) doesn’t always sit well in all browser types. We can remedy this with simple HTML Conditional Comments for IE. All versions of IE (Internet Explorer) from version 5 up (I think) are capable of interpreting HTML Conditional Comments. These are called “Comment” Conditionals because they look like regular HTML comments:

< link rel="stylesheet" href="myCss.css"/>
< !--[if ie 9]>
#loginBox {
width: 500px;
< ![endif]-->
< !--[if ie 8]>
use this style sheet, or make these changes...
< ![endif]-->

I had to leave spaces between the less-than sign of each tag so that they displayed, just delete them if you copy this code. Anyways, what this does is – calls the myCss.css file and styles the layout. When a browser that is IE 9 views the page the layout is changed. Any div tag of the id “loginBox” will be changed – the width will now be 500 pixels.

This should save you a lot of lines of code. Don’t make a bunch of CSS files, just make one and style it according to the browser type with the HTML comments.

Other Browsers

For other browsers, you can simply use Regular Expression matching the User Agent, as I stated in the last post:

if (navigator.userAgent.match(/regular expression goes here./) { /* then do this! */ }

In the brackets you can change the div’s style too.

Styling the divs dynamically

Make a class like so:

.loginBox {
width: 250px;
border: thin solid #000;

in your style tags. Now, make the div on the page:

< div class="login" id="login">< h1>Hello World!< h1>< /div>

See how I designated the id “loginBox” to the div tag of the class “login?” Now in your if statement’s you will see #loginBox { blah. } This will change the already set width of 250 pixels to 500 pixels after the browser reads the markup files. It’s that easy! The hard part is simply testing every setup! Below is an example I did by simply coloring the background of a div. The Firefox example is blue because it simply ignores the special Comment Conditionals. The IE on the otherhand, showing the same exact files, changes the background to yellow by using it’s ID. :)


I used jQuery to hide(); the login box and show(); it again. Now, I also included the libraries right in the tarball rather than referencing them from Google, like I usually do. This is because if you are on site doing a penetration test and you don’t have a 3g connection or other WiFi connection, you won’t be able to call the libraries! I hope this small lesson helps anyone interested in coding expansions for this project.



After receiving a massive amount of emails from people, (how did this get so popular recently? it worked better when more people had Windows XP) I have decided to make yet another post about the missing / broken files in WEAKERTHAN 3.6 – I apologize for them being corrupt, I have no idea how that happened :/

To get the new files do this:

cd /var/www/
tar vxzf wpa-phish.tar.gz

or, if you rely solely on the Live CD and your environment during the pentest has no internet connection, put them onto a USB drive ot SD Card for now, until I can re-master the ISO with the files in it.


This is coded for Windows XP victims ONLY (for right now, that is.) It’s incredibly easy to make expansions for my code. It’s simply Javascript, HTML, and CSS. If you know how to make webages and have access to many different types of browsers / OS combinations feel free to email me code to line up / fake the WPA login screen. They are different per OS, of course. Detecting the OS is through the User Agent passed to the web server. You can go to to see your user agent. I have also included this file in the tarball for the WPA Phishing files for development purposes.

I included a lonely if statement in the Javascript using a funky, expanded regular expression so that newbies can get the gist of it:

if (navigator.userAgent.match(/[fF][iI][Rr][Ee][fF][oO][Xx]/))
{ // go to this page, or modify this css id:
else { }

Once you figure out your OS / Browser type, you can change the image, and CSS properties on the DOM using javascript as well. I will be expanding the code to support Linux/OSX and more when I can, if you all don’t beat me to it!

Once the credentials are dumped into the file, you can view them with your favorite text editor or cat. They go into the file “/var/www/credentials.txt”:

cat /var/www/credentials.txt

System requirements

Wireless adapter whose drivers can support RFMON (mostly all of them nowadays)
Webserver with PHP capabilities (Lighttpd is built into WEAKERTHAN 3.6)
Airbase-NG, Ettercap-NG, && DNSSPOOF (from Doug Song)(Automatic setup script built into WEAKERTHAN 3.6)
A brain.

Post Scripture: Sorry about the lack of posts/updates for WNL. I just went through a divorce and have since moved out of my lab/home. I am living with a roommate and have been drifting rather loosely lately.


Layout mode
Predefined Skins
Custom Colors
Choose your skin color
Patterns Background
Images Background