<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>PornoSecurity</title>
		<link>http://www.pornosecurity.org/</link>
		<description>PornoSecurity Feed</description>
		<item>
			<title>Impossible is Nothing</title>
			<link>http://www.pornosecurity.org/blog/Impossible-is-Nothing</link>
		<description><![CDATA[<p><img src="http://www.pornosecurity.org/images/impossible.gif" alt="Impossible" title="Impossible" width="66" height="66" /></p><p>I was looking for a vuln to write an exploit for when I found this <a href="http://www.milw0rm.com/exploits/5817" target="_blank" title="PoC">PoC</a>.</p><div align="justify"></div><p align="justify">The author wrote:</p><p><br />&nbsp;&nbsp;&nbsp;&nbsp; &quot;<em>The reason why there isnt any shellcode here is because the client is <br />&nbsp;&nbsp;&nbsp;&nbsp; coverting the junk/buffer data to unicode so its corrupting the shellcode,<br />&nbsp;&nbsp;&nbsp;&nbsp; ive tried sending unicode buffer but the same problem occurs.<br />&nbsp;&nbsp;&nbsp;&nbsp; if anyone else can get further please let me know. but i doubt you can</em>&quot;</p><p>&nbsp;&nbsp;</p><div align="justify">It is for this reason, <em>a small suggestion of impossibility</em>(copyright Phantasmal Phantasmagoria) that i decided to write this. Actually it was pretty funny :)<br /></div><p>&nbsp;</p><div align="justify">The first problem is how to redirect the execution flow to our buffer, the buffer can be found at three different locations: </div><ul>	<li>at some address on the stack converted to unicode </li>	<li>at some address on the heap again converted to unicode </li>	<li>at some address on the heap in plain ASCII</li></ul><div align="justify">&nbsp;</div><div align="justify">Unfortunately none of these addresses are unicode friendly :(.<br />But.. there is an address on the stack that points in the middle of the buffer(the one on the stack), all we need is to pop the stack 6 times and then return.<br />To achieve this we return 2 times on a unicode friendly pop,pop,pop,ret.<br /></div><p>&nbsp;</p><div align="justify">The second problem is that the buffer on the stack is converted to unicode(so \x41 -&gt; \x00\x41) *and* must be, with some exceptions, in the \x01 -&gt; \x59 space... so I decided to write a unicode friendly ASM stub that will load the address of the ASCII version of the buffer in EAX using offsets from a register(somewhat related to our buffer), push it and then return.<br /></div><p>&nbsp;</p><div align="justify">On my box this works 100 times out of 100 :)		</div><p>&nbsp;</p>Check it out <a href="http://milw0rm.com/author/1413" target="_blank" title="Milw0rm author page">here</a>]]></description>
		<pubDate>Mon, 25 August 2008 12:59:42 +0000</pubDate>
		</item>
		<item>
			<title>Having Fun With Windogs</title>
			<link>http://www.pornosecurity.org/blog/having-fun-with-windogsHaving Fun With Windogs</link>
		<description><![CDATA[<p><img src="http://www.pornosecurity.org/images/windows.gif" alt="Windozze" title="Windozze" width="66" height="66" />Oh yes, it's definitely true, i'm actually approaching the wild word of windogs. I started with some simple stack-based buffer overflows, and let me say a thing: they seems to be very very easy to exploit, kernel32.dll(which is guaranteed to be loaded in every single windozze app) and his friends are full of very usefull opcodes.<br />Heap-based buffer overflows are a bit more tricky, but it's just a matter of playing around for a while with your favourite debugger. At least for windozze &lt;= sp1, actually sp2 introduces a bit more security in the way he manage chunk's coalescence, they call it safe-unlink and is more or less what glibc adds around version 2.3.5, it basically checks that the prev-&gt;next pointer equals the next-&gt;prev one before triggering RtlpCoalesceFreeBlocks(). So, i dunnno how to defeat it (yet), but if we speak about all of those browser-based vulnerabilities, i mean like <a href="http://en.wikipedia.org/wiki/ActiveX" target="_blank" title="ActiveX">ActiveX</a>, the good news is that is possibile to adjust the Infernet eXploder heap by <a href="http://www.blackhat.com/presentations/bh-europe-07/Sotirov/Presentation/bh-eu-07-sotirov-apr19.pdf" target="_blank" title="Heap Feng Shui in JavaScript">playing with javascript</a>, and this is very very helpful! </p>]]></description>
		<pubDate>Mon, 11 August 2008 14:21:03 +0000</pubDate>
		</item>
		<item>
			<title>A Linksys video and an IGSuite exploit</title>
			<link>http://www.pornosecurity.org/blog/Linksys-video-and-IGSuite-2.3.4-reverse-shell-exploit</link>
		<description><![CDATA[<p><img src="http://www.pornosecurity.org/images/sexyinside.gif" alt="Sexy Inside" title="Sexy Inside" width="66" height="66" /></p><p>Well, i got bored. I notified <a href="http://www.cisco.com/en/US/products/products_security_advisories_listing.html" target="_blank" title="Cisco PSIRT">Cisco PSIRT</a> and <a href="http://www.linksys.com/" target="_blank" title="Linksys">Linksys</a> security on 04/21, they confimed some of the vulnerabilities and asked for more details. I sent them a pretty dumb-proof report a couple of days after their email, now it's time to disclose! <a href="http://www.pornosecurity.org/nss4000.avi" target="_blank" title="exploit linksys nss4000">Here is a sexy video</a> demonstrating the flaws, there's really no need for even a single line of code :)</p><p>&nbsp;</p><p>I also posted to <a href="http://www.milw0rm.com/author/1413" target="_blank" title="Milw0rm">milw0rm</a> a fully automated reverse shell exploit(currently waiting for it to be published) that take advantage of a blind <a href="http://en.wikipedia.org/wiki/SQL_injection" target="_blank" title="SQL Injection">SQL injection</a> vulnerability in <a href="http://www.igsuite.org" target="_blank" title="IGSuite">IGSuite</a> &lt;=3.2.4, enjoy.</p>]]></description>
		<pubDate>Mon, 23 June 2008 00:01:56 +0000</pubDate>
		</item>
		<item>
			<title>A Sneak Preview</title>
			<link>http://www.pornosecurity.org/blog/a-sneak-preview</link>
		<description><![CDATA[<img src="http://www.pornosecurity.org/images/sqlinjection.jpg" alt="SQL Injection" title="SQL Injection" width="66" height="66" />Hi there, some time has passed since the last post on this weblog, I'mnow auditing a web application written by some italian guys and I amfocusing on the steps from an SQL Injection to a real command shell.Too many times SQL Injection flaws are considered as a low/mediumthreat due to the fact that they are often [ab]used to conduct low-impactattacks(such as defacing).<br />This has to change, SQL Injection flaws are a *really* dangerous threat. <a href="http://www.pornosecurity.org/igsploit.avi" target="_blank" title="Sneak Preview">Here is a sneak preview</a> regarding some of the (for now) 0-day flaws i discovered in this webapp.<br /><br />I have also discovered some vulnerabilities in some Cisco/Linksys products, and I'm in contact with the <a href="http://www.cisco.com/en/US/products/products_security_advisories_listing.html" target="_blank" title="Cisco PSIRT">Cisco Product Security Incident Response Team</a> (PSIRT) and the <a href="http://www.linksys.com/" target="_blank" title="Linksys">Linksys</a> security team to coordinate pubblic disclosure.<br /><br />More news soon.		]]></description>
		<pubDate>Fri, 23 May 2008 15:36:15 +0000</pubDate>
		</item>
		<item>
			<title>xine-lib NSF Demuxer Buffer Overflow Vulnerability</title>
			<link>http://www.pornosecurity.org/blog/xine-lib-NSF-demuxer-buffer-overflow-vulnerability</link>
		<description><![CDATA[<p><img src="http://www.pornosecurity.org/images/xine_logo.jpg" alt="Xine Logo" title="Xine Logo" width="66" height="66" />I found a stack-based buffer overflow in the NES Sound Format demuxer(demux_nsf.c) of xine-lib &lt;= 1.1.12.The vulnerability is caused due to a boundary error within the &quot;demux_nsf_send_chunk()&quot; function in src/demuxers/demux_nsf.c and can be exploited to run arbitrary code while processing an NSF file with an overly large NSF title tag.</p><p>&nbsp;</p><p><a href="http://secunia.com/advisories/29850/" target="_blank" title="xine-lib NSF vulnerability advisory">Secunia advisory</a></p>]]></description>
		<pubDate>Thu, 17 April 2008 12:40:27 +0000</pubDate>
		</item>
		<item>
			<title>Pligg 9.9.0 SQL Injection Vulnerability</title>
			<link>http://www.pornosecurity.org/blog/Pligg-SQL-Injection-Vulnerability</link>
		<description><![CDATA[<p>&nbsp;</p><p><img src="http://www.pornosecurity.org/images/pligg_logo.jpg" alt="Pligg Logo" title="Pligg Logo" width="66" height="66" />Today i wanted to try the <a href="http://pligg.com/" target="_blank" title="Pligg">Pligg</a> digg-like content management system, after playing with it for a while I found a <a href="http://www.securityfocus.com/bid/28681" target="_blank" title="Pligg SQL Injection Vulnerability">vulnerability</a>.</p><p>The pligg developers fail to sufficiently sanitize user-supplied data before using it in an SQL query making it possibile to inject extra SQL statements.&nbsp;</p><p>&nbsp;</p><blockquote>	http://www.example.com/editlink.php?id=1+AND+((SELECT+user_pass+FROM+pligg_users+WHERE+user_login=0x676f64)+LIKE+0x25)+UNION+SELECT+10,2&nbsp;</blockquote><p>&nbsp;</p><p>To exploit this you need the id of a news you submitted(10 in the example) and an id of a news submitted by others(1 in the example), when the LIKE statement matches you get a &quot;Not your link&quot; error.</p><p>This is a tipical blind <a href="http://en.wikipedia.org/wiki/SQL_injection" target="_blank" title="SQL Injection">SQL-injection</a> scenario.&nbsp;</p><p>&nbsp;</p><p><strong>UPDATE:</strong>&nbsp;&nbsp;</p><p>Trying to write a little patch for a friend of mine i found many other security-related problems in pligg. Many&nbsp; user-supplied variables are simply not checked or checked in the very wrong way.&nbsp;</p><p>&nbsp;</p><ul>	<li>&nbsp;The first case, editlink.php:&nbsp;	</li></ul><p>&nbsp;</p><blockquote>	if(isset($_GET['id'])){<br />	&nbsp;       $theid = strip_tags($_GET['id']);<br />	}<br />	if(isset($_POST['id'])){<br />	&nbsp;       $theid = strip_tags($_POST['id']);<br />	<br />	}<br />	[...]<br />	$link = $db-&gt;get_row(&quot;SELECT link_id, link_author FROM &quot; . table_links .&nbsp;<br />	&quot; WHERE link_id=&quot;.$theid.&quot;;&quot;)<br />	[...]<br />	$linkres-&gt;id=$link_id = strip_tags($_POST['id']);<br />	$linkres-&gt;read();            &nbsp;&nbsp;<br /></blockquote>libs/link.php:<br /><blockquote>	function read($usecache = TRUE) {<br />	&nbsp;$id = $this-&gt;id;<br />	&nbsp;$link = $db-&gt;get_row(&quot;SELECT &quot; . table_links . &quot;.* FROM &quot; . table_links&nbsp;<br />	. &quot; WHERE link_id = $id&quot;);<br />	}<br /></blockquote><p>&nbsp;</p><p>&nbsp;</p><ul>	<li>	Another one, vote.php:<br />	</li></ul><p>&nbsp;</p><blockquote>	$link-&gt;id=$_POST['id'];<br />	$link-&gt;read_basic();<br /></blockquote>link/link.php:<br /><blockquote>	function read_basic() {<br />	[...] <br />	$id = $this-&gt;id;<br />	$db-&gt;get_row(&quot;SELECT link_comments, link_author, link_status, link_randkey, link_category, link_date, link_votes, link_karma,link_published_date FROM &quot; . table_links . &quot; WHERE link_id = $id&quot;)<br /></blockquote><br />&nbsp;..and so on.&nbsp;<p>I <strong>really</strong> dunno why they insist to strip_tags instead of a simple <a href="http://it.php.net/intval" target="_blank" title="PHP Intval() Function">intval()</a> ;)&nbsp;</p><p>&nbsp;</p>]]></description>
		<pubDate>Wed, 09 April 2008 00:48:39 +0000</pubDate>
		</item>
		<item>
			<title>mplayer sdpplin_parse() Array Indexing Vulnerability</title>
			<link>http://www.pornosecurity.org/blog/mplayer-lib-sdpplin_parse-vulnerability</link>
		<description><![CDATA[<p align="justify"><img src="http://www.pornosecurity.org/images/xine_logo.jpg" alt="Xine Logo" title="Xine Logo" width="66" height="66" /></p><div align="justify"></div><p align="justify">Thursday i read <a href="http://secunia.com/advisories/28694/" target="_blank" title="xine-lib sdpplin_parse Secunia advisory">this</a> advisory regarding a <a href="http://xinehq.de/" target="_blank">xine-lib</a> vulnerability, and after a while i've read that <a href="http://bugs.gentoo.org/show_bug.cgi?id=213039#c1" target="_blank" title="xine-lib sdpplin.c gentoo bugs">also vlc</a> shares the same vulnerable code.Then i decided to take a look at <a href="http://www.mplayerhq.hu/" target="_blank" title="Mplayer HQ">mplayer</a> and even if the conditions to reach the vulnerability are slightly different, mplayer is vulnerable.</p><p align="justify">&nbsp;</p><p align="justify">The shared vulnerable code(line numbers apply to mplayer):&nbsp;</p><ul>	<li>sdpplin_parse_stream():161	</li></ul><ol></ol><blockquote>	<strong>	desc-&gt;stream_id=atoi(buf);	</strong><br /></blockquote><ul>	<li>	spplin_parse():283</li></ul><blockquote>	<strong>	desc-&gt;stream[stream-&gt;stream_id]=stream;	</strong><br /></blockquote><p>Example on mplayer :<br /></p><blockquote>	<p>	eax&nbsp;&nbsp;&nbsp; <strong>0xa0737008</strong>&nbsp; // pointer to desc-&gt;stream  <br />	edx&nbsp;&nbsp;&nbsp; <strong>0x0495badd</strong>&nbsp; // &quot;streamid&quot; value (76921565)<br />	edi&nbsp;&nbsp;&nbsp; <strong>0x089b59e8&nbsp; </strong>// pointer to stream 	</p>	<p>	&lt;sdpplin_parse+731&gt;:<strong> mov&nbsp;&nbsp;&nbsp; DWORD PTR [eax+edx*4],edi&nbsp;</strong>	</p></blockquote><p>In the xine-lib case, using a <strong>positive or negative</strong> &quot;streamid&quot; parameter as a 4-byte offset from &quot;desc-&gt;stream&quot;(that in mplayer appears to fall always on the same location) we can write a pointer to a &quot;stream&quot; structure everywhere in the memory, the first element of the &quot;stream&quot; structure is a pointer to a user-supplied buffer.</p><p>There's an important difference here, mplayer does some checks to ensure that &quot;streamid&quot; is equal or greater than 0 and less than the &quot;StreamCount&quot; parameter, but it's still possible to write at memory locations beyond the &quot;desc-&gt;stream&quot; pointer. </p>]]></description>
		<pubDate>Mon, 24 March 2008 20:38:25 +0000</pubDate>
		</item>
		<item>
			<title>Got sploit, lets patch! kthx.</title>
			<link>http://www.pornosecurity.org/blog/got-sploit-lets-patch-kthx</link>
		<description><![CDATA[<p><img src="http://www.pornosecurity.org/images/pacman.jpg" alt="Pacman" title="Pacman" width="66" height="66" />Ok, il software XYZ e' vulnerabile. Ok, la vunerabilita' e' ormai pubblica. Ok, ho anche il mio bel numerino <a href="http://cve.mitre.org/" target="_blank" title="CVE">CVE</a>. Problema risolto? Non sempre, ci sono casi in cui il problema nn finisce qui.</p><p>&nbsp;</p><p>Qualche esempio: il recente stack-based <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6026" target="_blank" title="Stack based buffer overflow in MDB file parsing">buffer overflow sul parser dei file .MDB</a> che nn e' stato e non verra' mai patchato da Microsoft oppure un <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-2807" target="_blank" title="Eggdrop buffer overflow">buffer overflow nel popolarissimo eggdrop</a> che e' presente ancora nell'ultima versione scaricabile dal sito.		</p>]]></description>
		<pubDate>Wed, 05 March 2008 17:30:58 +0000</pubDate>
		</item>
		<item>
			<title>Primi problemi per Android</title>
			<link>http://www.pornosecurity.org/blog/primi-problemi-di-sicurezza-per-android</link>
		<description><![CDATA[<p><img src="http://www.pornosecurity.org/images/android_logo.jpeg" alt="Android Logo" title="Android Logo" width="66" height="66" />Primi problemi di sicurezza per l' <a href="http://it.wikipedia.org/wiki/Software_development_kit" target="_blank" title="Software Development Kit">SDK</a> rilasciato da google. <a href="http://code.google.com/android/" target="_blank" title="Android">Android</a>, questo il nome del sistema operativo che google vuole portare sui cellulari di mezzo mondo, risulta essere affetto da diverse vulnerabilita' alcune delle quali presenti in vecchie versioni di librerie incluse nell' SDK, altre invece sono brand new flaws introdotte da google stessa.</p><p>&nbsp;</p><p><a href="http://www.coresecurity.com/" target="_blank" title="Core Security">Core Security</a> ha rilasciato un dettagliato(as usual) <a href="http://www.coresecurity.com/?action=item&amp;id=2148" target="_blank" title="Android Vulnerabilities">advisory</a>. &nbsp;</p>]]></description>
		<pubDate>Wed, 05 March 2008 12:46:13 +0000</pubDate>
		</item>
		<item>
			<title>Teewars remote heap overflow</title>
			<link>http://www.pornosecurity.org/blog/teewars-remote-heap-overflow</link>
		<description><![CDATA[<p><img src="http://www.pornosecurity.org/images/teewars.jpg" alt="Teewars" title="Teewars" width="66" height="66" />Qualche tempo fa un amico mi ha fatto provare <a href="http://www.teewars.com" target="_blank" title="Teewars">questo gioco</a>, la prima cosa che ho fatto dopo qualche frags e' stata scrivere un piccolo client in perl che querasse lo stato dei servers.</p><p>&nbsp;</p><p>&nbsp;</p><p>Ho cominciato quindi a dare un occhio al codice sorgente per cercare di reversare il protocollo e mentre giravo trai sorgenti mi sono imbattuto in una strcpy() di troppo. Facendo qualche prova sono riuscito a risalire a come raggiungere quella particolare linea e a causare l'overflow.&nbsp; Il problema e' nel file e_network.c all'interno del quale la funzione conn_set_error() copia una stringa ricevuta dall'utente in un buffer di lunghezza statica, ho appena comunicato la cosa sul <a href="http://www.teewars.com/forum/viewtopic.php?pid=6256" target="_blank" title="Teewars forum">forum di teewars</a>.</p><p>La problematica risulta particolarmente perniciosa dato che e' possibile ottenere una lista dei servers attivi semplicemente querando il masterserver.&nbsp;</p>]]></description>
		<pubDate>Mon, 25 February 2008 19:06:51 +0000</pubDate>
		</item>
	</channel>
</rss>
