<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: General Purpose Fuzzer.py</title>
	<atom:link href="http://www.gnucitizen.org/blog/general-purpose-fuzzer_py/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gnucitizen.org/blog/general-purpose-fuzzer_py/</link>
	<description>Information Security Think Tank</description>
	<lastBuildDate>Sat, 02 Feb 2013 17:50:40 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
	<item>
		<title>By: pdp</title>
		<link>http://www.gnucitizen.org/blog/general-purpose-fuzzer_py/comment-page-1/#comment-96819</link>
		<dc:creator>pdp</dc:creator>
		<pubDate>Tue, 08 Jan 2008 05:53:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.gnucitizen.org/blog/general_purpose_fuzzer_py#comment-96819</guid>
		<description>hihi</description>
		<content:encoded><![CDATA[<p>hihi</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Strongarm</title>
		<link>http://www.gnucitizen.org/blog/general-purpose-fuzzer_py/comment-page-1/#comment-96582</link>
		<dc:creator>Strongarm</dc:creator>
		<pubDate>Mon, 07 Jan 2008 19:16:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.gnucitizen.org/blog/general_purpose_fuzzer_py#comment-96582</guid>
		<description>pdp! sure Python rocks but Ruby takes drugs and has lots of sex with plenty of women. I&#039;d hope you would have written it in Javascript, js being your baby in all.</description>
		<content:encoded><![CDATA[<p>pdp! sure Python rocks but Ruby takes drugs and has lots of sex with plenty of women. I&#8217;d hope you would have written it in Javascript, js being your baby in all.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nnp</title>
		<link>http://www.gnucitizen.org/blog/general-purpose-fuzzer_py/comment-page-1/#comment-88559</link>
		<dc:creator>nnp</dc:creator>
		<pubDate>Tue, 18 Dec 2007 22:57:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.gnucitizen.org/blog/general_purpose_fuzzer_py#comment-88559</guid>
		<description>Of course making something as simple as possible is desirable but it is possible to whip up a very straight forward fuzzer using Sulley (excuse my overuse of this particular framework as an example but its quite good) which has a massive library of fuzz strings. If that doesn&#039;t find any holes you can then easily expand it using Sulley&#039;s primitives and modifiers. Using a framework with this kind of support allows you to start out small and simple and work upwards. On the other hand if you start with something small and simple and unfortunately you don&#039;t find anything... where to then? Modify your framework? Start from scratch?

Sulley also comes with other tools that are very useful such as process monitoring tools which allow you to start/monitor/restart a program as well as logging a memory dump of the process that crashed and the fuzz file that caused it to crash. On top of that it can also chain single fuzz tests to fuzz deep into a protocol. These extras can safely be ignored if you manage to knock over the process initially but if you need their support you have it.

I guess in the end your choice of tool comes down to how much resistance the target program puts up weighed against how much you want to kill it via a fuzzer as opposed to getting into a code audit/RE session.</description>
		<content:encoded><![CDATA[<p>Of course making something as simple as possible is desirable but it is possible to whip up a very straight forward fuzzer using Sulley (excuse my overuse of this particular framework as an example but its quite good) which has a massive library of fuzz strings. If that doesn&#8217;t find any holes you can then easily expand it using Sulley&#8217;s primitives and modifiers. Using a framework with this kind of support allows you to start out small and simple and work upwards. On the other hand if you start with something small and simple and unfortunately you don&#8217;t find anything&#8230; where to then? Modify your framework? Start from scratch?</p>
<p>Sulley also comes with other tools that are very useful such as process monitoring tools which allow you to start/monitor/restart a program as well as logging a memory dump of the process that crashed and the fuzz file that caused it to crash. On top of that it can also chain single fuzz tests to fuzz deep into a protocol. These extras can safely be ignored if you manage to knock over the process initially but if you need their support you have it.</p>
<p>I guess in the end your choice of tool comes down to how much resistance the target program puts up weighed against how much you want to kill it via a fuzzer as opposed to getting into a code audit/RE session.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian Pastor</title>
		<link>http://www.gnucitizen.org/blog/general-purpose-fuzzer_py/comment-page-1/#comment-88545</link>
		<dc:creator>Adrian Pastor</dc:creator>
		<pubDate>Tue, 18 Dec 2007 22:22:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.gnucitizen.org/blog/general_purpose_fuzzer_py#comment-88545</guid>
		<description>I think writing your own fuzzer is one of those things that every hacker/security enthusiast should do at some point.

I do agree with nnp that frameworks sometimes offer fuzzing features that are required. However, after having talked to some guys who have found impressive number of security holes I&#039;ve learned  most holes were found with very simple fuzzing scripts or through source code audits.

Not to be biased, but like pdp, I&#039;m in love with simple tools that do something specific.</description>
		<content:encoded><![CDATA[<p>I think writing your own fuzzer is one of those things that every hacker/security enthusiast should do at some point.</p>
<p>I do agree with nnp that frameworks sometimes offer fuzzing features that are required. However, after having talked to some guys who have found impressive number of security holes I&#8217;ve learned  most holes were found with very simple fuzzing scripts or through source code audits.</p>
<p>Not to be biased, but like pdp, I&#8217;m in love with simple tools that do something specific.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nnp</title>
		<link>http://www.gnucitizen.org/blog/general-purpose-fuzzer_py/comment-page-1/#comment-88543</link>
		<dc:creator>nnp</dc:creator>
		<pubDate>Tue, 18 Dec 2007 22:12:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.gnucitizen.org/blog/general_purpose_fuzzer_py#comment-88543</guid>
		<description>My point though is that this extra cleverness is what seperates an excellent fuzzer from an average one. Sure your script in its current incarnation could be hacked on to find some bugs but to really exercise a protocol/application you&#039;re going to have to put in a lot of work. So while you might be saving yourself effort in the short term, in the long term you would have been better off spending 15 minutes getting to grips with a fuzzing framework like Sulley and working from there. 

And 15 mins is the most it would take. After that you just map out your protocol in block form and you magically have a much more powerful fuzzer because of all that &#039;bloat&#039;. Of course if its you&#039;re first time fuzzing anything you might wonder about &#039;block based fuzzing&#039; or whatever but there&#039;s the same learning curve with what you have, just less of a pay off at the end.

I agree that Peach is over complex. It was after using Peach for the first time that I wrote something quite similar to your script, but I wouldn&#039;t be so quick to write off all fuzzing frameworks because of it. There are plenty out there that are easy to understand for beginners yet offer the power a more advanced user might need (Sulley is a perfect example)</description>
		<content:encoded><![CDATA[<p>My point though is that this extra cleverness is what seperates an excellent fuzzer from an average one. Sure your script in its current incarnation could be hacked on to find some bugs but to really exercise a protocol/application you&#8217;re going to have to put in a lot of work. So while you might be saving yourself effort in the short term, in the long term you would have been better off spending 15 minutes getting to grips with a fuzzing framework like Sulley and working from there. </p>
<p>And 15 mins is the most it would take. After that you just map out your protocol in block form and you magically have a much more powerful fuzzer because of all that &#8216;bloat&#8217;. Of course if its you&#8217;re first time fuzzing anything you might wonder about &#8216;block based fuzzing&#8217; or whatever but there&#8217;s the same learning curve with what you have, just less of a pay off at the end.</p>
<p>I agree that Peach is over complex. It was after using Peach for the first time that I wrote something quite similar to your script, but I wouldn&#8217;t be so quick to write off all fuzzing frameworks because of it. There are plenty out there that are easy to understand for beginners yet offer the power a more advanced user might need (Sulley is a perfect example)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pdp</title>
		<link>http://www.gnucitizen.org/blog/general-purpose-fuzzer_py/comment-page-1/#comment-87807</link>
		<dc:creator>pdp</dc:creator>
		<pubDate>Mon, 17 Dec 2007 11:48:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.gnucitizen.org/blog/general_purpose_fuzzer_py#comment-87807</guid>
		<description>nnp, no one claims to be original, however, what I do claim is that by using something like this, you have a lot better chances to get your head around various problems without becoming a slave of them and wasting your time too much. and this to me matters &lt;strong&gt;a lot&lt;/strong&gt;.

many tools out there just try to be too clever, including &lt;strong&gt;peach&lt;/strong&gt;, tools should not be clever. I think that we are clever enough to figure it out on our own. What tools should do is to automate the boring stuff. In my case, repetition is quite boring. so you should really take this tool from that prospective.

on your last note, well, I love simplicity. I believe that simple is better and more affective. If I can find a problem, like fuzzing technology, which is extremely bloated and I can simplify it to the extend where it does the same but in a minimalistic way, then I considered it as an accomplishment. it is as simple as that. :)

so, although you might not use this fuzzer, I believe that there are tones of people who will use it and will find it very interesting and better suited for the job then &lt;strong&gt;peach&lt;/strong&gt;. They might even use some of the concepts to construct their own fuzzers. There is nothing better then custom tools!</description>
		<content:encoded><![CDATA[<p>nnp, no one claims to be original, however, what I do claim is that by using something like this, you have a lot better chances to get your head around various problems without becoming a slave of them and wasting your time too much. and this to me matters <strong>a lot</strong>.</p>
<p>many tools out there just try to be too clever, including <strong>peach</strong>, tools should not be clever. I think that we are clever enough to figure it out on our own. What tools should do is to automate the boring stuff. In my case, repetition is quite boring. so you should really take this tool from that prospective.</p>
<p>on your last note, well, I love simplicity. I believe that simple is better and more affective. If I can find a problem, like fuzzing technology, which is extremely bloated and I can simplify it to the extend where it does the same but in a minimalistic way, then I considered it as an accomplishment. it is as simple as that. :)</p>
<p>so, although you might not use this fuzzer, I believe that there are tones of people who will use it and will find it very interesting and better suited for the job then <strong>peach</strong>. They might even use some of the concepts to construct their own fuzzers. There is nothing better then custom tools!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nnp</title>
		<link>http://www.gnucitizen.org/blog/general-purpose-fuzzer_py/comment-page-1/#comment-87803</link>
		<dc:creator>nnp</dc:creator>
		<pubDate>Mon, 17 Dec 2007 11:30:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.gnucitizen.org/blog/general_purpose_fuzzer_py#comment-87803</guid>
		<description>No offence mate but your fuzzer is about 3 years behind the times and not particularly original. There is a reason modern fuzzers have all that extra fluff. Also, a quick google would have saved you the hassle of writing this I think. There are plenty of scripts out there that do the same thing. From what I can see the reason your script is so short is that it basically does nothing. It&#039;s a watered down version of peach (which also has the idea of generators etc) without all the useful &#039;bloat&#039;. 

Now I&#039;m not saying fuzzers need to be huge behemoths of applications. Obviously experience has shown that often a simple script with a clear aim can find bugs quickly but if you want things like crash detection, logging, monitoring etc then all that bloat is necessary. Fuzzing can have a steep learning curve for a reason, to do it properly is a skill. Sure at the moment any idiot can still fuzz a couple of bugs in some obscure application but to do it properly isn&#039;t a 5 minute quick hack.

What you have there is pretty much what most hackers had themselves a couple of years ago. I&#039;m not saying it&#039;s not useful, just that it&#039;s not as much of an original idea as you might think. 

The only reason I bothered to reply is that I&#039;m kind of surprised as most of the stuff found here is usually pretty cool and off the beaten track ;)</description>
		<content:encoded><![CDATA[<p>No offence mate but your fuzzer is about 3 years behind the times and not particularly original. There is a reason modern fuzzers have all that extra fluff. Also, a quick google would have saved you the hassle of writing this I think. There are plenty of scripts out there that do the same thing. From what I can see the reason your script is so short is that it basically does nothing. It&#8217;s a watered down version of peach (which also has the idea of generators etc) without all the useful &#8216;bloat&#8217;. </p>
<p>Now I&#8217;m not saying fuzzers need to be huge behemoths of applications. Obviously experience has shown that often a simple script with a clear aim can find bugs quickly but if you want things like crash detection, logging, monitoring etc then all that bloat is necessary. Fuzzing can have a steep learning curve for a reason, to do it properly is a skill. Sure at the moment any idiot can still fuzz a couple of bugs in some obscure application but to do it properly isn&#8217;t a 5 minute quick hack.</p>
<p>What you have there is pretty much what most hackers had themselves a couple of years ago. I&#8217;m not saying it&#8217;s not useful, just that it&#8217;s not as much of an original idea as you might think. </p>
<p>The only reason I bothered to reply is that I&#8217;m kind of surprised as most of the stuff found here is usually pretty cool and off the beaten track ;)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
