<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>monthly-spl &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/monthly-spl/</link>
	<description>Feed of posts on WordPress.com tagged "monthly-spl"</description>
	<pubDate>Sat, 05 Dec 2009 18:34:34 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Free Google AdWords Promotional Code 2009]]></title>
<link>http://levoltz.com/2009/06/12/free-google-adwords-promotional-code-2009/</link>
<pubDate>Fri, 12 Jun 2009 11:19:40 +0000</pubDate>
<dc:creator>AnDyG</dc:creator>
<guid>http://levoltz.com/2009/06/12/free-google-adwords-promotional-code-2009/</guid>
<description><![CDATA[Last week Google had supplied few of its clients with Google Adwords Promotional Codes to help its c]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Last week Google had supplied few of its clients with Google Adwords Promotional Codes to help its customers  get up and running with their Adwords Campaign. This Promo code would entitle you to get $50 worth Google Adwords.  The only catch here is that the account using this Promo code  needs to be less than 14 days old.</p>
<p>This Google AdWords promo code expires on 30th June 2009.</p>
<p>The promotional code is <strong>5DAD-HQSS-UGAN-NXQA-2SA</strong></p>
<p>In order to redeem this Adwords voucher, you need to goto the “Billing” section in your Google Adwords account and enter the promo code provided above.</p>
<p>P.S Your account needs to be either new one or not more than 14 days old.</p>
<div class="zemanta-pixie" style="margin-top:10px;height:15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/d48aa207-c3ac-4536-ac85-3ce03cc81f38/"><img class="zemanta-pixie-img" style="border:medium none;float:right;" src="http://img.zemanta.com/reblog_e.png?x-id=d48aa207-c3ac-4536-ac85-3ce03cc81f38" alt="Reblog this post [with Zemanta]" /></a></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[An Introduction to Python]]></title>
<link>http://levoltz.com/2007/04/27/an-introduction-to-python/</link>
<pubDate>Fri, 27 Apr 2007 05:30:39 +0000</pubDate>
<dc:creator>appkumar</dc:creator>
<guid>http://levoltz.com/2007/04/27/an-introduction-to-python/</guid>
<description><![CDATA[Python is an object-orientated programming language often used by &#8216;beginners&#8217;: people wh]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Python is an object-orientated programming language often used by &#8216;beginners&#8217;: people who are interested in programming, but get mad at seeing a part of code of languages such as C++, C and others.</p>
<p><strong>Note: </strong>This article is an introduction to Python. If you already know the basics it&#8217;s spoiled time reading this article.</p>
<p><strong>Content:</strong></p>
<blockquote><p>1. Small history of Python<br />
2. How to get<br />
3. The basics</p></blockquote>
<p><strong>1. Small History</strong><br />
Because I usually find history of programming languages boring, I will try to keep this part as small as possible. The father of python is the Dutch programmer Guido van Rossum. At this moment (April 2007) version 2.51 is the latest version. If you want to know more about the history you should check it on <a href="http://en.wikipedia.org/wiki/Python_(programming_language)" target="_blank">wikipedia</a>.</p>
<p><strong>2. How to get</strong><br />
Python can be downloaded at: <a href="http://www.python.org/" target="_blank">http://www.python.org/</a>. Here you will be able to download the latest version for Windows, Mac and Linux. After downloading, the installer (<em>on windows</em>) will show you the way through to install. <em>For the other two platforms:</em> most people using these are smart enough to install it themselves.</p>
<p><strong>3. The Basics</strong><br />
<em>Over to the real work:</em> Starting to program. After installing you will find in your <strong><em>programs map&#62;python&#62;IDLE (Python Graphical User Interface)</em></strong>. Start this.</p>
<p>In this program you can use python commands just to see what they do. I usually &#8216;test&#8217; my stuff in here. Pretty handy!</p>
<p>Well why don&#8217;t you try for yourself? To see a string use &#8216;print&#8217; (example):</p>
<p><code>print "hello this is my first python-day"</code></p>
<p>You will see that under your code &#8216;hello this is my first python-day&#8217; will pop-up. You just learned your first command! But we are still in this &#8216;testing-environment&#8217;. You probably want to make programs and not only test your code. If you want to make a program go to:<em><strong> file&#62;new window in your IDLE</strong></em>. Now a new window shows up.</p>
<p>Type the same as in the example, but now only in this new window. After that save the file (file&#62;save) as test.py for example. Press F5 and your program will be run in the IDLE, and your text will show up. Easy?</p>
<p>We will go on to variables. Variables are easy to use in long sums, though I will give you an easy example:</p>
<p><code>a = 5<br />
b = 10<br />
c = a+b<br />
print c</code></p>
<p>You will see 15 be printed if you execute your program like stated before. <strong>Note:</strong> after print, I don&#8217;t use &#8220;c&#8221;. This is because I defined c before. In the same way you can use variables for strings. Just check the example:<br />
<code><br />
name = "Ganesh "<br />
friend = "and Sagaro"<br />
both = name + friend<br />
print both</code></p>
<p>&#8230;and yes you will see &#8216;Ganesh and Sagaro&#8217; pop-up.</p>
<p>The last command you will learn in this introduction is an input command. With <em><strong>raw_input()</strong></em> you will be able to input your own information or store information that you put in into variables. The following example will explain it:<br />
<code><br />
myname = raw_input("Enter your name here. ")<br />
print "hello", myname</code></p>
<p>In the same way you can store numbers, though you will have to put the command &#8216;<strong>int()</strong>&#8216; (that is for integer) around<strong> raw_input()</strong> in this way: <em><strong>int(raw_input(&#8220;Give me a number that you want to square &#8220;))</strong></em>. (try to make that kind of program)</p>
<p>Well, we have come at the end of this introduction to the language Python. Note that this are the very basics of this language and that you will be able to do more when you start progressing. If you are looking for more articles I want you to take a look at the following sites:<br />
- <a href="http://docs.python.org/tut/tut.html" target="_blank">http://docs.python.org/tut/tut.html</a><br />
- <a href="http://www.ibiblio.org/g2swap/byteofpython/files/120/" target="_blank">http://www.ibiblio.org/g2swap/byteofpython/files/120/</a> (Free book)<br />
- <a href="http://www.upriss.org.uk/python/PythonCourse.html" target="_blank">http://www.upriss.org.uk/python/PythonCourse.html</a><br />
- Or just take a look at the programming forum.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Guide for composing Ringtones]]></title>
<link>http://levoltz.com/2007/04/19/the-guide-for-composing-ringtones/</link>
<pubDate>Thu, 19 Apr 2007 08:10:45 +0000</pubDate>
<dc:creator>appkumar</dc:creator>
<guid>http://levoltz.com/2007/04/19/the-guide-for-composing-ringtones/</guid>
<description><![CDATA[Sick and tired of going to websites in search of your favorite ring tone? Here is a guide for compos]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Sick and tired of going to websites in search of your favorite ring tone? <a href="http://spreadsheets.google.com/pub?key=pRMaxg55WeRddxvW37Vfifw&#38;gid=0" target="_blank">Here</a> is a guide for composing ring tones of your interest, with a comprehensive list of 800+ tunes. Nokia phone users just type the keys mentioned in the composer.</p>
<p>Download Guide for composing ring tones from the &#8220;Downloads&#8221; widget on the right hand side bar of this blog.</p>
<p>Alternatively view it <a href="http://spreadsheets.google.com/pub?key=pRMaxg55WeRddxvW37Vfifw&#38;gid=0" target="_blank">here</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mitm, arp poison routing, network sniffing using cain and able]]></title>
<link>http://levoltz.com/2007/04/12/mitm-arp-poison-routing-network-sniffing-using-cain-and-able/</link>
<pubDate>Thu, 12 Apr 2007 10:19:57 +0000</pubDate>
<dc:creator>appkumar</dc:creator>
<guid>http://levoltz.com/2007/04/12/mitm-arp-poison-routing-network-sniffing-using-cain-and-able/</guid>
<description><![CDATA[Firstly let me get a few things straight: 1. This is not about “what is arp and mitm?” there are alr]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Firstly let me get a few things straight: </strong></p>
<p>1. This is not about “<a href="http://bothack.wordpress.com/2006/06/03/monthly-spl-arp-poison-routing-for-dummies/" target="_blank">what is arp and mitm?</a>” there are already enough articles about that in BotHack. This is merely how to do it using cain and able so before reading this article go and read some of the others so that your not just a script kiddy.</p>
<p>2. I’m gong to assume that you <strong>can&#8217;t</strong> run .exe files on what ever account you are using and therefore I will tell you how to get around this.</p>
<p>3. <em><strong>I do not take any responsibility for any of the information in this document or the uses it is put to</strong></em>.</p>
<p>Ok now that we have that sorted out&#8230;</p>
<p><strong> What you will need: </strong></p>
<ul>
<li> A laptop.</li>
<li> Cain and able. Download it from, <a href="http://www.oxid.it/index.html" target="_blank">www.oxid.it/index.html</a></li>
<li> A network to sniff.</li>
</ul>
<p><strong> Now onto how to do this: </strong></p>
<p>1) Download and install cain and able.</p>
<p>2) Set your laptop up and steal an ethernet connection from a nearby computer on the network. Plug the Ethernet cable in. You are now connected. With no restrictions on what you can run.</p>
<p><!--more--></p>
<p>3) Start cain and able.</p>
<p>4) Now click on the sniffer tab. Now notice the two symbols &#8211; the one that looks the same as the one on the sniffer tab and the one that looks like a nuclear sign.</p>
<p>5) Mouse over them and they will tell you that one starts the sniffer and the other starts arp poisoning.</p>
<p>6) Now click on configure -&#62; click on the arp tab and make sure that you are using your real ip and mac address, if you don’t you wont get any hosts or be able to arp poision.<br />
7) Now start the sniffer and press the blue plus sign. This will let you scan for hosts in your subnet.</p>
<p> <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> Now go back to configure and select use a spoofed ip and mac address. Now type an ip from your sub net but the last bit must be numbers that are unused so the network doesn’t get confused.</p>
<p>9) Select all the hosts you find and right click and go resolve host name. Now try to find the router, it will usually stand out easily. The router probably wont have a name as well as being a different brand from everything else and have a really low or really high ip address so you should spot it easily.</p>
<p>10) Now click on the arp tab at the bottom of the sniffer window.  Click on the top table part and click the blue plus sign again. This brings up a window that allows you to select the ip addresses that you want to arp poison the first one you select should be the router and in the second box select any computers you want to listen to.</p>
<p>11) Click ok. Click the start arp button. You are now listening between the router and as many computers as you selected.</p>
<p>12) Watch as the routed packets role in. Select the password tab at the bottom of the screen and watch the passwords appear.</p>
<p>13) Any password hashes can be sent to the cracker and broken form there but that isn’t going to be covered in this article. I am sure you can work that out or may be I shall post it later.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Secure PHP Programming!]]></title>
<link>http://levoltz.com/2007/04/11/secure-php-programming/</link>
<pubDate>Wed, 11 Apr 2007 15:11:19 +0000</pubDate>
<dc:creator>appkumar</dc:creator>
<guid>http://levoltz.com/2007/04/11/secure-php-programming/</guid>
<description><![CDATA[When a web site is cracked, it typically tends to be a simple common sense mistake by a program auth]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>When a web site is cracked, it typically tends to be a simple common sense mistake by a program author who forgets what an attacker can do with his code. By keeping good, secure practices when programming, you should be able to produce solid code.</p>
<p><strong> NOTE:</strong> I expect you to be a somewhat fluent PHP developer who has a general idea of what&#8217;s going on in computer/network security. If you don&#8217;t understand some part of the code, you should probably read up on some PHP tutorials, and also read some of the security guides on php.net and other locations on the Internet.</p>
<p>However, before I even get into the code part of this shin dig, one obvious fact should be stated that you should never give a public_html directory (or any other directory that you are using to host your files) nor any of its files ownership by any user with root privileges. This and any other techniques you can think of must be implemented in order to minimize the damage an attacker can do. That being said, on with coding!</p>
<p>Let&#8217;s look at a typical attack of a PHP program. The following code is an example of an unsecure script to &#8216;echo&#8217; the visitor&#8217;s name:</p>
<pre>&#60;?php
if (isSet($_POST['name']))
{
echo "Hello, " . $_POST['name'];
}
else
{
echo '&#60;form action="' . $PHPSELF . '" method="post"&#62;&#60;br&#62;';
echo 'Your name, please:  &#60;input type="text" name="name"&#62;&#60;br&#62;';
echo '&#60;input type="submit" value="Submit"&#62;';
echo "&#60;/form&#62;";
}
?&#62;</pre>
<p>Now this may look fine if you were to input a name such as &#8216;John&#8217; or &#8216;Marry&#8217;, but what if the attacker were to input something like:</p>
<pre>&#60;script language="JavaScript" type="text/javascript"&#62; window.location.href="http://www.bad-side-to-go-to.com/"; &#60;/script&#62;</pre>
<p><!--more--></p>
<p>This means that this script would allow the attacker to deface your page (among many other evil little deeds such as setting up a backdoor with a little skill). As a practice, you should never, ever output code that is directly inputted from the user. In this case, PHP has a few functions that would allow us to solve this problem.</p>
<p>First off, strip_tags() simply removes HTML and PHP tags from a string. For example:</p>
<pre>&#60;?php
$str = "&#60;html&#62;hi&#60;/html&#62;";
echo strip_tags($str);
// outputs 'hi'
?&#62;</pre>
<p>This works for most cases, but there are also ways of outputting the HTML code without executing it. Two functions, htmlentities() and htmlspecialchars(), convert any sort of &#60;, &#62;, &#8221; and &#38; to their HTML entities (HTML entities output code instead of executing it, ex. a web site might give your browser &#8220;&#38; gt;&#8221;, but the web browser outputs that as &#8220;&#62;&#8221;). Here&#8217;s an example of using htmlentities():</p>
<pre>&#60;?php
$str = "&#60;html&#62;hi&#60;/html&#62;";
echo htmlentities($str);
// outputs '&#60;html&#62;hi&#60;/html&#62;'
?&#62;</pre>
<p>This way, you can see the actual code but it won&#8217;t be executed (as in you would see the JavaScript code I showed you above, but you won&#8217;t have the page redirect). I like to use htmlentities() because it converts ALL of HTML entities to their representitive codes, but htmlspecialchars() is fine for simply wanting to thwart off an attacker. (Note that htmlspecialchars() works exactly the same as htmlentities() does as far as usage is concerned.)</p>
<p>So, here&#8217;s an example of a fixed version of the script I showed you earlier:</p>
<pre>&#60;?php
if (isSet($_POST['name']))
{
echo "Hello, " . htmlspecialchars($_POST['name']);
}
else
{
echo '&#60;form action="' . $PHPSELF . '" method="post"&#62;&#60;br&#62;';
echo 'Your name, please:  &#60;input type="text" name="name"&#62;&#60;br&#62;';
echo '&#60;input type="submit" value="Submit"&#62;';
echo "&#60;/form&#62;";
}
?&#62;</pre>
<p><strong>NOTE:</strong> About 90% or more of PHP-related exploits are from some kind of way of attacking the developer&#8217;s input ($_GET, $_POST&#8230;).</p>
<p>Outputted code is not the only kind of input attack we have to worry about. Another kind is that which involve the programmer reading arbitrary files. For example, let&#8217;s say we have a script like:</p>
<pre>&#60;?php
if (isSet($_GET['file']))
{
$theFile = fopen($_GET['file'], "r");
echo fread($theFile, filesize($_GET['file']));
fclose($theFile);
}
else
{
echo '&#60;form action="' . $PHPSELF . '" method="get"&#62;&#60;br&#62;';
echo '&#60;select name="file"&#62;&#60;option value="testFile.html"&#62;testFile.html&#60;/select&#62;&#60;br&#62;';
echo '&#60;input type="submit" value="Submit"&#62;';
echo "&#60;/form&#62;";
}
?&#62;</pre>
<p>This may look all fine and dandy, but it&#8217;s flawed out the kazoo. First of all, since this form uses the &#8216;get&#8217; method of handling input, the user can simply change the file from the URL line of the browser. Second, an attacker could simply create a HTML page on his/her own site with code like:</p>
<pre>&#60;form action="http://yoursitehere.com/scriptijustwrote.php" method="get"&#62;
&#60;input type="text" name="file"&#62; &#60;input type="submit" value="Submit"&#62;
&#60;/form&#62;</pre>
<p>Either way, they can change the file you open to anything they like. For example, let&#8217;s say that they set $_GET['file'] to be something like &#8216;/etc/passwd&#8217;. They could have that easily obtained and possibly cracked into your account from the UNIX &#8216;passwd&#8217; file! (Not to mention any other sensitive files they could&#8217;ve opened from this script&#8230;)</p>
<p>Clearly this script is very, very dangerous for you as a programmer. There are a few options you can do to prevent this:</p>
<p>First off, let&#8217;s say that you only have a list of available files that the script will open. Change the file opening code to first see if the file is one that you will let it open, such as:</p>
<pre>if ($_GET['file'] == "testFile.html")
{
// open the file
}
else
{
// don't open the file
}</pre>
<p>Or, even better would be something like:</p>
<pre>switch ($_GET['file'])
{
case "testFile.html":
$file = "testFile.html";
break;
case "otherFile.html":
$file = "otherFile.html";
break;
}
// open the file using $file</pre>
<p>Another option would be to remove any slashes or dots from the filename, but then again you would still allow the attacker to open any file in that single directory. If that directory is safe, then use str_replace() like so:</p>
<pre>$file = str_replace("/", "", str_replace("\", "", str_replace(".", "", $_POST['file'])));</pre>
<p>Now, only open the $file variable.</p>
<p>This option is definitely not recommended simply because that entire directory is vulnerable to be publicly accessible, but if you don&#8217;t mind then go ahead.</p>
<p>Now then, let&#8217;s have a look at another type of input attack in the form of running arbitrary programs. Let&#8217;s say you have a script that will use the system command &#8216;ping&#8217; to see if a network target is alive. Here&#8217;s an example of this script as a vulnerability:</p>
<pre>&#60;?php
if (isSet($_POST['target']))
{
system("ping " . $_POST['target']);
}
else
{
echo '&#60;form action="' . $PHPSELF . '" method="post"&#62;&#60;br&#62;';
echo '&#60;input type="text" name="target" value="Target Address"&#62;&#60;br&#62;';
echo '&#60;input type="submit" value="Submit"&#62;&#60;/form&#62;';
}
?&#62;</pre>
<p>This would be fine if the user simply inputted a target, like &#8220;yahoo.com&#8221;. However, what if the attacker inputted a statement like &#8220;; rm -rf /&#8221;? Just like that, your entire filesystem got whipped clean from one vulnerable script (assuming your account has root privileges, but either way a lot of important stuff is getting deleted).</p>
<p>There are a few solutions here, chiefly to filter out any bad input using a function like preg_replace(), but even I had trouble learning how to use that function. A more simple, but not as secure, solution is to use escapeshellcmd(). This function returns a string from your command that prevents the user from running any other program than the one you want it to run (&#8220;ping&#8221; in this example). As an example, you&#8217;d simply do this:</p>
<pre>system(escapeshellcmd("ping " . $_POST['target']));</pre>
<p>While this prevents any other programs from being run, it does not prevent the attacker from inputting invalid data to &#8216;ping&#8217;. If there was an exploit for that program or some kind of input that would make it exit or run another program itself, then you&#8217;re still screwed. Your best bet is to try and stay away from allowing visitors to access any kind of system() commands.</p>
<p>Other than input attacks, there are plenty of code problems that you as a programmer may not even know about. One thing you should always remember, however, is to keep your code from being shown as much as possible. Let&#8217;s say an attacker somehow renames your file from index.php to index.phps. On most PHP web servers, this will show all the code in index.php (including the PHP code) so that the attacker can find a flaw they wouldn&#8217;t have found without seeing the code. A good bet to keep this from happening is to make your scripts executable only in a cgi-bin directory.</p>
<p>However, some web servers do not support scripts in a cgi-bin directory. If yours does, then simply try putting a test script in that directory and &#8216;chmod +x&#8217; the file to make it executable. The code will change a little bit, because instead of PHP being inside of the HTML coded file, the HTML will be inside your PHP script! Here&#8217;s an example:</p>
<pre>#!/usr/bin/php
// if the path to PHP is different, then you'll have to change that lineecho "&#60;html&#62;n&#60;body&#62;nTesting!n&#60;/body&#62;n&#60;/html&#62;";</pre>
<p>Save this as something like &#8216;test.php&#8217; and put it in your cgi-bin directory. From your web browser, try to execute it. If it works, then it&#8217;s a good idea to use your scripts in that style in the cgi-bin to prevent code leakage. If it doesn&#8217;t work, then either e-mail your admin or rebuild your PHP/Apache or whatever installation to include this option.</p>
<p>An entirely different topic in PHP security is encryption. There are many different kinds of encryption, but compared to other languages PHP makes them all easy as pie. The easiest example of encryption is the one-way 32 bit MD5 encryption. &#8220;One way&#8221; encryption means that the data CANNOT be decrypted. This means that even if the attacker gets the encrypted data, they cannot decrypt, but instead will have to &#8216;crack&#8217; it. For example, let&#8217;s say we have a password file in our home directory (&#8216;/home/user/pass_info.php&#8217;):</p>
<pre>&#60;?php
$user = 'testuser';
$pass = md5("mypasswd");
?&#62;</pre>
<p>The md5() function converts &#8220;mypasswd&#8221; to a 32 bit &#8220;hash&#8221; (encrypted data, basically) that is about 32 or so characters long and each character is either a letter or a number. Any other text than &#8220;mypasswd&#8221; will produce a different hash, so we can rely on what the encrypted version of &#8220;mypasswd&#8221; is. Now that we have $pass set, let&#8217;s say we have another script like this that sets the user&#8217;s $_SESSION data to show he or she is logged in according to their password:</p>
<pre>&#60;?php
include("/home/user/pass_info.php");if (isSet($_SESSION['user']) &#38;&#38; isSet($_SESSION['pass']) &#38;&#38; $_SESSION['user'] == $user &#38;&#38; $_SESSION['pass'] == $pass)
{
echo 'You are logged in.';
}
else if (isSet($_POST['user']) &#38;&#38; isSet($_POST['pass']) &#38;&#38; $_POST['user'] == $user &#38;&#38; md5($_POST['pass']) == $pass)
{
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
?&#62;
&#60;script language="JavaScript" type="text/javascript"&#62;
alert("you are now logged in");
window.location.href = window.location.href;
&#60;/script&#62;
&#60;?php
}
else
{
?&#62;
&#60;form action="?" method="post"&#62;
&#60;input type="text" name="user"&#62;&#60;br&#62;
&#60;input type="password" name="pass"&#62;&#60;br&#62;
&#60;input type="submit" value="Login"&#62;
&#60;/form&#62;
&#60;?php
}
?&#62;</pre>
<p>In this way, $_SESSION['pass'] is a 32 bit encrypted hash instead of a plaintext password. If the attacker was to get your $_SESSION data and see that a variable names $_SESSION['pass'] was equal to a plaintext password, then he/she just cracked your user/pass! Now that we have it encrypted via md5(), he/she can only see the encrypted version. Now the attacker would have to run a bruteforce style attack on your encrypted password data which can take months depending on how good your password is. (This is also a good reason to change passwords often.)</p>
<p>If you think that md5() is out of your style, or you just want to use a different encryption key, you can use crypt() as well. crypt() uses the same method as UNIX /etc/passwd files, and is farely simple. First, let&#8217;s encrypt a string:</p>
<pre>&#60;?php
$encryptedData = crypt("testPass");
?&#62;</pre>
<p>Now, let&#8217;s make a function to compare your crypt() data with a string to see if the password is correct:</p>
<pre>&#60;?php
function verifyEncryptedData($str, $data)
{
$salt = substr($data, 0, CRYPT_SALT_LENGTH); // gets the crypt() encryption key into $salt
$encryptedStr = crypt($str, $salt); // encrypt the given data using the current key
return ($encryptedStr == $data);
// returns a TRUE/FALSE statement based on if $str is indeed the encrypted test in $data
}
verifyEncryptedData("testPass", $encryptedData); // should return TRUE
verifyEncrytpedData("hahaha", $encyptedData); // should return FALSE
?&#62;</pre>
<p>Here we see an example of encryption that uses different encryption &#8216;keys&#8217;, where as md5() uses the same key every time. crypt() generates a random key every time something is encrypted with it.</p>
<p>Now you may be wondering what I was talking about when I said an attacker would try a brute-force attack on your encrypted data. This means that he/she would try to encrypt every possible value from a-z 1-9 for however many characters it takes in whatever kind of encryption you are using until they have cracked the password. Let&#8217;s say you had a password of the letter &#8216;c&#8217;. A brute force program would first try to encrypt &#8216;a&#8217; without success, &#8216;b&#8217; without success, and then found out your password when it tries &#8216;c&#8217;. As you can see, the more characters and the more different of a letter/number/symbol combination you use in a password will make a password cracking program take longer to crack your password. Your best bet is to change passwords often so that even if he/she cracks the password, they&#8217;ll return to find that you&#8217;ve already changed the password and they&#8217;ll have to start all over again.</p>
<p>If you want to use encryption that allows you to decrypt its contents, look into PHP&#8217;s mcrypt module. (<a href="http://www.php.net/" target="_blank">http://www.php.net/</a> comes in handy, folks!) It&#8217;s the best encryption module for PHP I know of as it lets you choose your encryption method from a wide selection though it takes just a tad bit of learning, but I&#8217;ll leave that up to you.</p>
<p>All in all, just use common sense and follow safe practices when it comes to PHP. Don&#8217;t let one vulnerable script be the reason your whole network gets cracked!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Build your own security tools]]></title>
<link>http://levoltz.com/2006/12/05/build-your-own-security-tools/</link>
<pubDate>Tue, 05 Dec 2006 16:22:18 +0000</pubDate>
<dc:creator>appkumar</dc:creator>
<guid>http://levoltz.com/2006/12/05/build-your-own-security-tools/</guid>
<description><![CDATA[So you have read tons of tutorials, guides, FAQ&#8217;s and you have some kind of image of what comp]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>So you have read tons of tutorials,  guides, FAQ&#8217;s and you have some kind of image of what computer security is. The next logical step that you should make is to start learning a programming language. I&#8217;m not going to describe each language ( its advantages and disadvantages ). Instead I will focus on just one language: Perl (Practical Extraction and Reporting Language).</p>
<p>This language was written for manipulating text, but it has become one of the best languages available to programmers. You can write games, web applications and about everything you can think of. I want to show you just how easy it is to write some security tools using Perl.</p>
<p>I&#8217;m going to start with a port scanner. For those of you that don&#8217;t know what a port scanner is, here is a little definition: <em>a port scanner is a program that checks if a certain port is open</em> (by connecting to it).</p>
<p><strong> I. The port scanner</strong><br />
<code><br />
# scanner.pl<br />
use strict;<br />
use warnings;<br />
use IO::Socket;<br />
$&#124;++;<br />
my($host,$a,$b)=@ARGV;<br />
map { my $s=IO::Socket::INET-&#62;new(PeerAddr=&#62;$host,PeerPort=&#62;$_);<br />
print "$_ - open\n" if $s } ($a..$b);</code></p>
<p>That my friends is a very simple port scanner! You can run it from your command line (command prompt in windows or konsole in linux) like this:</p>
<p>perl scanner.pl host_to_scan starting_port ending_port</p>
<p><strong> II. The brute forcer</strong></p>
<p>Perhaps you gained access to some computers, or you&#8217;re just testing a password to see how strong it is. One of the most used encryption method is the md5 algorithm (it&#8217;s also the one used by the Linux/Unix/BSD Operating System).</p>
<p>The md5 hash (that&#8217;s the name a password gets after it&#8217;s being encrypted) cannot be transformed back to its corresponding word. Let me give you an example: the word &#8220;security&#8221; after its md5 encryption will become the hash e91e6348157868de9dd8b25c81aebfb9.</p>
<p>Let&#8217;s say you have the hash and you find out what word it is. You would have to find a way to decrypt it, which isn&#8217;t possible because md5 cannot be decrypted. So that leaves you with the question: so how can I find out what word does a hash represent? Well, since you can&#8217;t decrypt it, why not try encrypting words and see if the resulting hash matches the hash we&#8217;re trying to crack?</p>
<p><em>Here&#8217;s the perl code that does that:</em><br />
<code><br />
# brute.pl<br />
use strict;<br />
use warnings;<br />
use Digest::MD5 qw(md5_hex);<br />
my $hash=shift &#124;&#124; die "Give me a hash to crack\n";<br />
my $file=shift &#124;&#124; die "Give me a dictionary file\n";<br />
open(F,$file) &#124;&#124; die "can't open the file\n";<br />
while(&#60;F&#62;)<br />
{<br />
print "Processing $_";<br />
chomp($_);<br />
my $t=md5_hex($_);<br />
print " $t\n";<br />
die "Found it -&#62; $_\n" if($t eq $hash);<br />
}</code></p>
<p><em> Here&#8217;s how you run it :</em></p>
<p>perl brute.pl md5_hash_to_crack text_file</p>
<p>So you would have to supply it with an md5 hash and a dictionary file (that has words in it, one per line). The script will read each of the words, encrypt it and check if the hash matches the hash we&#8217;re trying to crack. If it does, we found the word <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  !</p>
<p>This concludes the first part of building your own security tools. Next time we&#8217;ll talk about creating a bot and keeping track of your filesystem.</p>
<p>All these articles are for educational purposes. The author is not in any way responsible for your actions.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cryptography]]></title>
<link>http://levoltz.com/2006/12/01/cryptography/</link>
<pubDate>Fri, 01 Dec 2006 14:36:10 +0000</pubDate>
<dc:creator>kuthermaught</dc:creator>
<guid>http://levoltz.com/2006/12/01/cryptography/</guid>
<description><![CDATA[Solving cryptic puzzles can be a lot of fun, provided you know the basics of Cryptography. So here i]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Solving cryptic puzzles can be a lot of fun, provided you know the basics of Cryptography. So here is a quick overview of basics of Cryptography &#8211; All in one.</p>
<p><strong>The infamous Caesar Cipher (shift, ROT)</strong></p>
<p>Ok, for all you cryptographers-in-the-making (and everyone else, for that matter), I have decided to give simple, yet educational explanations of the basics of cryptography.</p>
<p>One of the very first methods of cryptography was the Caesar Cipher, also known as &#8220;shift&#8221; or &#8220;ROT&#8221; (rotate).</p>
<p>The Caesar cipher is quite simple: you shift all of the letters of the alphabet down a certain number of spaces. So, if you want a rotation of 1, here&#8217;s what you&#8217;d use (the upper letters are the normal alphabet, and the lower letters are what you replace them with):</p>
<blockquote><p>ABCDEFGHIJKLMNOPQRSTUVWXYZ<br />
BCDEFGHIJKLMNOPQRSTUVWXYZA</p></blockquote>
<p><strong><em> So the message:</em></strong></p>
<blockquote><p><em> The quick brown fox jumped over the lazy dogs</em></p></blockquote>
<p>would read</p>
<blockquote><p><em> Uif rvjdl cspxo gpy kvnqfe pwfs uif mbaz epht</em></p></blockquote>
<p>But, just to make this harder, many people took out the spaces, and made it all caps. So that it would become:</p>
<blockquote><p><em> UIFRVJDLCSPXOGPYKVNQFEPWFSUIFMBAZEPHT</em></p></blockquote>
<p>This is the Caesar Shift 1, or ROT1. You can rotate by more than 1 letter if you wish. The original Caesar Shift was 3 letters, but has grown beyond it&#8217;s originalities to encompass all rotations.</p>
<p><strong>The monoalphabetic cipher<br />
</strong><br />
The term comes from latin &#8211; mono, meaning 1, alphabet meaning, well, alphabet, so it&#8217;s a cipher that uses 1 alphabet. We use an alphabt every day, don&#8217;t we? Yes we do. But, the monoalphabetic cipher uses a different alphabet, one where each letter is replaced by another letter.</p>
<p><!--more-->So, you could have the plain alphabet (above) and a cipher alphabet (below)</p>
<blockquote><p>ABCDEFGHIJKLMNOPQRSTUVWXYZ<br />
GHASEITYBDWCVPLOKUFJXQZNMR</p></blockquote>
<p>Now, if we were to encrypt the same string as before, using the same format as shown the second time around:</p>
<blockquote><p><em> The quick brown fox jumped over the lazy dogs</em><br />
<em> becomes</em><br />
<em> JYEKXBAWHULZPILNDXVOESLQEUJYEVGRMOLTF</em></p></blockquote>
<p>As you can see, the 2 strings seem so different from each other that it seems impossible that there&#8217;s a relationship between them. If you truly believe that there isn&#8217;t, and that it&#8217;s too hard to figure out, then you&#8217;re sadly mistaken, and you might not have what it takes to become a cryptographer.</p>
<p>Just reverse what you did, switching the 2 alphabets around, then replacing each letter, and you have the original text.</p>
<p>The first monoalphabetic ciphers actually had extra characters, null chars, to throw people off. They would be inserted in random locations throught the text to try to deteriorate the accuracy of the decryptor.</p>
<p><strong>The polyalphabetic cipher</strong></p>
<p>For those of you who don&#8217;t know latin, the terms comes from poly, meaning many, and alphabet, meaning alphabet.</p>
<p>An example would be like this:</p>
<blockquote><p>PlainAlphabet:<br />
ABCDEFGHIJKLMNOPQRSTUVWXYZ<br />
CipherAlphabet1:<br />
GHASEITYBDWCVPLOKUFJXQZNMR<br />
CipherAlphabet2:<br />
ZXFGCNHMILODPWJQAVRSTBEUKY</p></blockquote>
<p>Now, because This would take way too long anyways, I&#8217;ll just translate the alphabet, ABCDEFGHIJKLMNOPQRSTUVWXYZ<br />
With the spaces ever 5 letters, the alphabet would become:<br />
GXAGENTMBLWDVWLQKVFSXBZUMY<br />
Now, we can immediately see that there are 2 G&#8217;s. Why? Because the first G occurs because a letter is being translated by the first alphabet, and the second is being translated by the second alphabet, so there will be a tendency of producing conflictions, making the cipher harder than the ordinary monoalphabetic cipher.</p>
<p>Now, for the Vigenere Cipher, the best example of this type of encryption.<br />
In fact, it uses a chart:</p>
<p>==ABCDEFGHIJKLMNOPQRSTUVWXYZ<br />
A&#124;BCDEFGHIJKLMNOPQRSTUVWXYZA<br />
B&#124;CDEFGHIJKLMNOPQRSTUVWXYZAB<br />
C&#124;DEFGHIJKLMNOPQRSTUVWXYZABC<br />
D&#124;EFGHIJKLMNOPQRSTUVWXYZABCD<br />
E&#124;FGHIJKLMNOPQRSTUVWXYZABCDE<br />
F&#124;GHIJKLMNOPQRSTUVWXYZABCDEF<br />
G&#124;HIJKLMNOPQRSTUVWXYZABCDEFG<br />
H&#124;IJKLMNOPQRSTUVWXYZABCDEFGH<br />
I&#124;JKLMNOPQRSTUVWXYZABCDEFGHI<br />
J&#124;KLMNOPQRSTUVWXYZABCDEFGHIJ<br />
K&#124;LMNOPQRSTUVWXYZABCDEFGHIJK<br />
L&#124;MNOPQRSTUVWXYZABCDEFGHIJKL<br />
M&#124;NOPQRSTUVWXYZABCDEFGHIJKLM<br />
N&#124;OPQRSTUVWXYZABCDEFGHIJKLMN<br />
O&#124;PQRSTUVWXYZABCDEFGHIJKLMNO<br />
P&#124;QRSTUVWXYZABCDEFGHIJKLMNOP<br />
Q&#124;RSTUVWXYZABCDEFGHIJKLMNOPQ<br />
R&#124;STUVWXYZABCDEFGHIJKLMNOPQR<br />
S&#124;TUVWXYZABCDEFGHIJKLMNOPQRS<br />
T&#124;UVWXYZABCDEFGHIJKLMNOPQRST<br />
U&#124;VWXYZABCDEFGHIJKLMNOPQRSTU<br />
V&#124;WXYZABCDEFGHIJKLMNOPQRSTUV<br />
W&#124;XYZABCDEFGHIJKLMNOPQRSTUVW<br />
X&#124;YZABCDEFGHIJKLMNOPQRSTUVWX<br />
Y&#124;ZABCDEFGHIJKLMNOPQRSTUVWXY<br />
Z&#124;ABCDEFGHIJKLMNOPQRSTUVWXYZ</p>
<p>And there&#8217;s your Vigenere Square. It&#8217;s more square when written, but you get the idea. Or, if you don&#8217;t, then keep reading.</p>
<p>The very first line (the one with the 2 =&#8217;s (sorry about that, but I had to keep consitency)) is the KEY line. The first column (the one with the &#124;&#8217;s next to it) is the plaintext alphabet.</p>
<p>Choose a word to act as your key. preferably, it shouldn&#8217;t have too many letters. I&#8217;ll use JOE. next, choose some text. I&#8217;ll use ENCRYPT&#8230;lame, but effective.<br />
Now, when I encrypt, I look at the chart, and look for the plaintext letter E. Then I look up the key letter J. They cross at an O. So, my plainxt so far says O.<br />
Then, I look up N with O, and get C, so I have OC. Then, I look up C with E, and find H, for OCH. Now, since there are no remaining letters in the key, I start at the beginning of the key, with the J. R&#8211;&#62;J=B. Y&#8211;&#62;O=N. P&#8211;&#62;E=U. T&#8211;&#62;J=D.<br />
So, ENCRYPT=OCHBNUD, and I&#8217;ve had 2 loops of the pass.</p>
<p><strong>Public-Key cryptgraphy.</strong></p>
<p>Public-Key Cryptography is different from the other 3 types discussed earlier, in the type of key used. Public-Key means, literally, that the key is given to the public.</p>
<p>Now you&#8217;re thinking &#8220;Well, that&#8217;s really stupid, isn&#8217;t it? They can just undo what was done to encrypt it, and it&#8217;s a really bad thing&#8221;. You&#8217;re wrong, because it uses an ASYMETRIC KEY. that means that in order to decrypt it, different steps must be taken than those to encrypt it.</p>
<p>The most famous type of this cryptography is called &#8220;RSA&#8221;, the first initials of the 3 people who invented it. RSA, when put to the test, is the only unbreakable pure cipher out there. I say &#8220;pure cipher&#8221;, because there&#8217;s something going around called &#8220;PGP&#8221;, or &#8220;Pretty Good Privacy&#8221;, which involves RSA, but uses another encryption, making it a cross-breed.</p>
<p>Now, for how to use RSA. I will give you an example, but you can use different numbers for each variable.<br />
<em>&#8212;begin encryption&#8212;</em></p>
<p>First, pick 2 ODD prime numbers (2 is an even prime number), that multiplied together, totals a number greater than 127. These numbers are going to be p and q.</p>
<p>I&#8217;ll use p = 11 and q = 17. When you multiply them together, you get 187, or our value of N. We also need another odd number, e. in this case, I&#8217;ll use 7.<br />
We now have:</p>
<blockquote><p>p = 11<br />
q = 17<br />
N = 187<br />
e = 7</p></blockquote>
<p>Then, we publish our values of N and e into a directory listing of everyone&#8217;s values of N and e. Let&#8217;s say someone wants to send you the message &#8216;p&#8217; (just something short). Well, they&#8217;d first need to know ASCII. you can get an ascii chart here. first, they would have to look up the numerical value of p, which s 112. They now get into exponents. Exponents are simply how many times you multiply a number by itself. 2^4 is 2 to the fourth power. The exponent is 4, and the number is 2. We multiply 2 by itself 4 times, or 2*2*2*2, and we get 16.</p>
<p>What the person does is they take the value of p (112) and put it in M.<br />
C, the ciphertext of M, equates to M^e (mod N). That means that we take M, multiply it by itself e times, and &#8220;mod&#8221; that by N.</p>
<p>The term mod is short for (no, not moderator. that&#8217;s for the forums) modulus arithmetic. Take a clock. it&#8217;s 7:00. what time will it be in 10 hours? no, not 17:00, but 5:00. Why? Because what we do is we take 7+10, and divide by 12, 1 remainder 5. We take the remainder, and that&#8217;s our answer.</p>
<p>Now, we know that 7 = 1 + 2 + 4, right?<br />
So, 112^7 = 112^1 * 112^2 * 112^4. 112^1 = 112, mod 187 = 112.<br />
112^2 = 12544 mod 187 = 15<br />
112^4 = (112^2)^2 = 157351936 mod 187 = 38<br />
112*15*38=63840 mod 187 = 73. So, C=73.</p>
<p><em> &#8212;end encryption&#8212;</em></p>
<p><em>&#8212;begin decryption&#8212;</em></p>
<p>They send you the message 73. How do you know what it was? you can&#8217;t figure that out using just e and N, it&#8217;s impossible. You need to know a special number, d. d is determined using p and q. So, it all becomes simpler now.</p>
<p>(d * e) mod ((p-1) * (q-1)) = 1. Simplified, that becomes (d * 7) mod 160 = 1.<br />
Using something called &#8220;Euclids&#8217; Algorithm&#8221;, determining d is simple. It turns out that in this case, d = 23.</p>
<p>Now, M=C^d Mod N. or, M = 73^23 mod 187.<br />
23 = 1 + 2 + 4 + 16<br />
73 * 93 * 47 * 103 = 32865549 mod 187 = 112 = M.</p>
<p><em> &#8212;end decryption&#8212;</em></p>
<p>This was actually a fairly simple example. Most companies that use RSA use values of q and p that are larger than 1 with 100 &#8216;0&#8217;s after it, making N larger than 1 with 10,000 &#8216;0&#8217;s after it.</p>
<p>I know that there are only 4 parts to this, but I will soon be creating another series, The Cracker&#8217;s Guide to Cryptography.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cloning your mobile phone]]></title>
<link>http://levoltz.com/2006/11/21/cloning-your-mobile-phone/</link>
<pubDate>Tue, 21 Nov 2006 09:10:03 +0000</pubDate>
<dc:creator>appkumar</dc:creator>
<guid>http://levoltz.com/2006/11/21/cloning-your-mobile-phone/</guid>
<description><![CDATA[The objective here is to have two fully functioning mobile phones while only paying one bill. You]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The objective here is to have two fully functioning mobile phones while only paying one bill. You&#8217;ll need two cell phones, one with service and another without.</p>
<p>Now the first step is to find the secret menu on your cell. <a href="http://www.cellphonehacks.com" target="_blank">www.cellphonehacks.com</a> is one of the best places to find that out, just search for your model number and check out some of the hacks.</p>
<p>After you enter in the secret number and enter the secret menu on the serviced phone, look for your phones ESN. ESN (Electronic Serial Number) &#8211; Each cellular phone is assigned a unique ESN, which is automatically transmitted to the cellular tower station every time a cellular call is placed. The Mobile Telephone Switching Office validates the ESN with each call. Usually it says serial number right on it so its simple to find.</p>
<p>After that write the serial number down along with your phone number and area code. Next on the phone that does not have service do the same exact steps to get to the secret menu and then go to the serial number clear the number thats already in there and input the serial number of the phone that has service. Then you have to find your code to be able to change your number (For Nokia phones the secret menu is *3001#12345#, and the number changer is #639#).</p>
<p>Then change the number to the serviced phone and there ya go you have two phones for the price of one&#8230; One thing I might add though is that if two people are using the two phones which is the idea here whichever phone the tower finds first is the one it will ring. A little inconvenience but I think its worth it. You can always revert back to the original setting if you are irritated with this hack (Just make sure you note down the ESN number of the dummy phone before erasing and feeding it with the ESN of the serviced phone). I would suggest you to get a <a href="http://www.nobelcom.com/">phone card</a> to keep the bills down.</p>
<p><a href="http://feeds.feedburner.com/%7Ef/bothackr?a=9sXKNSEl"><img src="http://feeds.feedburner.com/%7Ef/bothackr?i=9sXKNSEl" border="0" alt="" /></a> <a href="http://feeds.feedburner.com/%7Ef/bothackr?a=pn5qyaRT"><img src="http://feeds.feedburner.com/%7Ef/bothackr?i=pn5qyaRT" border="0" alt="" /></a> <a href="http://feeds.feedburner.com/%7Ef/bothackr?a=n8cQSNwS"><img src="http://feeds.feedburner.com/%7Ef/bothackr?i=n8cQSNwS" border="0" alt="" /></a> <a href="http://feeds.feedburner.com/%7Ef/bothackr?a=qw31nScv"><img src="http://feeds.feedburner.com/%7Ef/bothackr?i=qw31nScv" border="0" alt="" /></a> <a href="http://feeds.feedburner.com/%7Ef/bothackr?a=gU6NjAKx"><img src="http://feeds.feedburner.com/%7Ef/bothackr?i=gU6NjAKx" border="0" alt="" /></a> <a href="http://feeds.feedburner.com/%7Ef/bothackr?a=eCVGN3WS"><img src="http://feeds.feedburner.com/%7Ef/bothackr?i=eCVGN3WS" border="0" alt="" /></a></p>
<p><em><code>The author is not responsible for your actions. This is just a tutorial for educational purposes. Don't play this trick on somebody else's phone so you can enjoy free calls.</code></em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How-To: Create a Wordpress Theme in 5 minutes]]></title>
<link>http://levoltz.com/2006/09/17/how-to-create-a-wordpress-template-in-5-minutes/</link>
<pubDate>Sun, 17 Sep 2006 08:34:44 +0000</pubDate>
<dc:creator>aswinanand</dc:creator>
<guid>http://levoltz.com/2006/09/17/how-to-create-a-wordpress-template-in-5-minutes/</guid>
<description><![CDATA[Hi, how many of you have felt the need to create a new wordpress template/theme and felt that the st]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Hi, how many of you have felt the need to create a new wordpress template/theme and felt that the structure is too intimidating? We had the same feeling too until we realised how easy it is to create a wordpress template. (I also presented this at the <a href="http://bothack.wordpress.com/2006/09/09/first-session-is-on/">BlogCamp 2006</a>, Chennai)</p>
<p><b>A few things before you need a template are:</b></p>
<p>1. Figure out the layout of your blog. That is, you should be clear about what should be placed where. Ofcourse, it&#8217;s entirely at your discretion.<br />2. Create a simple HTML page that show cases your layout.<br />3. Mould the simple page into a beautiful wordpress template.</p>
<p>Ready?? Ok, let&#8217;s start!</p>
<p>As said in point 1, I have just created a basic layout as shown in the screen shot below.</p>
<p><a target="_new" href="http://bothack.wordpress.com/files/2006/09/scr.JPG"><br />
<img alt="Sample Template Screenshot" src="http://bothack.wordpress.com/files/2006/09/scr.JPG" height="150" /></a></p>
<p>You can definitely tell about the various sections that make up the page. They are the header, content, sidebar, footer. To abstract this and give power to the template designers, wordpress has placed the various sections into different pages.</p>
<p>In addition to this, you have to add proper CSS to your design. Include them in &#8220;style.css&#8221;. </p>
<p>Therefore, the files necessary are:</p>
<p>1. header.php -&#62; Header<br />2. footer.php -&#62; Footer<br />3. sidebar.php -&#62; Sidebar<br />4. index.php -&#62; Content glued with header, sidebar and footer.<br />5. style.css -&#62; CSS</p>
<p>That is all you need to create a basic template. Clear? Any doubts? <a href="http://bothack.wordpress.com/2006/09/17/how-to-create-a-wordpress-template-in-5-minutes/#respond">Post them here</a>.</p>
<p><strong>Designing the Template:</strong></p>
<p>The HTML for our basic layout goes like this:</p>
<p><textarea rows="5">&#60;html&#62; &#60;head&#62; &#60;title&#62;Demo Template&#60;/title&#62; &#60;link rel=&#34;stylesheet&#34; href=&#8221;style.css&#8221; mce_href=&#8221;style.css&#8221;&#62; &#60;/head&#62;  &#60;body&#62;  &#60;div id=&#8221;wrapper&#8221;&#62;  	&#60;p&#62;&#60;h1&#62; &#60;/h1&#62;&#60;/p&#62;  	&#60;div id=&#8221;header&#8221;&#62; 		&#60;h1&#62;HEADER&#60;/h1&#62; 	&#60;/div&#62;  	&#60;p&#62;&#60;h1&#62; &#60;/h1&#62;&#60;/p&#62;  	&#60;div id=&#8221;main&#8221;&#62; 		&#60;div id=&#8221;content&#8221;&#62; 			&#60;h1&#62;CONTENT&#60;/h1&#62; 		&#60;/div&#62; 		&#60;div id=&#8221;sidebar&#8221;&#62; 			&#60;h1&#62;SIDEBAR&#60;/h1&#62; 		&#60;/div&#62; 	&#60;/div&#62;  	&#60;div id=&#8221;both&#8221;&#62;&#60;/div&#62;  	&#60;p&#62;&#60;h1&#62; &#60;/h1&#62;&#60;/p&#62;  	&#60;div id=&#8221;footer&#8221;&#62; 		&#60;h1&#62;FOOTER&#60;/h1&#62; 	&#60;/div&#62;  &#60;/div&#62;  &#60;/body&#62; &#60;/html&#62; </textarea></p>
<p>Have a look at the simple style sheet for the basic layout. Save this as &#8220;style.css&#8221;. We would need it later.</p>
<p><textarea rows="5">body { 	text-align: center; }  #wrapper { 	display: block;  	/*border: 1px #000000 solid;*/ 	width:90%;  	margin:0px auto; }  #header { 	border: 2px #00ff00 solid; }  #content { 	width: 75%; 	border: 2px #ff0000 solid; 	float: left; }  #sidebar { 	width: 23%; 	border: 2px #ffff00 solid; 	float: right; }  #both { 	clear: both; }  #footer { 	border: 2px #0000ff solid; } </textarea>
<p>Now that you have saved it, open the HTML file in a <a href="http://www.editplus.com/" target="_new">good text editor</a>. You can see sections that are tagged with &#8220;header&#8221;, &#8220;footer&#8221;, &#8220;sidebar&#8221; and &#8220;content&#8221;. Let us create the header file.</p>
<div>
<p><span style="color:rgb(255, 0, 0);">1.</span> Open notepad, and paste the code shown below. Save this file as &#8220;header.php&#8221;.</p>
<p><textarea rows="5">&#60;br/&#62;  &#60;title&#62;Demo Template&#60;/title&#62;  &#60;br/&#62;&#8221;&#62;      &#60;div&#62;  	&#60;p&#62;&#60;h1&#62; &#60;/h1&#62;&#60;/p&#62;  	&#60;div&#62; 		&#60;h1&#62;HEADER&#60;/h1&#62; 	&#60;/div&#62;  	&#60;p&#62;&#60;h1&#62; &#60;/h1&#62;&#60;/p&#62; &#60;br/&#62;&#60;/div&#62;</textarea><br /><span style="color:rgb(255, 0, 0);"><br />2.</span> Copy the fragment below and save it in a new file as &#8220;footer.php&#8221;.</p>
<p><textarea rows="5">&#60;br/&#62;	&#60;div&#62; 		&#60;h1&#62;FOOTER&#60;/h1&#62; 	&#60;/div&#62;       &#60;br/&#62;</textarea><br /><span style="color:rgb(255, 0, 0);"><br />3.</span> Copy the sidebar code and save it in a new file as &#8220;sidebar.php&#8221;.</p>
<p><textarea rows="5">&#60;br/&#62;		&#60;div&#62; 			&#60;h1&#62;SIDEBAR&#60;/h1&#62; 		&#60;/div&#62; &#60;br/&#62;</textarea><br /><span style="color:rgb(255, 0, 0);"><br />4.</span> Last but not the least, let us create the &#8220;index.php&#8221;. If you notice, there are special lines such as &#8220;&#8221;, &#8220;&#8221;, &#8220;&#8221;. These are the functions that are used to glue the content with header, sidebar and footer. Great! we are almost done&#8230; few more minutes.</p>
<p><textarea rows="5">&#60;br/&#62; 	 	&#60;div&#62;  		&#60;div&#62; 			&#60;h1&#62;CONTENT&#60;/h1&#62;  		&#60;/div&#62;  		  	&#60;/div&#62;  	&#60;div&#62;&#60;/div&#62;   &#60;br/&#62;</textarea>
<p><span style="color:rgb(255, 0, 0);">5.</span> Create a new folder and name it as &#8220;DarlingTemplate&#8221;. Move all the newly created files, including the &#8220;style.css&#8221; to the folder. To test the new template, upload[:1] this folder to the /wp-content/themes folder. Login to your blog and you will see the new template under the &#8220;Presentation&#8221; tab.</p>
<p><span style="color:rgb(255, 0, 0);">6.</span> Click on our template name to activate it. Well, everything is cool. The template looks just like the simple HTML file we created earlier. But, what happened to the posts?</p>
<p><span style="color:rgb(255, 0, 0);">7.</span> Open up &#8220;index.php&#8221;, replace it with the text in the following box and save it. Make sure the modified file is uploaded to the /wp-content/themes/DarlingTemplate folder. Refresh the blog homepage. Voila!! the posts are there.</p>
<p><textarea rows="5">&#60;br/&#62;&#60;br/&#62;	&#60;br/&#62;	&#60;div&#62;&#60;br/&#62;&#60;br/&#62;		&#60;div&#62;&#60;br/&#62;			&#60;h1&#62;CONTENT&#60;/h1&#62;&#60;br/&#62;&#60;br/&#62;			&#60;br/&#62;&#60;br/&#62;				&#60;h1&#62;&#60;/h1&#62;&#60;br/&#62;				&#60;h4&#62;Posted on &#60;/h4&#62;&#60;br/&#62;				&#60;p&#62;&#60;/p&#62;&#60;br/&#62;				&#60;hr /&#62;&#60;br/&#62;&#60;br/&#62;				&#60;br/&#62;					&#60;p&#62;&#60;/p&#62;&#60;br/&#62;			&#60;br/&#62;&#60;br/&#62;		&#60;/div&#62;&#60;br/&#62;&#60;br/&#62;		&#60;br/&#62;&#60;br/&#62;	&#60;/div&#62;&#60;br/&#62;&#60;br/&#62;	&#60;div&#62;&#60;/div&#62;&#60;br/&#62;&#60;br/&#62;&#60;br/&#62;</textarea><br /><span style="color:rgb(255, 0, 0);"><br />8.</span> Oh! we are still left with 30 seconds. Take a screen shot of your theme. Save it as &#8220;screenshot.png&#8221; and upload it to<br />
<blockquote>
<p>/wp-content/themes/DarlingTemplate.</p>
</blockquote>
<p>Now, when you login to your wordpress account, our template will have a medium sized thumbnail picture.</p>
<p>We have uploaded the final sample template as a zip file for your reference. <a href="http://www.aswinanand.com/downloads/DarlingTemplate.zip">Download it here</a>.</p>
<p>This is how the final version of DarlingTemplate looks. I know it&#8217;s not professional, but you have learnt the basic tricks of building a new template.</p>
<p><a target="_new" href="http://bothack.wordpress.com/files/2006/09/scr2.JPG"><img height="150" alt="Final show of the DarlingTemplate" src="http://bothack.wordpress.com/files/2006/09/scr2.JPG" /></a></p>
<p>Happy Templating! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Note:</strong><br />1. You cannot upload the new template if your blog is hosted at wordpress.com.<br />2. How to Ajax -ify your wordpress template &#8211; coming soon.</p>
<p><a href="http://digg.com/design/Create_a_WordPress_Theme_in_5_minutes/">Digg this</a>, <a href="http://www.indianpad.com/story/12419">Pad this</a>.</div>
<hr />
<p><b>Hack the Bot:</b> <a href="/index.php?s=wordpress" rel="tag">wordpress</a>, <a href="/index.php?s=template" rel="tag">template</a>, <a href="/index.php?s=design" rel="tag">design</a>, <a href="/index.php?s=webpage" rel="tag">webpage</a>, <a href="/index.php?s=html" rel="tag">html</a>, <a href="/index.php?s=coding" rel="tag">coding</a>, <a href="/index.php?s=php" rel="tag">php</a>, <a href="/index.php?s=css" rel="tag">css</a>, <a href="/index.php?s=tutorial" rel="tag">tutorial</a>, <a href="/index.php?s=DIY" rel="tag">DIY</a>, <a href="/index.php?s=tips" rel="tag">tips</a>, <a href="/index.php?s=tricks" rel="tag">tricks</a>, <a href="/index.php?s=hacks" rel="tag">hacks</a>, <a href="/index.php?s=how+to" rel="tag">how+to</a></p>
<p><b>Technorati Tags:</b> <a href="http://technorati.com/tag/wordpress+template">WordPress Template</a>, <a href="http://technorati.com/tag/template+design">Template design</a>, <a href="http://technorati.com/tag/webpage+design">webpage design</a>, <a href="http://technorati.com/tag/tutorial">tutorials</a>, <a href="http://technorati.com/tag/diy">diy</a>, <a href="http://technorati.com/tag/tip">tips</a>, <a href="http://technorati.com/tag/tricks">tricks</a>, <a href="http://technorati.com/tag/hacks">hacks</a>, <a href="http://technorati.com/tag/how+to">how to</a>, <a href="http://technorati.com/tag/html">html</a>, <a href="http://technorati.com/tag/php">php</a>, <a href="http://technorati.com/tag/coding">coding</a>, <a href="http://technorati.com/tag/wordpress">wordpress</a>, <a href="http://technorati.com/tag/theme">Theme</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Introduction to Flash Animation]]></title>
<link>http://levoltz.com/2006/07/07/introduction-to-flash-animation/</link>
<pubDate>Fri, 07 Jul 2006 17:13:56 +0000</pubDate>
<dc:creator>kuthermaught</dc:creator>
<guid>http://levoltz.com/2006/07/07/introduction-to-flash-animation/</guid>
<description><![CDATA[Overview This tutorial will give a quick and easy, and hopefully fun intro to Flash animation with t]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Overview</strong></p>
<p>This tutorial will give a quick and easy, and hopefully fun intro to Flash animation with the new Flash Professional 8. It is for someone who has not even touched the surface of Flash.</p>
<p><strong>Terms to Know</strong></p>
<p>Frame &#8211; All I really want you to know for this tutorial is what a &#8220;frame&#8221; is (which we&#8217;ll work with later). It is a single rectangle in your timeline, which we will also work with later, and it contains a single &#8220;step&#8221; in your animation. Come back to this part later, and you will probably understand what I mean better.</p>
<p><strong>Intro</strong></p>
<p>Welcome, to the awesomely fun world of animation! You are about to take your first step into this exciting multimedia adventure using the new Flash 8 Professional Edition from Macromedia (now owned by Adobe). But first, their are some ground rules we have to go over.<br />
<!--more--><br />
First of all, what is the history of Flash? Is it new? What can I do with it?</p>
<p>Well, Flash was acquired by Macromedia in 1996, designed to create and deploy (through the common &#8220;Flash Player&#8221;) rich interactive animations for the world wide web. Before Macromedia aquired this software, it was known as FutureSplash, created by the FutureWave company. Even before Flash, there were animated GIF files (which of course still exist). These files are much less interactive and are usually less eye appealing. However, GIF files are still an important part of the world wide web and for that you should not only think about Flash. Anyway, the newest version of Flash which we will be working with in this tutorial is called Flash 8 (in two versions &#8220;basic&#8221; and &#8220;professional&#8221;) which was released quite recently &#8211; August (the eighth month) 8, 2005 at 8:00 A.M. &#8211; cute, eh?</p>
<p>You can do A LOT with Flash. I know this sounds familiar, but the only limit to Flash is your imagination (within the boundaries of the basis of the program, of course). Have of ever seen annoying, but somehow addicting interactive advertisements on websites? How about addicting website games? Or maybe you&#8217;ve seen a fancy swirly logo on a website? You were likely viewing a <strong>Flash animation</strong> through the <strong>Flash Player</strong>, created by someone in the <strong>Flash IDE</strong> (integrated development environment) and later published into its viewable and deployable SWF format. But anyway, enough of this boring stuff! Let&#8217;s get started.</p>
<p><strong>Installation</strong></p>
<p>For this tutorial, you are required to have Flash 8 Professional. If you do not have it, you can obtain a <strong>free 30 day trial</strong> from Adobe at <a href="https://www.adobe.com/cfusion/tdrc/index.cfm?loc=en%5Fus&#38;product=flashpro" target="_blank">https://www.adobe.com/cfusion/tdrc/index.cfm?loc=en%5Fus&#38;product=flashpro</a>. When the trial period runs out, and you decide that Flash is something you&#8217;re really interested in, you can buy it for $699 (professional edition, more robust) or $399 (basic edition, more stripped down). I will not go over the steps of installation since it&#8217;s pretty straight forward.</p>
<p><strong>The Design Environment</strong></p>
<p>When you have it installed, run Flash 8. When it is done loading, you will be confronted with a start-up screen. Choose &#8220;Flash Document&#8221; (under the &#8220;Create New&#8221; column) and you will soon be inside of the design environment. On the left side of the screen, you will see your Toolbox. This is familiar to almost every designing program (even microsoft paint!). You can draw circles, squares, move stuff around, resize shapes, and do all kinds of things with the toolbox. At the very top of the screen, you will notice something slightly intriguing &#8211; The Timeline. This is where the main action goes on in Flash. You can add frames, layers, and do much much more in the timeline. More on this later. On the right hand side of the screen, you will notice a few panels. At this level of your Flash career, don&#8217;t worry about these panels. We will not be working with them in this tutorial. At the bottom of your screen is a panel with a few tabs including &#8220;properties&#8221; &#8220;filers&#8221; and &#8220;parameters.&#8221; Just as its name implies, the properties tab will contain various properties of your project, shapes, and tweens (which we&#8217;ll get into later). The filters tab allows you to add cool things such as drop shadows, blurs, and glows to your text and shapes. If you have ever worked with Adobe Photoshop, the Flash filters are similar. The parameters tab contains advanced information for components, which we will not get into in this tutorial. You may also notice an &#8220;actions&#8221; panel &#8212; This is where more advanced coding known as <strong>actionscript</strong> goes on for your projects. This tutorial will barely scrape the surface of actionscript, but you should check into it more on your own if you have an interest in Flash, or even programming. Finally is the center of your screen, the big blank white square. This is known as the stage. Here is where you can add shapes, various other things, and edit the graphics of your animation. Whatever goes on the stage is what displays in your final published animation.</p>
<p><strong>Tweening</strong></p>
<p>In the old days of animation, in order to make something look like it was moving, an illustrator or animator would have to draw a bunch of different pictures, each one similar to the previous, but changed in just a small way, similar to how a flip book works. This was known as in-betweening (because they had to draw all of the frames in-between the start and end point of the animation), but it was later shortened to tweening. Thankfully, in flash you do not have to draw all of these in-between pictures. You more or less only have to draw the starting point of your moving object, and the ending point. The rest is done for you! So lets make a circle move across the stage in Flash now.</p>
<p>First, select the &#8220;oval&#8221; tool from your toolbox (or press the &#8220;O&#8221; key on your keyboard). Draw a small circle on the stage &#8211; If you want it to be perfect cirlce, hold down shift while dragging across. Now re select the <strong>black</strong> cursor from the top of your toolbox, and highlight the circle you just drew. You will notice a lot of little white dots over the circle. These dots tell you that your circle is a <strong>raw shape</strong>. This means that you can only use Flash&#8217;s &#8220;shape&#8221;<br />
tween on it, which twists shapes around and stuff. To use the &#8220;motion&#8221; tween, press F8 on your<br />
keyboard while the cirlce is highlighted to convert your circle to a <strong>symbol</strong>. Choose the movie clip radio button, and in the name textbox, type &#8220;circle_mc&#8221; (_mc for movie clip) and click OK. You will now notice that your circle no longer has a bunch of white dots on it. Instead, it has a light blue border around it, telling you that it is a symbol (in this case a movie clip symbol). This means that you can now use the motion tween on your object. Now we will use the timeline. Right click the small rectangle under &#8220;10&#8243; (which stands for frame 10) and select &#8220;Insert Keyframe&#8221; from the pop up menu. Your cirlce will now appear on every frame from 1 to 10. At frame 10, click and drag your circle to a different point on the stage. Finally, click any frame between 1 to 10, and in your properties panel, select &#8220;Motion&#8221; from the dropdown list next to the text &#8220;Tween:&#8221; You will notice that the frames from 1 to 10 are highlighted purple in your timeline with an arrow across them. This symbolizes a successful motion tween. If the arrow is broken appart in a dashed line, chances are you didn&#8217;t convert the circle to a symbol. Hold down control and press enter on your keyboard to test your movie. You will notice that the circle moves from the first point you drew to the second point &#8212; and you didnt have to draw any of the frames in between! You&#8217;ve probably noticed by now that your animation loops over and over. We are<br />
going to add some simple actionscript to stop this looping behavior. Double click on frame 10 in<br />
your timeline and hit F9 on your keyboard to bring up the actions panel. First, make sure that the &#8220;Script Assist&#8221; button is <strong>not pushed</strong> in. Next, in your actions panel, type:</p>
<pre>stop();</pre>
<p>This statement tells your animation to stop playing when it gets to frame 10. Notice the semi-colon at the end of the stop statement. This, like in many other languages such as Java and C++ tells the computer that it is at the end of a line of code. Close your actions panel by hitting F9 again. Congratulations, you have successfully typed your first actionscript code Notice that in frame 10 of your timeline, a little &#8220;a&#8221; has appeared. This tells you that there is actionscript in that frame. Test your animation again by holding down control + enter and notice that the circle no longer loops. Congratulations once again, you have successfully created your first Flash animation. Although it is not much, I hope that it intrigues you to continue this path down animation.</p>
<p><strong>Final Project</strong></p>
<p>Now lets create something a little bit more interesting. Hold down control and press n on your keyboard and click ok to create a new flash document. In frame 1, draw a large circle on your stage. This time, since we will be working with a shape tween rather than a motion tween, we will not convert the circle to a symbol. Next, at frame 15 in your timeline, right click, and select &#8220;Insert Keyframe&#8221; or simply hit F6 on your keyboard while frame 15 is selected. Now, at frame 15, delete the circle. Select the text tool from your toolbox, and use it to write &#8220;Hello World&#8221; on the stage. Go up to the <strong>black</strong> cursor in your toolbox, make sure your text is selected, and hit control + b on your keyboard <strong>two times in a row</strong>. This will convert your text to a raw shape (notice the white dots again). Finally, select any frame between 1 and 15, and in your properties panel, change the tween to &#8220;Shape.&#8221; You should notice that frames 1 to 15 in your timeline are highlighted green with an arrow. Again, if the arrow is broken in a dashed line, chances are you forgot to break the text into a raw shape. Click anywhere on the <strong>blank</strong> part of the stage to display your project properties panel. At the top-right side of the panel where it says &#8220;Frame rate:&#8221; change the textbox to 20 (right now it should be at 12 by default). This is how many frames your animation will go through in one second, and in this case, 20 f.p.s. (frames per second) will make our animation run more smoothly than 12. Hit control + enter on your keyboard, and be mesmorized as your circle quickly re-shapes and twists itself into the text &#8220;Hello World&#8221; <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  I&#8217;ll let you try to add a stop action on your own to test your knowledge. Now you have a feel for both the motion and shape tween, which are two fundamental parts of almost every animation.</p>
<p><strong>Publishing Your Animation</strong></p>
<p>If you would like to create a SWF file to give to your family and friends, or even post on the internet, go to the File menu, and select &#8220;Publish Settings.&#8221; By default, Flash, and HTML should be checked. If you have not yet saved your Flash project, click the little folder next to the Flash and HTML textboxes, and save your files in an easy to remember place such as your desktop. Click the &#8220;Publish&#8221; button and your files are now deployable anywhere with the Flash Player (which is a lot of computers). Go to the place where you published your files, and double click the HTML version. A webpage will be displayed with your animation. You may want to view the source to see exactly how it displays your animation, so that you can do it on your own personal sites (such as myspace or whatever). Please note that the swf file type cannot be edited in Flash (unless you get one of those fancy swf decompilers), so you still have to save your project as an editable FLA file by going to File and Save As.</p>
<p>Congratulations, you have successfully finished my tutorial.</p>
<p>If you would like to learn more about Flash Animation, go to <a href="http://www.learnflash.com/" target="_blank">learnflash.com</a> where you can sign up for a free newsletter in which every week or so, the guy sends out a fun and easy video tutorial of a &#8220;Flash tip or trick.&#8221;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Monthly Spl: ARP Poison routing for dummies]]></title>
<link>http://levoltz.com/2006/06/03/monthly-spl-arp-poison-routing-for-dummies/</link>
<pubDate>Sat, 03 Jun 2006 13:08:30 +0000</pubDate>
<dc:creator>kuthermaught</dc:creator>
<guid>http://levoltz.com/2006/06/03/monthly-spl-arp-poison-routing-for-dummies/</guid>
<description><![CDATA[Learn the basics of the ARP protocol and how to exploit it to sniff passwords with cain. Introductio]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em>Learn the basics of the ARP protocol and how to exploit it to sniff passwords with cain.</em><br />
<strong>Introduction</strong></p>
<p>This paper will lay out for you the basics of an ARP Poison Routing (APR) attack and Man in the Middle (Mitm) attacks. These are very simple attacks, but can be very powerful on unsecured networks. These attacks are so easy I could provide you a walkthrough of how to do this in Cain in about one paragraph, but you wouldn’t learn anything and would become a skiddy.</p>
<p>Before reading this, I suggest you learn a little about networks and the OSI 7-layer model (<a href="http://www.webopedia.com/quick_ref/OSI_Layers.asp" target="_blank">http://www.webopedia.com/quick_ref/OSI_Layers.asp</a>) and media access control (MAC) addresses, as these attacks take advantage of protocols that work on OSI layers other than what you are usually used to (ie, HTTP on layer 7 and TCP on layer 4, whereas ARP works on layer 2) and do not use only IP addresses for identifying computers.</p>
<p><strong>Address Resolution Protocol:</strong><br />
The Address Resolution Protocol (ARP) is a layer 2 protocol that maps IP addresses to hardware MAC addresses. When a computer wants to find another computer on its network, it uses the ARP to identify where that computer is and how to reach it. There are 9 types of ARP packets, but only 4 are relevant here:</p>
<blockquote><p>1.	ARP – What MAC has this IP address?</p>
<p>2.	ARP Response – This MAC has this IP address.</p>
<p>3.	RARP – What IP has this MAC address?</p>
<p>4.	RARP Response – This IP has this MAC address.</p></blockquote>
<p><!--more-->If you are trying to contact a computer on another network (ie, over the internet) then ARP is used to contact your border gateway and route packets to it. The gateway is then responsible for routing the packets to the desire network using IP addresses and various routing protocols instead of ARP. Once the packet has arrived at the correct network, the router that received it will then use ARP again to route the packet around the network to its final destination.</p>
<p>The address resolution protocol works on a stateless broadcast request/single reply communication model. This means when one computer wants to know the address of another; it will broadcast a request for the address across the whole network in the form of <em>What computer is 123.123.123.123?  Tell 00:FF:AC:C5:56:3B</em>.  The computer that has the IP address of 123.123.123.123 would then send a directed reply, NOT broadcast, saying <em>90:F5:63:CA:BB:32 has 123.123.123.123</em>. The MAC address in the reply is then added to the local computer’s cache, or if a mapping already exists for either the IP or MAC being used, the cache is updated to reflect this new info. The MAC/IP mapping is then used to route traffic around the network.</p>
<p><strong>ARP Poison Routing (APR)</strong><br />
Now that you know the basics of how ARP works, let’s explore some pitfalls in the protocol. As I’ve said before, ARP is a stateless protocol. This means that each computer does not remember the state of its ARP requests/replies, and thus, does not remember if it sent a request or if it is waiting for a reply or has already received a reply to a previous request. So if we send an ARP reply, the host will accept it and alter its cache accordingly, even if the host didn’t send out a request! So if we send a reply to a target computer saying that our MAC address corresponds to the local gateway’s IP, then any traffic coming out of the target computer bound for the internet will be instead routed to your computer. You can use this to execute a DoS attack and prevent any packets from the target computer reaching the internet or you can sniff the packets for passwords and then pass them on to the real gateway. The second method is a very effective way of getting sensitive information and is fairly undetectable unless the target is monitoring their ARP cache constantly. APR can be setup with either 1-way or 2-way poisoning. 1-way poisoning will only poison the cache of a single target and will only intercept traffic coming from that computer, as shown below:</p>
<p><a class="imagelink" title="hack" href="http://bothack.wordpress.com/files/2006/06/hack.JPG"><img src="http://bothack.wordpress.com/files/2006/06/hack.JPG" alt="hack" /></a><br />
<em>Figure 1: 1-way APR</em><br />
2-way poisoning effectively puts your computer directly between 2 target computers so that you can intercept network traffic coming from either host, as shown below:</p>
<p><a class="imagelink" title="hack2" href="http://bothack.wordpress.com/files/2006/06/hack2.JPG"><img src="http://bothack.wordpress.com/files/2006/06/hack2.JPG" alt="hack2" /></a><br />
<em>Figure 2: 2-way APR</em><br />
Some interesting attacks that can be used with APR include DoS attacks, Network sniffing/Packet stealing, and phishing.</p>
<p>DoS attacks can be accomplished using a 1-way poison and by redirecting traffic from a target computer to a gateway that doesn’t exist so they get ICMP Host Unreachable errors for all their network traffic, or you can redirect it to your computer and simply refuse to forward it to the proper destination. Network sniffing and packet stealing as well as Man in the Middle (Mitm) attacks require a 2-way poisoning scheme. Network sniffing and packet stealing would allow you to steal passwords and hashes that are passed over the network. With the proper filters, you can easily pick out plaintext passwords such as FTP, SMTP, HTTP form data, and hashes such as AIM and Yahoo messenger and SQL. You can even listen in on NetBios sessions and Telnet connections. With some simple phishing filters on your APR tool, you can redirect people from one website to one you control that looks the same where the victim will type in their login info unsuspectingly. This is often useful for grabbing plaintext passwords rather than having to brute force password hashes</p>
<p>One of the greatest hazards to be aware of when using APR is unintentional DoSing of the target or the entire network; because your computer is most likely NOT a dedicated router, and because the packets must travel all the way up the OSI model, be analyzed by your sniffer, then repackaged and sent all the way down the OSI model again, your computer can not handle packet routing as efficiently as a dedicated hardware router. This costs a great amount of time and CPU cycles and slows down the flow of traffic that may end up backing up and DoSing the target, the network, your computer, or any combination of the three. This is a serious issue and should not be taken lightly. If you APR a router on a large network, you may have hundreds of thousands of packets going thru your computer each second. Another hazard that is of interest to hackers is the fact that proxies cannot effectively be used, because ARP and APR works on layer 2 and proxies work on either layer 5 or 7 (depending on the amount of anonymity used) and usually require traveling outside the network to a proxy server. This may seem like a huge safety issue for a hacker, but there is hope! While IP addresses are difficult to spoof over the internet while keeping traffic flowing to and from your computer, both the IP address and MAC address can be effectively altered on a LAN. Many tools exist for changing your MAC and IP during APR attacks. Cain provides an option to do this under the “Configure” menu item.</p>
<p><strong>Man In The Middle (Mitm) Attacks</strong></p>
<p>Mitm attacks include a range of possible attacks, from DoSing, to sniffing, phishing, and rerouting for SE purposes. Mitm is started with a 2-way APR attack that in effect inserts your computer between 2 targets (often a host and a gateway). You can then begin the real meat of the mitm by using customized programs and packet filters to gain the effect you need.</p>
<p>For a simple sniffing attack, a network sniffer such as Ethereal with an IP or MAC filter applied to only capture packets to or from the target is sufficient. For more advanced attacks like password grabbing and phishing, you need more advanced filters. In the case of grabbing passwords, you need to have a filter that disassembles the packet to get to the layer 4 data and above, then scan that data for plaintext passwords or hashes such as HTTP POST or GET data, FTP, SMTP, or SQL login info, or you can use a filter to capture an entire NetBios, Telnet, or <a href="http://www.tech-faq.com/what-is-voip.shtml">VoIP</a> session to record conversations and gather potentially sensitive information. Sometimes it is not always desirable to have a password hash, especially when you can get the plaintext password in less time. This is where phishing comes in. Phishing is the art of constructing a website to look exactly like another, then redirecting traffic from the real site to the one you control in the hopes that no one will notice and will happily type in their real login info, assuming that everything is as it should be. Great care should be taken in conducting a phishing style attack, and I will offer some pointers and methods later on.</p>
<p>Because mitm attacks are built on the back of an APR attack, then all the limitations of an APR attack also apply to a mitm attack. But with the increased complexity of a mitm attack, you must also be aware of further limitations. Using complex filters or packet scanners consumes a lot of CPU cycles and can further increase the risk of unintentional DoSing or breaking of the network. Phishing should be used with care as well, because even the smallest difference between your site and the legitimate one will be noticed by daily users and may raise suspicion.</p>
<p><strong>Phishing</strong></p>
<p>Phishing, as already stated, is making a fake site to fool people into giving you their plaintext passwords and login info. There are several methods for creating a phishing site (phishing lure <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ). You can attempt to create your copy site from scratch and code it yourself, but chances are people who use the site regularly would know the difference. Another way would be to copy the source code, images (keeping the directory structure in tact), and any stylesheets, javascripts, or embedded objects, then just make a few small changes to the code. Make sure to change all relative directories to absolute URLs when you do this! If you don’t, a form may not direct to the right page or produce a 404 error or an image may not display right and will raise suspicion. This method produces a site that looks and behaves nearly identically to the original, but because it is still being hosted on another server under a different domain name, observant users may spot the anomaly and report it. For low profile targets, this method is fast and effective. The final method I will discuss is how to do it without making a fake site at all. Because you are executing a mitm attack and have full access to every packet that moves to and from the target, you can create a packet filter that will change the ACTION property of a &#60;FORM&#62; tag, so that when the victim clicks the login button, the data will be sent to a site of your choice where you can log the information. This method may be slightly easier to execute, but it will increase the risk of unintentional DoSing due to the processing power required for the filter.</p>
<p>No matter what method you choose to use, it is almost always a good idea to take the login info that you received from your fake site and pass it on to the real site to log the user on. This makes your attack more hidden and more difficult to detect. When doing this, make sure to catch errors coming back from the real site in case the user entered an invalid password or username. Then pass this information back to the user. This can be done easily and is no big deal to implement, but failing to do so may raise suspicion and may get you caught.</p>
<p><strong>APR with Cain</strong></p>
<p>Most people think of Cain as a simple password hash cracker, but it is actually much more. It is a very powerful network analyzer and password recovery tool as well as a cracker. It can dump protected storages, sniff network connections, enumerate hosts and users as well as network shares, and can even remotely install the backdoor program Abel. Now, on to the good stuff! I will show you a basic password sniffing mitm attack, but first, I assume you have Cain configured properly for your network card. If not, click the “Configure” menu option and read the help files.</p>
<p>Start up Cain and look at the icons in along the top, just under the menu. The 2 icons we will be concerned with here are the nuclear symbol (the APR icon) and the small circuit board with a red arrow (the sniffer icon). If you are not sure which icons I am talking about, hover your mouse over them and find the icons for “Start/Stop Sniffer” and “Start/Stop APR”. Click the sniffer icon to start the sniffer. Now go to the sniffer tab. The table shown in this tab provides you with information about computers currently on your network and should be blank. If not, clear it by right clicking and selecting “remove all”. The most useful columns right now are the first 4: IP Address, MAC Address, OUI Fingerprint, and Host Name. These should be pretty self explanatory with the exception of the OUI Fingerprint column. When a MAC address is coded into a piece of network hardware, part of the address is used to define the particular computer (like a serial number) and part is used to define the vendor that makes the hardware. Cain has a database of vendors that it checks the MAC address against to discover who made the hardware of that particular host. This is what is contained in the OUI Fingerprint column.</p>
<p>Once the sniffer is started, we need to populate the sniffer tab with host info. Click the “+” button to gather a list of all computers on the current network. If you have Ethereal, you can start that up with “arp” in the filter and watch Cain send out consecutive ARP requests for every IP in your subdomain and watch all the computers respond, freely giving away information about themselves. Once we have a list of possible targets, we need to setup an APR attack. Click on the “Start/Stop APR” icon to start the APR poisoner, then click the “APR” tab at the bottom of the “Sniffer” tab window. There are 2 tables in this tab: the top one is hosts on the LAN that you can directly affect, the bottom table is for computers on the WAN, which, depending on the border router’s settings, may or may not be vulnerable to APR. This list is populated as hosts are discovered thru analyzing packets.</p>
<p>Select the LAN table, and click the “+” icon again. Now select 2 hosts to insert yourself between. After that’s done, sit back and watch the packets roll in. Check the “Passwords” tab on the bottom for various passwords, or the branches under the “APR” symbol on the main APR tab to get HTTPS certificates and other valuable information. The APR-DNS branch can be used in phishing and in redirecting traffic from a website. Well, that’s it. That’s all there is to spying on people’s network traffic when you have access to a computer on the network, which is quite often if you go war-driving behind main street, picking up all the “insekure” business wi-fis <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Conclusions</strong></p>
<p>On large or sensitive networks, APR and Mitm can be a very effective way of getting valuable information thru many means, including packet filters and sniffers, phishing, and traffic rerouting. Some of the overall limitations of ARP poisoning are that it cannot cross routers unless they are set up as a single autonomous unit (AU) and are contained in the same subnet. ARP poisoning can be easily thwarted if static caches are being used. Static caches prevent host caches from being updated remotely via the ARP protocol. 	Some of the interesting things I have <em>actually</em> been able to get from APR and Mitm include:</p>
<blockquote><p>-	Webmail and SMTP logins<br />
-	FTP logins to servers running FTPD as root (w00t!)<br />
-	FTP logins to websites (pwnt)<br />
-	Admin logins to sites<br />
-	Student and teacher account logins to my college (I can change their schedules for next year <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> )<br />
-	AIM convos/hashes and Telnet/SMB/SSH sessions<br />
-	Wardriving behind businesses to take over their networks<br />
-	Online banking login info and certificates (free moneys!)</p></blockquote>
<p>Things I’ve learned from my exploits: SECURE YOUR Network! And DON’T do important things on a public network (library, school). You never know when Big Brother is watching <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Links, References, and Tools</strong><br />
-	Cain<br />
-	Ettercap<br />
-	Ethereal<br />
-	ARPoison<br />
-	Dsniff<br />
-	Parasite<br />
-	WinARPSpoofer<br />
-	<a href="http://en.wikipedia.org/wiki/ARP_spoofing" target="_blank">http://en.wikipedia.org/wiki/ARP_spoofing</a><br />
-	<a href="http://www.grc.com/nat/arp.htm" target="_blank">http://www.grc.com/nat/arp.htm</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[A look at how AJAX works]]></title>
<link>http://levoltz.com/2006/05/19/a-look-at-how-ajax-works/</link>
<pubDate>Fri, 19 May 2006 14:40:11 +0000</pubDate>
<dc:creator>kuthermaught</dc:creator>
<guid>http://levoltz.com/2006/05/19/a-look-at-how-ajax-works/</guid>
<description><![CDATA[This tutorial will show you how ajax (Asynchronous Javascript and XML) works and how to use it from ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This tutorial will show you how ajax (Asynchronous Javascript and XML) works and how to use it from a web developers standpoint. Ever wonder how things like G-Talk work? they don&#8217;t reload the page or use Iframes and yet they always appear to have the data thats coming in instantly. It  acomplishes this using ajax. Ajax is not a language of its own, so if you know javascript and HTML, your all set. This is where it all comes from, the ability to send and recieve data without reloading the page. First, you need to create an object though,</p>
<pre><span style="font-size:x-small;">Firefox: var xmlhttp=new XMLHttpRequest;
IE: xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");</span></pre>
<p>The best way I have found to get them both in one command is:</p>
<pre><span style="font-size:x-small;">xmlhttp=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Micro
soft.XMLHTTP");</span></pre>
<p>Now you need to create a callable function as well as an onreadystatechange handler. This part is simple. Here&#8217;s an example:</p>
<pre><span style="font-size:x-small;">function getnamedata()
{
	xmlhttp.open("POST","file.php");
	xmlhttp.onreadystatechange=handler;
	xmlhttp.send("name=random&#38;id=42");
}

function handler()
{
	if(xmlhttp.readyState==4)
	{
		alert("Name Info: "+xmlhttp.responseText;
		xmlhttp.close;
	}
}</span></pre>
<p>The xmlhttp.open call opens a connection to the page, the first parameter is POST or GET depending on the method you want to use. The second parameter is the filename of the page relative to the current directory. Line 2 tells it that whenever it goes through a statechange to call a certian function, the handler. xmlhttp.send passes variables to the script that you are calling, you&#8217;ll notice that it passes them in almost exactly the same way as a url bar minus the &#8216;?&#8217;.</p>
<p>The handler function gets called every time that xmlhttp changes state. We have the if statement so that it will only execute when readyState==4 (4 is completed). The last statement of course retreives the data from the xmlhttp object. If you are getting most  types of data you should use the responseText property, for actual XML data use the responseXML property. The last statement just closes the socket for later use. Using this as a basic model you can make an entire website live if you want to, or just find something fun to do with it.</p>
<p>This is only a beginner level coding. But if you are interested and want to learn more then my good friend ChronoTron has an Article : <a href="http://chronotron.wordpress.com/2006/04/11/ajax-get-started-resources-tutorials/" target="_blank">Repository of tutorials and resources on Ajax</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[BarCamp Chennai Day 2]]></title>
<link>http://levoltz.com/2006/04/09/barcamp-chennai-day-2/</link>
<pubDate>Sun, 09 Apr 2006 17:58:45 +0000</pubDate>
<dc:creator>mark isuak</dc:creator>
<guid>http://levoltz.com/2006/04/09/barcamp-chennai-day-2/</guid>
<description><![CDATA[The day kick started with a wonderful session on Microsoft Word 2007. Pratul who happenes to be a th]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The day kick started with a wonderful session on Microsoft Word 2007. Pratul who happenes to be a third year student of Computer Science Engineering, Jeppier College is a Microsoft student champ (I will join the community when I am in my third year). Being a Student Champ of Microsoft he almost gets every info on M$&#8217;s latest projects and gets to test the pre-beta version of the product.</p>
<p>Office 2007 has a Mac feel to it (Microsoft is becoming Mac these days. Every thing is getting copied). It is quick, has better UI and goes easy on the eye. The first version of Word (Word 1.0) released at 1989 had 100 features/functions (Bold, Italics etc) in it. Word 2000 had 1500 functions in built. But on a recent survey by M$ it was found that people still used the basic 100 functions mostly. This is primarily because the user interface is bad. A person had to search/navigate a lot to find new features, which was very painful. Word 2007, makes these complaints a past. M$ word 2007 also breaks free of the &#8220;Files Edit View Format&#8221; cliche and has a new Mac like interface.</p>
<p>Dynamic changes on word alone will not signify as a major Office 2007 update. Even Excel and PowerPoint have also been revamped. Live graph is something to look forward to. Photoshop might run out of business as M$ powerpoint takes over most of the functonalities of Photoshop.</p>
<p>However the stability of the system is what worries me. It&#8217;s still in pre-beta. But then M$ is known for its crashes and blue screen of death <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Following this session, was Atul Chitnis&#8217; &#8220;Mobile computing beyond PC&#8221;. the session was very informative and also bought about a discussion on how to make applications addressing the mobile users, instead of just shrinking the already PC applications into smaller frams and installing them on your portables. He says &#8220;One major reason why the iPod clicked was because of its &#8220;one hand full control&#8221; interface&#8221; The applications are simple to navigate thro, unlike most applications created for hand helds, by developers which have complicated menus and features built for a PC. The user has to squint his eyes and press a doesnt keys and tap a hundred times ont he screen to get things done. This talk actually complimented the previous talk on Microsoft Office 2007 and at the same time also rebuked it. Both the talks were centered on user interfacing and how to make it simple. But Atul openly declared that the idea of his session was to show the endless possibilities of a Mobile device and why a PC may no longer be needed.</p>
<p>An interesting fact that Atul shared with us &#8220;In the past ten years, say from 1995 to 2006, a PC has gone dramatic change. So many new features and so many new extensions. Its practically not possible for a person to work on one of those 1995 PCs. But lets take the time span of last five years (2000 to 2006). What change has happened. Practically nothing. For the past five years Computer has become saturated, well, of course leaving those minor changes like few new buttons and a better wall paper! thats it! I can still work on a 2000 machine without a hitch!&#8221;</p>
<p>This is where Mobile computing eneters. The boundries lie to be explored.</p>
<p>A quick audio conference with Sujatha (Founder of PodBazzar) ensued Atul&#8217;s talk. The Conference was a success, leaving the few glitches with the voice quality at times. Podcasting couldnt be more easier and definitely it&#8217;s an untapped resourse of money for peeps in India. Most of us have never tried Pod-Casting, and even if we tried, we gave it up due to lack of netorking. PodBazzar is an excelent place to start with.</p>
<p>Just before lunch a neat session on new age Mail sync techonlogy was delivered by my good friends Ashwin and Moyeen. Both doing their final year collegeing at Jeppier college of Engineering. It was a delight to see these lads carry out the session with confidence that only a expert could have. The idea is unique and their project has been recogonised as one of the 20 best final year projects in India by Microsoft (The review for which will be held on 24th of this month, at B&#8217;Lore). MailSync basically integrates EMail and Mobile.</p>
<p>In light with the number of presentations piling up and lack of time being a villain, track two was thrown open for demos.</p>
<p>Amit from Delhi gave an insiders view on <a href="http://themindcanvas.com/" target="_blank">MindCanvas</a> a survivors list to making killer applications/web products. I like the interface of Mind-Canvas.</p>
<p>Narain made up for his yesterday&#8217;s dismal web 2.0 presentation with a brilliant session on <a href="http://www.tracbac.com/" target="_blank">TracBac</a> &#8211; A web 2.0 application which he promises will help designers to keep in league with reviewers with minimal effort. At present Tracbac isnt full fledged net service, it&#8217;s still in beta. the navigation and the reviewing process is simple and made with dummies in mind. <em>Good work Narain!</em></p>
<p>A few more session on Ruby was presented. To beat the slugishness and the sleep inducing session, I moved over to flaunt the artist in me.</p>
<p><img src="http://bothack.wordpress.com/files/2006/04/IMG_0111.JPG" alt="BarCampChennai" width="410" height="307" /></p>
<p><a href="http://boskey101.blogspot.com" target="_blank">Boskey</a> my good friend and college mate gave an interesting talk or rather a demo on how to integrate Ajax into a lot of applications. For instance audio recogonising and indexing softwares, on the fly modifying websites. I have made a note to learn Ajax in my summer hols. seems to be a powerful tool in web 2.0.</p>
<p>The BarCamp T-Shirts are pretty cool. I got one for my bro&#8217; too. A few memmorable group snaps and contacts were exchanged. Finally BarCampChennai comes to an end. It was a fabulous experience. I am planning on attending the <a href="http://barcamp.org/BarCampBangalore/" target="_blank">BarCamp Bangalore</a> edition, which will take place on 22nd of this month.</p>
<p>Photos of <a href="http://www.flickr.com/photos/tags/barcampchennai/" target="_blank">BarCampChennai</a></p>
<p><a href="http://barcamp.org/BarCampChennai" target="_blank">BarCampChennai</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Free Electronic stuff over the Net]]></title>
<link>http://levoltz.com/2006/02/03/free-electronic-stuff-over-the-net/</link>
<pubDate>Fri, 03 Feb 2006 16:33:37 +0000</pubDate>
<dc:creator>Ganesh APP</dc:creator>
<guid>http://levoltz.com/2006/02/03/free-electronic-stuff-over-the-net/</guid>
<description><![CDATA[Learn step by step, fully legal methods to GET Name Brand Electronics &amp; Other Products Delivered]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Learn step by step, fully legal methods to GET Name Brand Electronics &#38; Other Products Delivered to You &#8211; Completely FREE?<img width="2" height="2" border="0" alt="News, Mobile, Reviews, Wireless, Entertainment, Photography, Graphics, Downloads, Computers, Gaming, Hardwares, Softwares, Services, DIY, Hacks, Ganesh app, BotHack, How-To, Robotics, Fests, Organizers, marketting" src="http://bothack.wordpress.com/files/2006/02/blank.gif" /></p>
<p>While the techniques discussed in this article do in fact allow you to acquire Free Electronics, this article also allows you to make money!<img width="2" height="2" border="0" alt="News, Mobile, Reviews, Wireless, Entertainment, Photography, Graphics, Downloads, Computers, Gaming, Hardwares, Softwares, Services, DIY, Hacks, Ganesh app, BotHack, How-To, Robotics, Fests, Organizers, marketting" src="http://bothack.wordpress.com/files/2006/02/blank.gif" /></p>
<p>I&#8217;m sure you&#8217;ve received those worthless free product samples in the mail such as cat food, cereal, or maybe even tampons which I receive occasionally for some odd reason. So why are these items for free? I know the items are worth nothing but the concept behind them is the same; the companies are willing to give you free samples to try to persuade you to buy their products, or for testing purposes.<img width="2" height="2" border="0" alt="News, Mobile, Reviews, Wireless, Entertainment, Photography, Graphics, Downloads, Computers, Gaming, Hardwares, Softwares, Services, DIY, Hacks, Ganesh app, BotHack, How-To, Robotics, Fests, Organizers, marketting" src="http://bothack.wordpress.com/files/2006/02/blank.gif" /></p>
<p>Now I know what you are thinking, &#8220;Free cat food is one thing, but a free Rs.10000 in-dash DVD player is impossible!&#8221; But guess what, it&#8217;s not! If you are a distributor interested in selling a manufacturer&#8217;s specific product, or you would like to beta test new products in order to help companies improve their products, they are usually very happy to send you one or more free sample units (even if it&#8217;s a Rs.10,000 in-dash DVD player). These free samples are yours to keep. Usually all it takes is a request to a manufacturer for a price quote and some sample units. It&#8217;s really as easy as that! Manufacturers are accustom to receiving requests for samples and send them out daily to potential distributors. This is what large and small retail distributors are doing every day&#8230;<!--more--><img width="2" height="2" border="0" alt="News, Mobile, Reviews, Wireless, Entertainment, Photography, Graphics, Downloads, Computers, Gaming, Hardwares, Softwares, Services, DIY, Hacks, Ganesh app, BotHack, How-To, Robotics, Fests, Organizers, marketting" src="http://bothack.wordpress.com/files/2006/02/blank.gif" /></p>
<p>Another great thing is once you have contacted a manufacturer regarding a product; it is not uncommon for them in the future to automatically mail you similar or related new models. You may also receive product updates and emails inviting you to sample new products. I get them all the time. Remember an LCD monitor costing you Rs.50000 may cost the manufacturer only Rs.2000 to produce, if not less. So you can see why most manufacturers don&#8217;t have a problem with mailing you a sample or demo unit.</p>
<p>The information mentioned in this article is legal as this concept is already well known by high positioned employees at most marketing and distribution firms since it is a part of their daily jobs.</p>
<p>First of all, to get started you need a mailing address such as your house or apartment address. I&#8217;m assuming you already have a house or apartment where you can receive your packages, but if for some reason you don&#8217;t, you will need to get a post office box at a Mail Boxes Etc. or related service. Some of your packages may require a signature upon delivery and they will sign on your behalf.</p>
<p>Second, you need an email address. You already have one, however I suggest setting up a second email account for business use. Your second email should be professional sounding; for example, something like &#8220;starsfan6969@yahoo.com&#8221; wouldn&#8217;t cut it. I would recommend the initial of your first name followed by your last name. If your name was &#8216;Ganesh APP&#8217;, then &#8220;ganeshapp@mail.com&#8221; would be great.</p>
<p>A few good locations to get free email I have listed below. I would not suggest getting an email at Hotmail or Yahoo considering literally any username you can think of is taken and they are well-known for being used to spam.</p>
<p>Free Email Services:<img width="2" height="2" border="0" alt="News, Mobile, Reviews, Wireless, Entertainment, Photography, Graphics, Downloads, Computers, Gaming, Hardwares, Softwares, Services, DIY, Hacks, Ganesh app, BotHack, How-To, Robotics, Fests, Organizers, marketting" src="http://bothack.wordpress.com/files/2006/02/blank.gif" /></p>
<p><a target="_blank" href="http://www.mail.com/">http://www.mail.com</a><br />
<a target="_blank" href="http://www.postmaster.co.uk/">http://www.postmaster.co.uk/ </a><br />
<a target="_blank" href="http://www.emailaccount.com/">http://www.emailaccount.com</a></p>
<p>I also recommend using a good email program such as Microsoft Outlook Express which comes free with Internet Explorer. If you are using an online web browser such as the one provided by Hotmail, you will not be able to keep up with the volume or be able to organize your email adequately with the traffic you get if you decide to sell your merchandise. You can download the latest version of Internet Explorer at the Microsoft website. <a target="_blank" href="http://www.microsoft.com/">http://www.microsoft.com</a></p>
<p>In order to get free samples it is recommended you get a free shipping account with Fedex, UPS or DHL. Here&#8217;s the links:</p>
<p><a target="_blank" href="http://www.fedex.com/">http://www.fedex.com</a><br />
<a target="_blank" href="http://www.ups.com/">http://www.ups.com</a><br />
<a target="_blank" href="http://www.dhl.com/">http://www.dhl.com</a><img width="2" height="2" border="0" alt="News, Mobile, Reviews, Wireless, Entertainment, Photography, Graphics, Downloads, Computers, Gaming, Hardwares, Softwares, Services, DIY, Hacks, Ganesh app, BotHack, How-To, Robotics, Fests, Organizers, marketting" src="http://bothack.wordpress.com/files/2006/02/blank.gif" /></p>
<p>You&#8217;ll need to open your free account using a debit or credit card. You will then be issued an account number. If you are unfamiliar with the way this service works, think of it as a credit card for shipping.</p>
<p>You can include this account number with the emails you send. If the manufacturer requires you to pay for shipping, they can simply enter your account # on the international airwaybill for the package. The shipping costs are then billed to the credit or debit card on your account.</p>
<p>You do not want to have these packages shipped overnight or 2 day airmail. As you can imagine a TV sent FedEx overnight from US to the India is not too frugal.</p>
<p>Instead, check with the shipping courier your account is with (FedEx, DHL, UPS) by phone to speak with customer service and find out which international shipping method would be the absolute cheapest. DHL in most cases is the cheapest since they offer slower delivery than FedEx.<img width="2" height="2" border="0" alt="News, Mobile, Reviews, Wireless, Entertainment, Photography, Graphics, Downloads, Computers, Gaming, Hardwares, Softwares, Services, DIY, Hacks, Ganesh app, BotHack, How-To, Robotics, Fests, Organizers, marketting" src="http://bothack.wordpress.com/files/2006/02/blank.gif" /></p>
<p>Once you have researched and found which shipping method is cheapest (each courier has names, i.e. &#8220;FedEx International Economy Rate,&#8221; mention in the email you would like the sample shipped using that method. Although paying for shipping is not necessary to receive free products, you will have much better success if you do. The cost of the sample usually isn&#8217;t what the manufacturer cares about; it is the cost of shipping. And it&#8217;s a small price to pay for some really great products.</p>
<p>Now that you have the necessary things – let’s get started.</p>
<p>I am going to provide you with a couple of websites to get you started with. I, as well as hundreds of thousands of others, use these sites every day. After you have done this for a while you will be able to search out other manufacturers to contact directly using search engines such as google or yahoo.</p>
<p>These special websites offer access to over 150,000 suppliers. Believe me this is plenty to get started with. You can register free at both of these websites.<br />
<a target="_blank" href="http://asianproducts.com/">http://asianproducts.com</a><br />
<a target="_blank" href="http://www.microchip.com/">http://www.microchip.com/</a><br />
<a target="_blank" href="http://www.freescale.com/">http://www.freescale.com/ </a></p>
<p>Not enough sources for you? Then check these out:</p>
<p><a target="_blank" href="http://dir.yahoo.com/business_and_economy/business_to_business/trade/directories">http://dir.yahoo.com/business_and_economy/business_to_business/trade/directories</a></p>
<p>Take an hour or so to check out products which interest you. You will notice many of the manufacturers have a link to &#8220;Request a Sample&#8221; located under the picture of the product. Click on this button to get an understanding of all the information you will need to provide. The &#8220;message to supplier&#8221; field is the area where you will enter your request. This is where you will introduce yourself and your intentions.</p>
<p>Now that you have looked over the products it is time to start requesting your free samples. Since you are just starting, you should begin with products (from any category) that have a consumer retail value of $20 (equivalent to Rs.1000) or less. Only after you have had some experience and received a few samples should you start requesting the more costly items such as televisions, DVD players, etc. You will gain valuable experience this way.<img width="2" height="2" border="0" alt="News, Mobile, Reviews, Wireless, Entertainment, Photography, Graphics, Downloads, Computers, Gaming, Hardwares, Softwares, Services, DIY, Hacks, Ganesh app, BotHack, How-To, Robotics, Fests, Organizers, marketting" src="http://bothack.wordpress.com/files/2006/02/blank.gif" /></p>
<p>Generally there are a couple of email addresses or contact methods on most sites. You can then email them from your email address. And some of the major sources will even have buttons on the site for requesting sample units.</p>
<p>Another way to email them is to click on &#8220;request sample&#8221; or &#8220;inquire now&#8221; on the product&#8217;s page. This will contact the companies through the website instead of you emailing them directly.</p>
<p>When you email the companies, you should introduce yourself, mention you are interested in their product(s) and you would like them to send you more information regarding the product(s) as well as a sample unit. Be sure to include your mailing address.</p>
<p>I have enclosed an excerpt of an actual sample inquiry between myself and a company.</p>
<p>Example Inquiry Message:</p>
<blockquote><p>“My name is Ganesh APP, Chief Marketing Director of NitterBog, Inc. We have reviewed the printed media your company distributed at their booth during the China International Electronic Trade Expo last month. We are interested in a quarterly purchase of 16K units of model DVD-2400. Please email any additional information regarding this model, your best PPU on the quantity stated, and one or two sample units. Also please let us know if the price per unit stated includes royalties on applicable patents to this product.?</p></blockquote>
<p>What you write in your inquire is up to you, it does not have to be long; a paragraph or so may do. I do not advocate or support you writing any type of fictional information in your correspondences. Include your DHL or FedEx account number as well as the shipping method you would like if you opened an account.</p>
<p>You may have to communicate by email with the companies a couple of times back and fourth after your initial request. One thing I cannot stress enough is to be patient. In India, we do everything fast with a &#8220;gotta have it now, can&#8217;t wait&#8221; attitude and adhere to a strict schedule. Many other parts of the world including much of Asia are not like this. You may not receive a reply to your email for a few weeks. This does not mean they are ignoring you, that is just the way business is conducted there.</p>
<p>When you receive your free products, they will usually be shipped as a &#8220;commercial sample, no value&#8221; so you do not pay any tariffs on them. This is a very good thing; tariffs can be almost 40% of the product&#8217;s value!</p>
<p>(1) If you would like to start your own business, setting up a business is a smart thing to do, and it&#8217;s free. You can always obtain a business license from your local tax comptroller. Remember some of the suppliers need you to have a business license to send samples. Or you can find out which suppliers do not require you to have a business license as there are tons of suppliers on the internet.</p>
<p><a target="_blank" href="http://www.sba.gov/hotlist/license.html">http://www.sba.gov/hotlist/license.html</a></p>
<p>(2) I do not recommend any specific website to register for the free membership because there are many under the Yahoo Commercial Directory. It really depends on what you want, for example you might want to get a FREE Sony Laptop sample or at real wholesale price, then before you register, you should find out the websites to see if their suppliers have the model you want.</p>
<p>(4) Start out small by requesting low valued items (products with a retail value of Rs.1000)</p>
<p>(5) By contacting the suppliers, you are finding the channels to get whatever you want at the real wholesale price.</p>
<p>(6) If you pay shipping costs you will have greater success.</p>
<p>(7) Be patient!</p>
<p>(8) After you are experienced you can begin contacting manufactures directly.</p>
<p>(9) If there is a specific model you must have, and the company does not give out free samples, you can usually purchase one or more at true wholesale cost after a few emails. These prices will be ridiculously low.</p>
<p>(10) Don&#8217;t always go for expensive merchandise. Start off submitting applications for companies that manufacture knick knacks. Stock up on free knick-knacks, these are ideal to begin with to get some experience. Some of my favorites include;</p>
<blockquote><p>A. premium pens and stylish desktop clocks<br />
B. Memory Sticks<br />
C. Sport Accessories<br />
D. novelties<br />
E. things for the house, from extension cords to doorknobs</p></blockquote>
<p>(11) Remember if you receive a product you don&#8217;t particularly like you can always sell them. GOOD LUCK AND HAVE FUN !!!!</p>
<p>This article is provided for educational and informational purposes only and does not constitute a recommendation or endorsement with respect to any company or product. BotHack makes no representation and specifically disclaims all warranties, express, implied or statutory, regarding the accuracy, timeliness, completeness, merchant ability or fitness for any particular purpose of any material contained in this article.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[January Special: Whats the OS?]]></title>
<link>http://levoltz.com/2006/01/31/january-special-whats-the-os/</link>
<pubDate>Tue, 31 Jan 2006 16:11:15 +0000</pubDate>
<dc:creator>Ganesh APP</dc:creator>
<guid>http://levoltz.com/2006/01/31/january-special-whats-the-os/</guid>
<description><![CDATA[As the month ends here, we at BotHack provide you with our monthly special article. Many people have]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>As the month ends here, we at BotHack provide you with our monthly special article. Many people have always been confused on which operating system suites them the best. Within this unbiased article you will find, listed many operating systems created by many companies. Explained are the history, usability, friendliness and flexibility of each OS, allowing you independently to make the choice of which to use. I assure you this is as little as my own opinion I can give, these are the opinions of the masses, and the opinions of many search engines also.</p>
<p>Linux</p>
<p>Linux was developed and used by enthusiasts mostly. Since then, it now has the support of major companies like as IBM, Hewlett-Packard, and Novell for use in servers and is becoming more popular as an OS for the common user. Linux was made for Intel 386 microprocessors but it now supports all popular computer components. It is used in applications from systems such as mobile phones to personal computers and supercomputers. This OS is widely used by the hacking and cracking community as it can be burned to a CD -r and used as a bootable OS allowing for portability and stealth as the CD can be destroyed or hidden easily. Linux was the creation of Linus Torvolds. It was first developed during the cold war, although some believe its creation was well before this time and some believe well after. The US government uses Linux now; I guess they saw what they were missing out on. Microsoft disliked the fact that the OS was completely free, and its flexibility is unmatched as tools can be added and removed at will. The only downside to adding/removing tools is it can be a pain in the ass if you have no experience programming. “Tux?, the mascot for Linux was thought up as Linus, whilst on holiday, was bitten by a penguin. ^_^</p>
<p>Windows 2000</p>
<p>Also known as win2k, its original name was windows NT 5.0, this was changed to Windows 2000 in 1998&#8230;</p>
<p><!--more--></p>
<p>The public received the full version of the OS on February 17th, 2000. It was immediately said to be the most stable operating system Microsoft had created to date. It was widely used by companies and the public. Microsoft released the NT file system known as version 5.0 in windows 2000. This OS was used by the public extensively and is still in use today, it is good, but not recommended in this day and age when operating systems have evolved much farther.</p>
<p>Windows CE</p>
<p>This OS was designed for devices with minimal storage, PDA&#8217;s and some other hand held devices. For socket applications it uses Winsock 1 and not version 2 which most people use nowadays because it can’t use version 2. With Linux being introduced into these systems, Windows CE sees less and less users every year, and the Linux population grows by very fast</p>
<p>Windows XP</p>
<p>XP is by far the most widely used OS created by Microsoft, and perhaps in existence. Xp was codenamed “whistler? during development. XP was released, October 25, 2001 and has been used since by many corporations and individuals. It has amazing flexibility and customizing options, themes are available to spice up the OS, with the release of Windows vista, windows is becoming more and more popular with its innovative designs and idea&#8217;s. This is one of the most popular Windows OS&#8217;s and I wont bash it too much as I am using it while I write this, but with Linux on the up and up, it looks like windows won&#8217;t be given the time of day in the near future. Overall XP is a solid OS, providing a lot and of course the tools that are compatible with windows are extensive to say the least, I don&#8217;t recommend ditching windows completely; partition your hard drive so you always have the colorful windows there as well as the cuddly tux.</p>
<p>AtheOS</p>
<p>Athe was a free operating system, much like UNIX designed for x86-based computers. AltheOS was previously named AltOS. AltheOS is no longer in development. It was created by a programmer named Kurt Skauen. He created it 100% himself, he was not assisted in his work. The OS is completely open source but no public contributions toward AtheOS were accepted. This is pretty much extinct although if you run a museum this is the OS for you.</p>
<p>A/UX</p>
<p>This is “apple UNIX?. This a Unix-like operating system designed for some of apple&#8217;s Mac computers. A/UX was released in 1988, and the final version not being completed until 1995. A/UX was of course closed source, not allowing users to see how it was created and see how it could be exploited and modified. It is the first apple OS with a command line this helped to sell, but not greatly. With not much to say concerning this OS I will move quickly on to BeOS. All I can say without stating technical functions and compatibility with modern box&#8217;s is that it is pretty much the same as the above OS, extinct.</p>
<p>BeOS</p>
<p>BEOS stands for “blued eyed operating system?. BeOS is an operating system for PC&#8217;s, made by BE Inc. It was created in 1991 and was written to run on BEBOX comps. BE was one of the first OS&#8217;s to utilize multithreading and multiprocessor. A good OS for its time, but out of date and obsolete when compared with other OSs.</p>
<p>CP/M</p>
<p>This is an operating system originally designed for single tasking on 8bit processors and little RAM (64mb at most). CP/M stands for Control Program for Microcomputers or Control Progam/Moniter. This was very handy back in the day but not really deserving of a second glance when placed next to more modern OS&#8217;s. It’s not too bad.</p>
<p>HP-UX</p>
<p>HP-UX stands for Hewlett Packard UNIX. From around 2000 the primary focus of HP-UX was increasing reliability and security. The latest version is 11.23, the original release was September 2003. In September 2004 it was updated, this version is identified as 11i v2. This version was able to run on IA-64 systems. Pretty good, I have not had personal experience with this OS so not much can be said by me, I apologize.</p>
<p>Irix</p>
<p>Irix was made by “silicon graphics? and is of the UNIX family. Not many Unix OS&#8217;s are closed source but this one to my dismay is.<br />
As with the OS above I have not had any experience with it so I will link to Irix&#8217;s site:</p>
<p>http://www.sgi.com/products/software/irix/</p>
<p>Mac os</p>
<p>made by apple for their Macintosh computers. Mac was first available to the public in 1984 and was a huge hit. Being VERY user friendly it was popular as soon as it came out, and some people are still using it. The “classic? Mac OS (1984-20010 was criticized for the fact it lacks a command like, it is a 100% graphical operating system. A good OS, but I would see the next OS down if you want a Mac.</p>
<p>Mac osX</p>
<p>OS X uses a graphical user interface as well as a command line, this feature alone helped it sell well. OS X was made in 2001 and is used a lot now, most notably in the apple ibooks. This is an excellent OS, it allows many tools and programs to be installed and is compatible with most hardware available now. This OS is by far one of the easiest to use so far as it has clear symbols, excellent name tagging and uses desktop icons as well as a strip menu across the bottom for your important applications. Apple adopted Intel processors in 2005. the first Mac computer to use an Intel processor was the imac, it sold well. The OS is excellent and is not too expensive, I would recommend partitioning the hard drive to give you choice, so you don’t have to use Mac day in day out, as the easiness can become irritating and tiresome.</p>
<p>Netware</p>
<p>Netware was created by Novell inc. Netware was almost slaughtered by windows NT which was released around the same time. Netware was based on the concept of one or more dedicated servers were connected to the network, disk space was then shared between them in “volumes?. Early Netware systems were very stable, there were reports of their servers running for over 3 years without a human ever having to touch it. (of course the trouble of dust was a bitch so cleaning was frequent.) overall a pretty good OS, well thought out and executed. I would obtain and use this OS of my own free will but I feel there are server OS&#8217;s which far outweigh this one, windows 2003 server for example (see last entry)</p>
<p>SunOS</p>
<p>Sun was made by sun Microsystems for workstations and server&#8217;s until 1990 (or around this time). It was based on BSD (UNIX). There were many versions each better than the one that preceded it. The first version was 1.0 released in 1982 and was a small success in its company and a small amount of people used it for their on use. The last Sun release of SUNOS 4 was 4.1.4 (use this if googleing). “SunOS is no longer used, it is used on startup etc but it has been replaced by “Solaris? due its change from being BSD-like.</p>
<p>(Open) VMS</p>
<p>stands for Virtual Memory System. This OS is mainly designed for batch processing and transaction processing. It was the only OS of its time to feature built in computer networking and hardware partitioning. These features are common on practically all modern server OS&#8217;s but this was what made it possible for other server OS&#8217;s to have what they do now. If you want a server OS, try this out, I wouldn&#8217;t use it permanently but it’s worth a look.</p>
<p>OS/2</p>
<p>This was created by Microsoft with help from IBM. Microsoft backed out and IBM was left to create it itself. The name stands for “Operating System 2?, pretty lame, but original. It was considered a successor of MS-DOS. OS/2 version 1.0 was revealed in April 1987 as a text mode OS. Still, it’s nothing special. Overall OS/2 didn’t do well in the market, some people have tried to obtain the source but IBM is keeping it under lock and key, and under lock and key is where it should remain. I give them a 10 for their efforts.</p>
<p>OSF/1</p>
<p>This is a closed source. It was developed in 1988 during the “UNIX wars?. It never really took off. IBM and Hewlett-Packard abandoned the project in 1992. There have been plans on redeveloping the OS. It will have a new name and new identity, watch out for it, it may be good.</p>
<p>FreeBSD</p>
<p>development of FreeBSD began in 1993, it took 386BSD as its shell and built on that. There were concerns about legality of 386BSD therefore much of it was reengineered. I have never worked with this OS therefore not much can be said by me, research FreeBSD if it interests you, although nothing special, future projects are in the works so watch this space.</p>
<p>NetBSD</p>
<p>This is freely redistributable and open source allowing users to learn a lot form the OS and modify/tweak it for their needs. The earliest version is 0.8 as far as I am aware and the newest is 3.0, it was released December 2005. It looks alright, I haven’t used it so I wouldn’t know, but the users I have contacted seem happy, and they mostly state it’s not the best but it serves its purpose.<br />
This may help you decide, it has some pretty cool apps and some good shit to keep you going for a while, check it out, it doesn&#8217;t look badhttp://www.netbsd.org/gallery/in-Action/</p>
<p>win 2003 server</p>
<p>Released April 25, 2003, it was to take over from win 2000 server, it boots with no server components stitched on to reduce the attack of vectors for new install. This server OS is very good according to my contacts, I was told it is very easy to use.<br />
Check out their site, it is easily navigatable etc, I am sure you will like it. It is very impressive, as it is almost 3 years old you have to give it some credit as it is used a lot nowadays and hasn’t been cast aside when measured up against some of the worlds leading server OS&#8217;s, it is handy to have. I have heard of a school that uses this as its main operating system for seniors.</p>
<p>http://www.microsoft.com/windowsserver2003/default.mspx</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
