<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="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:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-822531405526750445</atom:id><lastBuildDate>Sun, 19 Feb 2012 01:13:59 +0000</lastBuildDate><category>mobile</category><category>facebook</category><category>attack</category><category>sqlia</category><category>tex</category><category>java</category><category>web</category><category>security</category><category>programming</category><category>rfc</category><category>maven</category><category>privacy</category><category>http</category><category>rootkit</category><category>assembly</category><category>trip</category><category>post4a</category><category>presentation</category><category>binary</category><category>Diary</category><category>wdk</category><category>phishing</category><category>japanese</category><category>dns</category><category>browser</category><category>spam</category><category>leakage</category><category>mac</category><category>session</category><category>video</category><category>Software</category><category>windows</category><category>xss</category><category>fixation</category><category>slide</category><category>disassembly</category><category>teaching</category><title>Yuji Kosuga's Blog</title><description>' src=x onerror=alert(1);//</description><link>http://blog.yujikosuga.com/</link><managingEditor>noreply@blogger.com (Yuji Kosuga)</managingEditor><generator>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/rss+xml" href="http://feeds.feedburner.com/YujiKosugasBlog" /><feedburner:info uri="yujikosugasblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>YujiKosugasBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/YujiKosugasBlog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FYujiKosugasBlog" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-7966482768281974293</guid><pubDate>Sat, 18 Feb 2012 12:11:00 +0000</pubDate><atom:updated>2012-02-18T21:11:56.099+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">attack</category><category domain="http://www.blogger.com/atom/ns#">xss</category><category domain="http://www.blogger.com/atom/ns#">security</category><title>XSS vulnerability in about.me</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;img border="0" height="186" src="http://4.bp.blogspot.com/-lAvy0VgdYAM/Tz8TFlwnbNI/AAAAAAAABO0/b2szfUNXrTo/s200/aboutme.jpg" width="200" /&gt;&amp;nbsp;&lt;img border="0" height="141" src="http://4.bp.blogspot.com/-0xNZdMXpJ2g/Tz8Th2umNII/AAAAAAAABO8/WjywI6HOKqo/s200/xss_aboutme.png" width="200" /&gt;&lt;/div&gt;
&lt;div class="" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;"&gt;
About.me was vulnerable to a persistent XSS attack. A malicious user could have activated an arbitrary JavaScript in any visitor's browser.&lt;br /&gt;
&lt;br /&gt;
About.me allows users to display their contents from external social media websites&amp;nbsp;such as Twitter, Facebook, and so on. The vulnerability that I detected was in the program that displays Github contents. An attacker would have needed to create a Github repository with a simple XSS vector in its description and to import his Github account into his about.me profile. Subsequently, if a visitor had clicked on the button to the attacker's Github repositories, the XSS vector would have been activated.&lt;br /&gt;
&lt;br /&gt;
After I reported the vulnerability, they fixed it quickly and&amp;nbsp;sent me the hoodie jacket shown in the picture on the left.&lt;/div&gt;
&lt;div class="" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;"&gt;
 I have also found similar vulnerabilities in many other websites; some of them are not fixed yet.&amp;nbsp;&lt;/div&gt;
&lt;div class="" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-7966482768281974293?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ISn16WciAy91csWo9YXvMZJJW1Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ISn16WciAy91csWo9YXvMZJJW1Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ISn16WciAy91csWo9YXvMZJJW1Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ISn16WciAy91csWo9YXvMZJJW1Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/OgrbsQk3O5s" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/OgrbsQk3O5s/xss-vulnerability-in-aboutme.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-lAvy0VgdYAM/Tz8TFlwnbNI/AAAAAAAABO0/b2szfUNXrTo/s72-c/aboutme.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2012/02/xss-vulnerability-in-aboutme.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-7357813192995174564</guid><pubDate>Mon, 28 Nov 2011 04:44:00 +0000</pubDate><atom:updated>2012-02-02T19:49:26.504+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sqlia</category><category domain="http://www.blogger.com/atom/ns#">xss</category><category domain="http://www.blogger.com/atom/ns#">security</category><title>My dissertation</title><description>&lt;br /&gt;
&lt;div class="separator" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"&gt;
&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-rKgAieAKc4o/Typk-eSZqII/AAAAAAAABNk/R8oDP5qtdMc/s200/dissertation.png" width="166" /&gt;&lt;/div&gt;
&lt;br /&gt;
This is my dissertation submitted to Keio University in August 2011.&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/yujikosuga/a-study-on-dynamic-detection-of-web-application-vulnerabilities" target="_blank" title="A Study on Dynamic Detection of Web Application Vulnerabilities"&gt;A Study on Dynamic Detection of Web Application Vulnerabilities&lt;/a&gt;&lt;/strong&gt; &lt;iframe frameborder="0" height="510" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/10704592" width="477"&gt;&lt;/iframe&gt;  &lt;br /&gt;
&lt;div style="padding: 5px 0 12px;"&gt;
View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;documents&lt;/a&gt; from &lt;a href="http://www.slideshare.net/yujikosuga" target="_blank"&gt;Yuji Kosuga&lt;/a&gt;&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/822531405526750445-7357813192995174564?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/j4D4Ph28HGaficyXheKzYsg-Ee8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j4D4Ph28HGaficyXheKzYsg-Ee8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/j4D4Ph28HGaficyXheKzYsg-Ee8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j4D4Ph28HGaficyXheKzYsg-Ee8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/eN85_MCYRBg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/eN85_MCYRBg/my-dissertation.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-rKgAieAKc4o/Typk-eSZqII/AAAAAAAABNk/R8oDP5qtdMc/s72-c/dissertation.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2012/02/my-dissertation.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-3099797825985955611</guid><pubDate>Sun, 06 Mar 2011 14:56:00 +0000</pubDate><atom:updated>2012-02-02T19:43:23.134+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">attack</category><category domain="http://www.blogger.com/atom/ns#">xss</category><category domain="http://www.blogger.com/atom/ns#">security</category><category domain="http://www.blogger.com/atom/ns#">web</category><title>Submarined XSS - DEMO</title><description>&lt;div class="posterous_autopost"&gt;
&lt;div class="p_embed p_image_embed"&gt;
&lt;div class="separator" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"&gt;
&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-ZQeNjlXYUOk/Typj5N17PJI/AAAAAAAABNc/6cYX3EjylmE/s200/submarinedxss.png" width="200" /&gt;&lt;/div&gt;
&lt;/div&gt;
I made demonstration webpage for the XSS I described as a submarined XSS in the previous post, since I was not sure I could adequately explain it in words. The demo has two examples; one is for an XSS that can be successful after some user interaction, and another is to show the incapability of executing reflected attack.&lt;br /&gt;
The demo page is&amp;nbsp;&lt;a href="http://www.yujikosuga.com/submarinedxss.php"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-3099797825985955611?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kK9m_VbywxdgG8bXPdjmiOMOcN0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kK9m_VbywxdgG8bXPdjmiOMOcN0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kK9m_VbywxdgG8bXPdjmiOMOcN0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kK9m_VbywxdgG8bXPdjmiOMOcN0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/n1pxybiGfKQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/n1pxybiGfKQ/submarined-xss-demo.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-ZQeNjlXYUOk/Typj5N17PJI/AAAAAAAABNc/6cYX3EjylmE/s72-c/submarinedxss.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2012/02/submarined-xss-demo.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-7437826316823730963</guid><pubDate>Thu, 03 Mar 2011 10:24:00 +0000</pubDate><atom:updated>2012-02-02T02:37:00.162+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">attack</category><category domain="http://www.blogger.com/atom/ns#">xss</category><category domain="http://www.blogger.com/atom/ns#">security</category><category domain="http://www.blogger.com/atom/ns#">web</category><title>Submarined XSS</title><description>&lt;div class='posterous_autopost'&gt;&lt;p&gt;  &lt;p&gt;It is not a new attack vector but I haven't found a proper word for describing this attack so far.&lt;/p&gt;  &lt;p&gt;The attack I describe here is an XSS in which an attack code is properly sanitized before being contained in the immediate response and is not stored by the server, so the attack won't be carried out at this step yet. However, the attack does harm as a result of the appearance of the already-sanitized attack code (not being sanitized this time, this is the cause of the vulnerability by the way) after a victim visits several pages in the same website. In this website, the session manager prohibits visitors from directly accessing the target webpage the attak code does harm, the attack can be successful only when the victim clicks on the link the attacker prepared and is required to browse some pages in the website to activate the attack code before a session expires.&lt;/p&gt;  &lt;p&gt;This attack is not a reflected type of attack since the attack code is properly sanitized in the immediate response. In addition, since the attack code is not stored by the server, this attack does not do harm as a stored type of attack does to any visitors to the target webpage the attack code appears.&lt;/p&gt;  &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-7437826316823730963?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/R7Qo94AseHj38_taWzP9RtayOHo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R7Qo94AseHj38_taWzP9RtayOHo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/R7Qo94AseHj38_taWzP9RtayOHo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R7Qo94AseHj38_taWzP9RtayOHo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/PdmvvAXDtvo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/PdmvvAXDtvo/submarined-xss.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2012/02/submarined-xss.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-5747284415620415317</guid><pubDate>Sun, 19 Dec 2010 17:01:00 +0000</pubDate><atom:updated>2012-02-02T19:43:49.732+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">http</category><category domain="http://www.blogger.com/atom/ns#">Software</category><category domain="http://www.blogger.com/atom/ns#">post4a</category><category domain="http://www.blogger.com/atom/ns#">security</category><category domain="http://www.blogger.com/atom/ns#">privacy</category><category domain="http://www.blogger.com/atom/ns#">leakage</category><category domain="http://www.blogger.com/atom/ns#">browser</category><title>post4a.js Demo</title><description>&lt;div class="posterous_autopost"&gt;
&lt;div class="p_embed p_image_embed"&gt;
&lt;div class="separator" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"&gt;
&lt;img border="0" height="175" src="http://1.bp.blogspot.com/-u9rNUvpzm2M/TypjVIJ-PQI/AAAAAAAABNU/FkpYLwsigXg/s200/post4a.js.png" width="200" /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
I introduced a small JavaScript library that send a POST request with an Anchor HTML tag in the last post.&amp;nbsp;Today I made the post4a.js project web page with its demonstration in &lt;a href="http://www.yujikosuga.com/post4a/"&gt;this page&lt;/a&gt;.&lt;br /&gt;
The web page has two demos: one for successfully sending a POST request, and the other is for showing an error caused when requesting a static content (such as an HTML page) with the POST method and getting a "405 Method not allowed" error. Since static contents might refuse your POST requests, although it depends on the server configuration, please use post4a.js to send POST requests only for executable scripts (such as PHP, CGI, JSP, ASP, etc.). Thanks.&lt;br /&gt;
post4a.js web page is &lt;a href="http://www.yujikosuga.com/post4a/"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-5747284415620415317?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/E1IQl_U8hTycV2z-GzOqTZTXwbk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E1IQl_U8hTycV2z-GzOqTZTXwbk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/E1IQl_U8hTycV2z-GzOqTZTXwbk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E1IQl_U8hTycV2z-GzOqTZTXwbk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/FjYj7ulk9i4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/FjYj7ulk9i4/post4ajs-demo.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-u9rNUvpzm2M/TypjVIJ-PQI/AAAAAAAABNU/FkpYLwsigXg/s72-c/post4a.js.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2012/02/post4ajs-demo.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-3876460840136502883</guid><pubDate>Thu, 16 Dec 2010 20:03:00 +0000</pubDate><atom:updated>2012-02-02T19:51:52.734+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">http</category><category domain="http://www.blogger.com/atom/ns#">Software</category><category domain="http://www.blogger.com/atom/ns#">post4a</category><category domain="http://www.blogger.com/atom/ns#">security</category><category domain="http://www.blogger.com/atom/ns#">privacy</category><category domain="http://www.blogger.com/atom/ns#">leakage</category><category domain="http://www.blogger.com/atom/ns#">browser</category><title>post4a.js: POST for Anchors to Prevent Referrer Information Leakage</title><description>&lt;div class="posterous_autopost"&gt;
&lt;div class="separator" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"&gt;
&lt;img border="0" height="43" src="http://3.bp.blogspot.com/-t3Td-k_TWKM/TypqvfCOoMI/AAAAAAAABOk/4y24C7RcNEA/s200/post4a.png" width="200" /&gt;&lt;/div&gt;
Lately, much attention has been focused on information leakage stemmed from HTTP Referrer. As far as I saw The Wall Street Journal, I found these articles:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt; &lt;a href="http://blogs.wsj.com/digits/2010/10/07/former-ftc-employee-files-complaint-over-google-privacy/"&gt;Former FTC Employee Files Complaint Over Google Privacy&lt;/a&gt; on Oct. 7&lt;/li&gt;
&lt;li&gt; &lt;a href="http://online.wsj.com/article/SB10001424052702304772804575558484075236968.html"&gt;Facebook in Privacy Breach&lt;/a&gt; on Oct. 18&lt;/li&gt;
&lt;/ul&gt;
These articles seem to refer to Google and Facebook as those who leak user information though, it sounds like the websites are requested to refuse to be accessed via URL with query-strings. Since the browsers automatically embed the URL of the referring site into the HTTP Referrer value, the only thing websites can do is to not use URL with query-strings...  The most part of this problem lies in the browsers because the Referrer-related security settings are allowed in the today's browsers by default. Even though we can disable sending Referrer information according to &lt;a href="http://www.hiderefer.com/hide_referrer.html"&gt;this page&lt;/a&gt;, these are not easy for most users...  Anyway, from the website developer's point of view, it is not recommended that the website attach user's sensitive information to its URL. HTML anchor tags also cannot hold any security token or user id. What would you do?  I made a JavaScript library named post4a.js for sending a POST request with an HTML anchor tag. The following is the summary of post4a.js project page in GitHub.&lt;br /&gt;
&lt;blockquote&gt;
post4a.js is a JavaScript library that would help to prevent websites from exposing a user's identity embedded in &lt;code&gt;Referrer&lt;/code&gt; to other sites, by avoiding selected query-strings from being used for the page URL.  The regular HTML anchor tags (&lt;code&gt;&amp;lt;A&amp;gt;&lt;/code&gt;) let browsers issue GET requests when the user clicks on the anchors, so that the browser can simply, directly open the requested page with the URL specified in the anchor's &lt;code&gt;href&lt;/code&gt; attribute. When the browsers send the HTTP request, they by default automatically attach the &lt;code&gt;Referrer&lt;/code&gt; value to the request for the purpose of letting the destination website know about the page from which the browser is arriving. If the URL contains user's sensitive information, the destination website can extract them from the URL.  Since POST requests embed query-strings into the request body instead of the URL, they are safer than GET requests in terms of &lt;code&gt;Referrer&lt;/code&gt; information theft, because the request body is not automatically embedded to other requests. However, the browsers only send GET requests for anchor tags, currently. post4a.js provides a simple solution currently available on the today's browsers. It automatically converts the specified anchor tags into form tags to send POST requests with some pieces of parameters you want to hide from &lt;code&gt;Referrer&lt;/code&gt;.&lt;/blockquote&gt;
post4a.js can be used like this.&lt;br /&gt;
&lt;div class="gistLoad" data-id="1506238" id="gist-1506238"&gt;
Loading ....&lt;/div&gt;
The source code and detailed information about post4a.js are on GitHub. Your involvement to post4a.js is always welcome :) thanks.   &lt;a href="https://github.com/yujikosuga/post4a.js"&gt;post4a.js on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;script src="https://raw.github.com/moski/gist-Blogger/master/public/gistLoader.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-3876460840136502883?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fxoavV6TNyIFxmQKFLaZcr-DFHg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fxoavV6TNyIFxmQKFLaZcr-DFHg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fxoavV6TNyIFxmQKFLaZcr-DFHg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fxoavV6TNyIFxmQKFLaZcr-DFHg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/_g15Guf5o14" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/_g15Guf5o14/post4ajs-post-for-anchors-to-prevent.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-t3Td-k_TWKM/TypqvfCOoMI/AAAAAAAABOk/4y24C7RcNEA/s72-c/post4a.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2012/02/post4ajs-post-for-anchors-to-prevent.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-3191649664062663057</guid><pubDate>Thu, 27 May 2010 15:27:00 +0000</pubDate><atom:updated>2010-06-02T01:09:24.096+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">http</category><category domain="http://www.blogger.com/atom/ns#">mobile</category><category domain="http://www.blogger.com/atom/ns#">dns</category><category domain="http://www.blogger.com/atom/ns#">attack</category><category domain="http://www.blogger.com/atom/ns#">security</category><category domain="http://www.blogger.com/atom/ns#">web</category><title>Recent Mobile Security in Japan: DNS Rebinding</title><description>&lt;span class="Apple-style-span" style="color: red;"&gt;Update at 00:50 JST on May 28 2010; Softbank announced &lt;a href="http://mb.softbank.jp/mb/information/details/100527.html"&gt;how to disable JavaScript&lt;/a&gt; to prevent spoofing by DNS rebinding.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;I'd like to know the recent mobile security issue in your country, please post it to the comment field below. Thanks :D&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Even before the recent advent of smart phones like BlackBerry and iPhone, Japanese mobiles have a range of high-tech capabilities such as viewing TV, e-commerce, navigation by GPS, etc (&lt;a href="http://en.wikipedia.org/wiki/Japanese_mobile_phone_culture"&gt;Japanese mobile phone culture at Wikipedia&lt;/a&gt;). With such devices, we only need to do a simple thing just like pushing a button, then the device works all the complex tasks programmed.&amp;nbsp;These technologies are all about convenience and making our lives easier :D Of course in any case a new technology emerges, any security should not be simple...&lt;br /&gt;
&lt;br /&gt;
"Easy Login" ("Kantan Login" in Japanese) is a login method to log in to a website. It only requires users to click the "Easy Login" button prepared on the login page of the website, although usual websites require each user to register his user ID and password and enter them for their login. Since "Easy Login" greatly mitigates the annoying routine of entering ID and password, it seems&amp;nbsp;cool with respect to the simplicity for the users. They don't need to remember user ID and password for every website they use.&lt;br /&gt;
&lt;br /&gt;
The "Easy Login" uses the SIM card ID (which is a device ID, let me call it "SIM ID"), so it's unique to each mobile phone. A mobile automatically sends the SIM ID to the website instead of user's entering his ID and password.&lt;br /&gt;
&lt;br /&gt;
The SIM ID is embedded into the header of an HTTP request to send an request to a website. It is NEVER modified for preventing spoofing. For example, a mobile from Softbank (one of three mobile companies in Japan other than Docomo and Au) embeds the SID to an X-JPHONE-UID header in an HTTP request. The value of X-JPHONE-UID can not be modified. &lt;br /&gt;
&lt;br /&gt;
But, according to a &lt;a href="http://www.hash-c.co.jp/archive/wasf2010.html"&gt;presentation&lt;/a&gt; made in &lt;a href="http://wasforum.jp/conf2010/"&gt;WASForum Conference 2010&lt;/a&gt;, by Hiroshi Tokumaru (&lt;a href="http://twitter.com/ockeghem"&gt;@ockeghem&lt;/a&gt;) from &lt;a href="http://www.hash-c.co.jp/"&gt;HASH Consulting Corp.&lt;/a&gt;, "Easy Login" is still vulnerable. Vulnerable to &lt;a href="http://en.wikipedia.org/wiki/DNS_rebinding"&gt;DNS rebinding&lt;/a&gt; (detailed info is &lt;a href="http://crypto.stanford.edu/dns/"&gt;here&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
In usual DNS rebinding (with using a web browser), the attacker can make the user to believe he (the user) is accessing an internet website (prepared by the attacker), but accessing another website or an intranet behind firewall actually and send back user-sensitive information at the destination to the attacker. This is possible when the attacker can control the mapping between a host name to an IP address at his DNS server. (For more information about this attack, see the documents introduced above.)&lt;br /&gt;
&lt;br /&gt;
In the "Easy Login" situation, it might not target the intranet because a mobile accesses a website through the gateway provided by the mobile company. There is no intranet-side website. It can be possible to attack the intranet built upon the mobile network like &lt;a href="http://tm.softbank.jp/english/business/vpn_op/mobile_gw/vdf/index.html"&gt;this&lt;/a&gt; though.&lt;br /&gt;
&lt;br /&gt;
To prevent DNS rebinding, it is currently the most effective technique that every website checks to see if the Host header has the host name or IP address of the website itself. Because the host name the user supposes to access is contained in the Host header in an HTTP request. The valid website can confirm if a request is really accessed to the website itself.&lt;br /&gt;
&lt;br /&gt;
The problem is here; on a Softbank mobile, the Host header in an HTTP request can be modified to arbitrary value by using setRequestHeader method.&amp;nbsp;Consequently, the effective prevention technique is nullified...&lt;br /&gt;
&lt;br /&gt;
The setRequestHeader method is not allowed to use by default, but it can be easily allowed by manually activating the&amp;nbsp;setting for "Ajax Control". This control also contains XMLHttpRequest, so disabling the setting means that the Japanese mobile sites are de facto not yet interactive.&lt;br /&gt;
&lt;br /&gt;
I decided to write this article because the presentation slide of this problem referred above was very interesting to me, even though&amp;nbsp;I haven't seen the "Easy Login" thingy before actually&amp;nbsp;since I'm using an iPhone, haha. I learned a lot about it this time to write this article. Thanks. Especially thanks to Hiroshi Tokumaru, who detected this problem. The official announcement of this problem is &lt;a href="http://www.hash-c.co.jp/info/2010052401.html"&gt;here (in Japanese)&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-3191649664062663057?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3aLpDk0-OH_SiXwnI3o9-0oEC50/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3aLpDk0-OH_SiXwnI3o9-0oEC50/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3aLpDk0-OH_SiXwnI3o9-0oEC50/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3aLpDk0-OH_SiXwnI3o9-0oEC50/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/29qJRXg_3iU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/29qJRXg_3iU/recent-mobile-security-in-japan-dns.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><thr:total>2</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2010/05/recent-mobile-security-in-japan-dns.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-8783535021806091326</guid><pubDate>Wed, 21 Apr 2010 13:41:00 +0000</pubDate><atom:updated>2010-04-21T22:48:36.505+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">video</category><title>YouTube video about the group I belong to</title><description>Keio university started to introduce their science groups on YouTube. Today Kono group (the group I belong to) finally uploaded the video, titled "Overhauling system software to make the Internet safe for everyone". Let me introduce it here, I'm not on the screen though. &lt;br /&gt;
&lt;br /&gt;
&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/6BzwVGbbgG4&amp;hl=en_US&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/6BzwVGbbgG4&amp;hl=en_US&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
It also has a Japanese version under the title "&lt;a href="http://www.youtube.com/watch?v=mpTSRLTKoaM"&gt;河野研究室：誰もが安心して使えるインターネットを目指して&lt;/a&gt;".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-8783535021806091326?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/889clWM_u8e_CvjByS7PLMGKKB0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/889clWM_u8e_CvjByS7PLMGKKB0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/889clWM_u8e_CvjByS7PLMGKKB0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/889clWM_u8e_CvjByS7PLMGKKB0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/WTVNi8pDXv8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/WTVNi8pDXv8/youtube-video-about-group-i-belong-to.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2010/04/youtube-video-about-group-i-belong-to.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-741978551346519356</guid><pubDate>Tue, 02 Mar 2010 14:49:00 +0000</pubDate><atom:updated>2012-02-02T19:44:24.101+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">fixation</category><category domain="http://www.blogger.com/atom/ns#">attack</category><category domain="http://www.blogger.com/atom/ns#">session</category><category domain="http://www.blogger.com/atom/ns#">web</category><category domain="http://www.blogger.com/atom/ns#">presentation</category><category domain="http://www.blogger.com/atom/ns#">browser</category><title>Automated Detection of Session Fixation Vulnerabilities [WWW2010 Poster]</title><description>&lt;div class="posterous_autopost"&gt;
&lt;div class="separator" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"&gt;
&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-MA0XdLF_D60/TypmWFRnIOI/AAAAAAAABNs/xEJ3GuM-brY/s200/www2010.png" width="153" /&gt;&lt;/div&gt;
&lt;br /&gt;
Our paper has been accepted in the Poster Track at the WWW 2010, under the title;&lt;br /&gt;
"Automated Detection of Session Fixation Vulnerabilities"&lt;br /&gt;
Yusuke Takamatsu, Yuji Kosuga, and Kenji Kono&lt;br /&gt;
&lt;a href="http://www2010.org/www/program/posters/"&gt;http://www2010.org/www/program/posters/&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/yujikosuga/wpp1180-takamatsu" target="_blank" title="Automated Detection of Session Fixation Vulnerabilities"&gt;Automated Detection of Session Fixation Vulnerabilities&lt;/a&gt;&lt;/strong&gt;   &lt;object height="510" width="477"&gt;  &lt;param name="movie" value="http://static.slidesharecdn.com/swf/doc_player.swf?doc=wpp1180-takamatsu-111221205914-phpapp02&amp;amp;stripped_title=wpp1180-takamatsu&amp;amp;userName=yujikosuga" /&gt;




  &lt;param name="allowFullScreen" value="true" /&gt;




  &lt;param name="allowScriptAccess" value="always" /&gt;




  &lt;param name="wmode" value="transparent" /&gt;




 &lt;embed src="http://static.slidesharecdn.com/swf/doc_player.swf?doc=wpp1180-takamatsu-111221205914-phpapp02&amp;amp;stripped_title=wpp1180-takamatsu&amp;amp;userName=yujikosuga" type="application/x-shockwave-flash" wmode="transparent" height="510" width="477"&gt;&lt;/embed&gt;  &lt;/object&gt;  &lt;br /&gt;
&lt;div style="padding: 5px 0 12px;"&gt;
View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;documents&lt;/a&gt; from &lt;a href="http://www.slideshare.net/yujikosuga" target="_blank"&gt;Yuji Kosuga&lt;/a&gt;&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/822531405526750445-741978551346519356?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tb5O-7DtK1P_ebrtkbNmpzRDDu0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tb5O-7DtK1P_ebrtkbNmpzRDDu0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tb5O-7DtK1P_ebrtkbNmpzRDDu0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tb5O-7DtK1P_ebrtkbNmpzRDDu0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/1SGWeToRCM0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/1SGWeToRCM0/automated-detection-of-session-fixation.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-MA0XdLF_D60/TypmWFRnIOI/AAAAAAAABNs/xEJ3GuM-brY/s72-c/www2010.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2010/03/automated-detection-of-session-fixation.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-4399928194435224344</guid><pubDate>Thu, 25 Feb 2010 10:36:00 +0000</pubDate><atom:updated>2012-02-02T12:34:14.130+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">phishing</category><category domain="http://www.blogger.com/atom/ns#">attack</category><category domain="http://www.blogger.com/atom/ns#">facebook</category><category domain="http://www.blogger.com/atom/ns#">spam</category><category domain="http://www.blogger.com/atom/ns#">security</category><category domain="http://www.blogger.com/atom/ns#">web</category><category domain="http://www.blogger.com/atom/ns#">browser</category><title>Detail of "Facebook Premium" Phishing</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_Zw-alMUDmD0/S4YFP0TKiGI/AAAAAAAAAH0/4rwR1wlwuFc/s1600-h/1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_Zw-alMUDmD0/S4YFP0TKiGI/AAAAAAAAAH0/4rwR1wlwuFc/s200/1.jpg" width="165" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="color: red;"&gt;-- UPDATE--&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: red;"&gt;I confirmed that Facebook finally blocked the group at 2:00p JST on&amp;nbsp;Feb. 26th.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This morning I got a message from my friend about an invitation of a Facebook group "Facebook Premium". I've never heard of such a service in Facebook, so I googled it and found several articles about it (such as&amp;nbsp;&lt;a href="http://www.maximumpc.com/article/news/facebook_launches_facebook_classic_and_facebook_premium"&gt;this&lt;/a&gt;). This service seems pretty good for both Facebook and users, but this post today is not about the service itself. Since the service sounded nice to me, I went to the group page in Facebook to get further information about it. The description began with these sentences:&lt;br /&gt;
&lt;blockquote&gt;
Facebook Premium Accounts are finally here!&lt;br /&gt;
Get yours while they are free!&lt;/blockquote&gt;
In the webpage, "How can I get a Premium Account" section followed up, but I'm going to introduce first what we can get if we create accounts.&lt;br /&gt;
&lt;blockquote&gt;
--------------------------------------&lt;br /&gt;
What are the perks of a Premium Account?&lt;br /&gt;
--------------------------------------&lt;br /&gt;
&lt;br /&gt;
There are many perks and reasons to get a Premium Account.&lt;br /&gt;
&lt;br /&gt;
1. Video Chat&lt;br /&gt;
Video chat is one of the most requested features. However, due to the strain live Video Chat puts on our servers, we cannot make them open to simply everybody. Currently, only Premium Accounts can use video chat; we do not have any intention of changing that.&lt;br /&gt;
&lt;br /&gt;
2. Group Chat&lt;br /&gt;
Right under Video Chat in popularity, is a group chat feature. Group chat will allow for chat rooms in which friends can be invited. Strict privacy features are available which will allow who can join a chat room or speak. Group chat may soon be open to everybody, but is currently only for Premium Account members.&lt;br /&gt;
&lt;br /&gt;
3. Profile View Notifications&lt;br /&gt;
A new app, just for Premium Account members, allows users to monitor who is watching their profile. You can also choose to receive alerts for a set group of people. This is useful in that you can find out if there are people you do not know looking at your profile.&lt;br /&gt;
&lt;br /&gt;
4. Themes (Beta)&lt;br /&gt;
Premium Account members exclusively will be able to beta test themes. Many themes are available, and only Premium Account members will be able to see them.&lt;br /&gt;
&lt;br /&gt;
5. Ad Removal&lt;br /&gt;
Premium Account members do not see any annoying banner or text ads. Paid Premium Account subscriptions allow us to make this possible. (read less)&lt;/blockquote&gt;
Sounds cool? And this is how to get an account.&lt;br /&gt;
&lt;blockquote&gt;
--------------------------------------&lt;br /&gt;
How can I get a Premium Account?&lt;br /&gt;
--------------------------------------&lt;br /&gt;
Follow both steps below in the exact order:&lt;br /&gt;
&lt;br /&gt;
1) - Our application works on a "Friend-to-Friend" basis. So here's step one.&lt;br /&gt;
&lt;br /&gt;
Click the "Invite People to Join" button, then ERASE everything in your URL Address Bar, and replace it with the code below:&lt;br /&gt;
&lt;br /&gt;
javascript:elms=document&lt;wbr&gt;&lt;/wbr&gt;.getElementById('friends')&lt;wbr&gt;&lt;/wbr&gt;.getElementsByTagName('li');&lt;wbr&gt;&lt;/wbr&gt;for(var fid in elms)&lt;wbr&gt;&lt;/wbr&gt;{if&lt;wbr&gt;&lt;/wbr&gt;(typeof elms[fid] &lt;wbr&gt;&lt;/wbr&gt;=== &lt;wbr&gt;&lt;/wbr&gt;'object')&lt;wbr&gt;&lt;/wbr&gt;{fs.click(&lt;wbr&gt;&lt;/wbr&gt;elms[fid]);}}&lt;br /&gt;
&lt;br /&gt;
After you have Copy &amp;amp; Pasted the code into your URL Address Bar, PRESS ENTER.&lt;br /&gt;
&lt;br /&gt;
Once your friends turn BLUE, Click "Send Invitations"&lt;br /&gt;
&lt;br /&gt;
If you do NOT complete this step, none of this will work for you. No cheating!&lt;br /&gt;
&lt;br /&gt;
2) - Go to our official website, Complete the "Human Confirmation" test, and type in your Facebook email.&lt;br /&gt;
&lt;br /&gt;
http://tinyurl.com/facebookpremium&lt;br /&gt;
&lt;br /&gt;
*Sorry about the Human Confirmation test, but we must do it. We do not want bots to steal all the open Premium Accounts!&lt;br /&gt;
&lt;br /&gt;
Once you've done that, you will be put in the queue for your Premium Account. Once confirmed, you will receive a notification confirming this.&lt;/blockquote&gt;
Do I have to copy and paste the weird looking JavaScript code? As the instruction said, I confirmed that the code was only used to select my friends to invite and truly wait for me to click on the 'send request' button, but was still strange.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_Zw-alMUDmD0/S4YFQUpMBrI/AAAAAAAAAH4/d7VqVNJBpcE/s1600-h/2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="105" src="http://3.bp.blogspot.com/_Zw-alMUDmD0/S4YFQUpMBrI/AAAAAAAAAH4/d7VqVNJBpcE/s200/2.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
To know if it is safe or not, it is effective to verify the location where their content links to. It was "http://&lt;wbr&gt;&lt;/wbr&gt;tinyurl.com/&lt;wbr&gt;&lt;/wbr&gt;facebookpremium", which was shortened and was expanded to;&lt;br /&gt;
&lt;blockquote&gt;
http://&lt;wbr&gt;&lt;/wbr&gt;facebook-appsite.co.cc/&lt;wbr&gt;&lt;/wbr&gt;facebook-premium-edition/&lt;/blockquote&gt;
This webpage said;&lt;br /&gt;
&lt;blockquote&gt;
Enter your facebook email:&lt;br /&gt;
[text field]&lt;br /&gt;
[button]'Continue to the human verification!&lt;/blockquote&gt;
The button was linked to 'submit.php', so I just accessed 'submit.php' from the address bar without entering my email address nor clicking the button.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_Zw-alMUDmD0/S4YQ-NuYlPI/AAAAAAAAAIA/rn_nWzqcV7c/s1600-h/download%20(1).png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="108" src="http://4.bp.blogspot.com/_Zw-alMUDmD0/S4YQ-NuYlPI/AAAAAAAAAIA/rn_nWzqcV7c/s200/download%20(1).png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
Then I got a page that contains a web survey application from&amp;nbsp;CPAlead, a&amp;nbsp;web&amp;nbsp;marketing&amp;nbsp;company. The application said:&lt;br /&gt;
&lt;blockquote&gt;
Human Confirmation Test&lt;br /&gt;
Please complete the 30 second survey below to prove you are a REAL PERSON and NOT A ROBOT! Once you've completed, you will be done :)&lt;br /&gt;
[link]Want to Play FreeLotto?&lt;/blockquote&gt;
The link seemed to lead to the survey for verification to make sure that I'm not a robot? I even didn't enter my email address, so what's this confirmation for? It is my assumption that the text form in the previous page is a phishing point that malicious people can get a victim's email address. I also found an image button for help, so I clicked the button for more information.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_Zw-alMUDmD0/S4YTfssdkeI/AAAAAAAAAIE/dTBUquxkdf8/s1600-h/download%20(2).png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="105" src="http://2.bp.blogspot.com/_Zw-alMUDmD0/S4YTfssdkeI/AAAAAAAAAIE/dTBUquxkdf8/s200/download%20(2).png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
The help page said:&lt;br /&gt;
&lt;blockquote&gt;
To access this special content, you must complete one of these actions:&lt;br /&gt;
Complete a Free Survey - Complete one quick and easy survey to access this content. When the survey is completed, this widget will automatically be removed and your content will be revealed.&lt;br /&gt;
&lt;br /&gt;
If you feel this site is abusing our services, please Click here to report abuse.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_Zw-alMUDmD0/S4YfLadsUiI/AAAAAAAAAIk/7DCjU8K1Gb4/s1600-h/download.jpeg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="105" src="http://3.bp.blogspot.com/_Zw-alMUDmD0/S4YfLadsUiI/AAAAAAAAAIk/7DCjU8K1Gb4/s200/download.jpeg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
When I clicked on 'report abuse', I got a&amp;nbsp;submission&amp;nbsp;form that had two text forms for a reason and a message and a submit button. The button seem to lead to http://www.cpalead.com/ as far as I saw the source code.&amp;nbsp;I entered some words to the text field and submitted it. Then, I got a popup saying:&lt;br /&gt;
&lt;blockquote&gt;
Alert http://www.cpalead.com/&lt;br /&gt;
Abuse Report Sent. Thank you for your feedback.&lt;/blockquote&gt;
This seemed to be a normal action of CPAlead. Then&amp;nbsp;I went back and proceeded to the survey by clicking on the link of 'Want to Play FreeLotto?'. The new page was opened in a new tab.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_Zw-alMUDmD0/S4YT9jEHXwI/AAAAAAAAAII/aiUJxsgvYdE/s1600-h/download.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="171" src="http://4.bp.blogspot.com/_Zw-alMUDmD0/S4YT9jEHXwI/AAAAAAAAAII/aiUJxsgvYdE/s200/download.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
It was linked to the registration page of FreeLotto.com &lt;wbr&gt;&lt;/wbr&gt;(http://&lt;wbr&gt;&lt;/wbr&gt;www.freelotto.com/&lt;wbr&gt;&lt;/wbr&gt;register.asp?&lt;wbr&gt;&lt;/wbr&gt;skin=Cert&lt;wbr&gt;&lt;/wbr&gt;&amp;amp;noepu=1&lt;wbr&gt;&lt;/wbr&gt;&amp;amp;partner=1060291&lt;wbr&gt;&lt;/wbr&gt;&amp;amp;media=cpaempire&lt;wbr&gt;&lt;/wbr&gt;&amp;amp;affiliateid=CD22587), which said "CONGRATULATIONS!"... is it a survey? There were no questionnaire, but were text fields for my name, address, email, etc...&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_Zw-alMUDmD0/S4YUphEXGOI/AAAAAAAAAIQ/52imueneLXU/s1600-h/download%20(4).png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="105" src="http://1.bp.blogspot.com/_Zw-alMUDmD0/S4YUphEXGOI/AAAAAAAAAIQ/52imueneLXU/s200/download%20(4).png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
When I took a look at the content of http://&lt;wbr&gt;&lt;/wbr&gt;facebook-appsite.co.cc/ in another tab, the application seemed like waiting for me entering my information to the FreeLotto webpage, with saying like this;&lt;br /&gt;
&lt;blockquote&gt;
Human Confirmation Test&lt;br /&gt;
We are waiting for you to complete your survey.&lt;br /&gt;
When you have completed the survey, please check back here to see if the content is unlocked.&lt;br /&gt;
If you have spent more than 5 minutes on this survey and this page is still locked, please try a different survey.&lt;br /&gt;
&lt;br /&gt;
Checking for completion... Not Complete yet.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_Zw-alMUDmD0/S4YcpJbOMwI/AAAAAAAAAIg/eEOqQJRyXZo/s1600-h/by%20default%202010-02-25%20at%203.31.58%20PM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="127" src="http://1.bp.blogspot.com/_Zw-alMUDmD0/S4YcpJbOMwI/AAAAAAAAAIg/eEOqQJRyXZo/s200/by%20default%202010-02-25%20at%203.31.58%20PM.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
I decided to enter some information to the FreeLotto.com web page. After I entered some words to the fields in the page and submitted it, a popup appeared and said;&lt;br /&gt;
&lt;blockquote&gt;
Alert &lt;wbr&gt;&lt;/wbr&gt;http://&lt;wbr&gt;&lt;/wbr&gt;www.freelotto.com/&lt;br /&gt;
&lt;br /&gt;
Thank you [my name]. Your entry has been processed.&lt;br /&gt;
Prize notification will be sent to [my email address].&lt;br /&gt;
Play FreeLotto now and win up to $11,000,000.00 daily for free.&lt;/blockquote&gt;
I clicked the OK button but nothing was appeared on the FreeLotto page except for the light blue background.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_Zw-alMUDmD0/S4YbGpIX_II/AAAAAAAAAIY/bjLvrU0vH68/s1600-h/by%20default%202010-02-25%20at%203.38.11%20PM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="110" src="http://2.bp.blogspot.com/_Zw-alMUDmD0/S4YbGpIX_II/AAAAAAAAAIY/bjLvrU0vH68/s200/by%20default%202010-02-25%20at%203.38.11%20PM.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
But the content of facebook-appsite.co.cc seemed to have confirmed that I submitted at FreeLotto.com, and it has redirected to http://&lt;wbr&gt;&lt;/wbr&gt;uranet.net/&lt;wbr&gt;&lt;/wbr&gt;verify.php. The webpag said;&lt;br /&gt;
&lt;blockquote&gt;
Get the old facebook layout back!&lt;br /&gt;
Complete one of the following verifications to proceed&lt;br /&gt;
&lt;br /&gt;
[button]CONTINUE&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_Zw-alMUDmD0/S4YcC3UY9pI/AAAAAAAAAIc/tLQdyoqBh98/s1600-h/by%20default%202010-02-25%20at%203.42.54%20PM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="102" src="http://4.bp.blogspot.com/_Zw-alMUDmD0/S4YcC3UY9pI/AAAAAAAAAIc/tLQdyoqBh98/s200/by%20default%202010-02-25%20at%203.42.54%20PM.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
The continue button links to a normal blog at TechCrunch (&lt;a href="http://techcrunch.com/2008/09/16/dont-let-facebook-force-the-new-profile-on-you-heres-how-to-get-the-old-one-back/"&gt;here&lt;/a&gt;). It said;&lt;br /&gt;
&lt;blockquote&gt;
If you really want to keep Facebook the way it was, just add the Facebook Developer application &lt;a href="http://www.facebook.com/apps/application.php?id=2345053339"&gt;here&lt;/a&gt;, and then click on over to facebook via &lt;a href="http://apps.facebook.com/?fbnew_opt_out=1"&gt;this link&lt;/a&gt;. &lt;/blockquote&gt;
That's it. Is this what I wanted? The same as the group description said? Even worse, as far as I tried, the instruction at TechCrunch doesn't work on the current design of Facebook. lol Got few information, but GOT PHISHED email address, name, and address. This is the URL to the group (&lt;a href="http://www.facebook.com/group.php?gid=295581108347"&gt;http://www.facebook.com/group.php?gid=295581108347&lt;/a&gt;). You can see it until Facebook blocks this content. So many people are still trying to get the premium accounts. I reported it to Facebook, but it's not blocked yet, as of the time I'm writing this. Thanks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-4399928194435224344?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BcRxJevqYvHuBSN3RJcolBR0bxM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BcRxJevqYvHuBSN3RJcolBR0bxM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BcRxJevqYvHuBSN3RJcolBR0bxM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BcRxJevqYvHuBSN3RJcolBR0bxM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/ttPgqgNWqbU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/ttPgqgNWqbU/detail-of-facebook-premium-phishing.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_Zw-alMUDmD0/S4YFP0TKiGI/AAAAAAAAAH0/4rwR1wlwuFc/s72-c/1.jpg" height="72" width="72" /><thr:total>5</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2010/02/detail-of-facebook-premium-phishing.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-5008392858320968319</guid><pubDate>Sun, 21 Feb 2010 10:32:00 +0000</pubDate><atom:updated>2012-02-02T19:44:51.498+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">trip</category><category domain="http://www.blogger.com/atom/ns#">japanese</category><category domain="http://www.blogger.com/atom/ns#">Diary</category><category domain="http://www.blogger.com/atom/ns#">teaching</category><title>Teach Japanese in the US in this spring</title><description>&lt;div class="posterous_autopost"&gt;
&lt;div class="separator" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"&gt;
&lt;img border="0" height="166" src="http://4.bp.blogspot.com/-NzUN4tYhH0M/TypmxQ2oD0I/AAAAAAAABN0/EejSV7PrW_o/s200/memphis.png" width="200" /&gt;&lt;/div&gt;
&lt;br /&gt;
This spring, I will teach Japanese at a high school in Memphis, TN. I'm not a qualified teacher but got a chance to support Japanese classes. During my stay there, the school will take spring break for a week. Then I'm going on a road trip to OH, NYC, and DC. &lt;br /&gt;
I will stay there from March 19th until April 6th, and will get back to Tokyo on 7th.&lt;br /&gt;
&lt;iframe frameborder="0" height="350" marginheight="0" marginwidth="0" scrolling="no" src="http://maps.google.com/maps?q=memphis&amp;amp;hl=en&amp;amp;ei=CgOAS5OFDYP0ugPAg9GaCg&amp;amp;sll=35.149534,-90.04898&amp;amp;sspn=0.292209,0.512238&amp;amp;ie=UTF8&amp;amp;view=map&amp;amp;geocode=Fd5WGAIdLPah-g&amp;amp;split=0&amp;amp;ved=0CBgQpQY&amp;amp;hq=&amp;amp;hnear=Memphis,+Shelby,+Tennessee&amp;amp;ll=35.219819,-90.015106&amp;amp;spn=0.475347,0.923538&amp;amp;z=11&amp;amp;iwloc=A&amp;amp;output=embed" width="425"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;small&gt;&lt;a href="http://maps.google.com/maps?q=memphis&amp;amp;hl=en&amp;amp;ei=CgOAS5OFDYP0ugPAg9GaCg&amp;amp;sll=35.149534,-90.04898&amp;amp;sspn=0.292209,0.512238&amp;amp;ie=UTF8&amp;amp;view=map&amp;amp;geocode=Fd5WGAIdLPah-g&amp;amp;split=0&amp;amp;ved=0CBgQpQY&amp;amp;hq=&amp;amp;hnear=Memphis,+Shelby,+Tennessee&amp;amp;ll=35.219819,-90.015106&amp;amp;spn=0.475347,0.923538&amp;amp;z=11&amp;amp;iwloc=A&amp;amp;source=embed" style="color: blue; text-align: left;"&gt;View Larger Map&lt;/a&gt;&lt;/small&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-5008392858320968319?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7dyQ_xccJU9frjO_Ry4o74yS-q8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7dyQ_xccJU9frjO_Ry4o74yS-q8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7dyQ_xccJU9frjO_Ry4o74yS-q8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7dyQ_xccJU9frjO_Ry4o74yS-q8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/xQUBIqoKk1w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/xQUBIqoKk1w/teach-japanese-in-us-in-this-spring.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-NzUN4tYhH0M/TypmxQ2oD0I/AAAAAAAABN0/EejSV7PrW_o/s72-c/memphis.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2012/02/teach-japanese-in-us-in-this-spring.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-3766143802685619543</guid><pubDate>Mon, 15 Feb 2010 09:53:00 +0000</pubDate><atom:updated>2012-02-02T19:45:20.252+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sqlia</category><category domain="http://www.blogger.com/atom/ns#">slide</category><category domain="http://www.blogger.com/atom/ns#">attack</category><category domain="http://www.blogger.com/atom/ns#">security</category><category domain="http://www.blogger.com/atom/ns#">web</category><title>My old presentation about SQL injection</title><description>&lt;div class="posterous_autopost"&gt;
&lt;div class="separator" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"&gt;
&lt;img border="0" height="146" src="http://3.bp.blogspot.com/-gKENw262uSM/TypnO6VX-qI/AAAAAAAABN8/y2j705umcSw/s200/sania.png" width="200" /&gt;&lt;/div&gt;
This is my old presentation that I made for ACSAC 2007 about an SQL injection detection technique. I placed it online simply because I want anyone to use this information more. I'm gonna upload other slides when I come to think they are worthy. Thanks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/yujikosuga/sania-acsac-2007" target="_blank" title="Sania: Syntactic and Semantic Analysis for Automated Testing against SQL Injection - ACSAC 2007"&gt;Sania: Syntactic and Semantic Analysis for Automated Testing against SQL Injection - ACSAC 2007&lt;/a&gt;&lt;/strong&gt;   &lt;object height="355" width="425"&gt;  &lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sania-100119062328-phpapp02&amp;amp;stripped_title=sania-acsac-2007&amp;amp;userName=yujikosuga" /&gt;

  &lt;param name="allowFullScreen" value="true" /&gt;

  &lt;param name="allowScriptAccess" value="always" /&gt;

  &lt;param name="wmode" value="transparent" /&gt;

 &lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sania-100119062328-phpapp02&amp;amp;stripped_title=sania-acsac-2007&amp;amp;userName=yujikosuga" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;  &lt;/object&gt;  &lt;br /&gt;
&lt;div style="padding: 5px 0 12px;"&gt;
View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/yujikosuga" target="_blank"&gt;Yuji Kosuga&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
And this is the paper.&lt;br /&gt;
&lt;div&gt;
&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/yujikosuga/kosuga-sania" target="_blank" title="Sania: Syntactic and Semantic Analysis for Automated Testing against SQL Injection"&gt;Sania: Syntactic and Semantic Analysis for Automated Testing against SQL Injection&lt;/a&gt;&lt;/strong&gt;   &lt;object height="510" width="477"&gt;  &lt;param name="movie" value="http://static.slidesharecdn.com/swf/doc_player.swf?doc=kosuga-sania-111221205648-phpapp01&amp;amp;stripped_title=kosuga-sania&amp;amp;userName=yujikosuga" /&gt;

  &lt;param name="allowFullScreen" value="true" /&gt;

  &lt;param name="allowScriptAccess" value="always" /&gt;

  &lt;param name="wmode" value="transparent" /&gt;

 &lt;embed src="http://static.slidesharecdn.com/swf/doc_player.swf?doc=kosuga-sania-111221205648-phpapp01&amp;amp;stripped_title=kosuga-sania&amp;amp;userName=yujikosuga" type="application/x-shockwave-flash" wmode="transparent" height="510" width="477"&gt;&lt;/embed&gt;  &lt;/object&gt;  &lt;br /&gt;
&lt;div style="padding: 5px 0 12px;"&gt;
View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;documents&lt;/a&gt; from &lt;a href="http://www.slideshare.net/yujikosuga" target="_blank"&gt;Yuji Kosuga&lt;/a&gt;&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/822531405526750445-3766143802685619543?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0OqR1Pgxcdpj-O85ruQdCWpvDms/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0OqR1Pgxcdpj-O85ruQdCWpvDms/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0OqR1Pgxcdpj-O85ruQdCWpvDms/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0OqR1Pgxcdpj-O85ruQdCWpvDms/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/cvuTQ2T0aHc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/cvuTQ2T0aHc/my-old-presentation-about-sql-injection.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-gKENw262uSM/TypnO6VX-qI/AAAAAAAABN8/y2j705umcSw/s72-c/sania.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2012/02/my-old-presentation-about-sql-injection.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-6446939847031784014</guid><pubDate>Fri, 12 Feb 2010 08:06:00 +0000</pubDate><atom:updated>2012-02-02T19:48:04.536+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">wdk</category><category domain="http://www.blogger.com/atom/ns#">rootkit</category><category domain="http://www.blogger.com/atom/ns#">windows</category><title>[WDK] error U1087: cannot have : and :: dependents for same target</title><description>&lt;br /&gt;
&lt;div class="separator" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"&gt;
&lt;img border="0" height="30" src="http://2.bp.blogspot.com/-cV_jpL84CFM/Typp2qC8h1I/AAAAAAAABOc/UEzQ8zpZf_A/s200/errorU1087.png" width="200" /&gt;&lt;/div&gt;
&lt;br /&gt;
The Windows Driver Kit (WDK) does not allow to use a space in the path you use. You'll see an error message such as below if you use a space and execute the &lt;i&gt;build&lt;/i&gt; command.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="gistLoad" data-id="1508599" id="gist-1508599"&gt;
Loading ....&lt;/div&gt;
&lt;br /&gt;
It can also applies to your current path as well as the paths in your MAKEFILE and SOURCES files. I got stucked with this when my project was under "C:\Documents and Settings\"... which contains spaces. Now I moved it under the "C:\", it works fine :D
&lt;script src="https://raw.github.com/moski/gist-Blogger/master/public/gistLoader.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-6446939847031784014?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xOXTEM8iMZWTg5BcAESyHV__Sxs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xOXTEM8iMZWTg5BcAESyHV__Sxs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xOXTEM8iMZWTg5BcAESyHV__Sxs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xOXTEM8iMZWTg5BcAESyHV__Sxs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/tI86_pbk3cA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/tI86_pbk3cA/wdk-error-u1087-cannot-have-and.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-cV_jpL84CFM/Typp2qC8h1I/AAAAAAAABOc/UEzQ8zpZf_A/s72-c/errorU1087.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2010/02/wdk-error-u1087-cannot-have-and.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-4720122853833294423</guid><pubDate>Wed, 03 Feb 2010 08:15:00 +0000</pubDate><atom:updated>2010-02-03T17:30:25.299+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">http</category><category domain="http://www.blogger.com/atom/ns#">rfc</category><category domain="http://www.blogger.com/atom/ns#">web</category><category domain="http://www.blogger.com/atom/ns#">browser</category><title>POST should not be cached</title><description>"POST messages should not be cached." I've heard so before, probably when I had built a web application supporting one-time tokens for secure authentication. In this web application, the token was stored in a hidden field each time user tries to login, and was sent to the web application with the POST method. It really makes sense that the token should not be cached because it should be used only once, and the reason the POST method was used was for not being cached. But at that time I didn't know the reason why POST should not be cashed.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.ietf.org/rfc/rfc2616.txt"&gt;RFC 2616 (HTTP/1.1 protocol)&lt;/a&gt; states this in Section 9.1.2 (Idempotent Methods). &lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;Methods can also have the property of "idempotence" in that (aside from error or expiration issues) the side-effects of N &gt; 0 identical requests is the same as for a single request. The methods GET, HEAD, PUT and DELETE share this property. Also, the methods OPTIONS and TRACE SHOULD NOT have side effects, and so are inherently idempotent. &lt;/blockquote&gt;&lt;br /&gt;
POST method is not stated here, which means it is not recommended to be idempotent. And the document continues as follows.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;However, it is possible that a sequence of several requests is non- idempotent, even if all of the methods executed in that sequence are idempotent. (A sequence is idempotent if a single execution of the entire sequence always yields a result that is not changed by a reexecution of all, or part, of that sequence.) For example, a sequence is non-idempotent if its result depends on a value that is later modified in the same sequence.&lt;/blockquote&gt;&lt;br /&gt;
Idempotence, in this case, seems to mean persistency. Section 13.10 (Invalidation After Updates or Deletions) clearly states that POST should not be cached.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;Some HTTP methods MUST cause a cache to invalidate an entity. This is either the entity referred to by the Request-URI, or by the Location or Content-Location headers (if present). These methods are:&lt;br /&gt;
&lt;pre&gt;      - PUT
      - DELETE
      - POST
&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-4720122853833294423?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WJkHn2B1ZnF7EYwWniuKxVXJrj4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WJkHn2B1ZnF7EYwWniuKxVXJrj4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WJkHn2B1ZnF7EYwWniuKxVXJrj4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WJkHn2B1ZnF7EYwWniuKxVXJrj4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/5P8Zk4Oc-eY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/5P8Zk4Oc-eY/post-should-not-be-cached.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2010/02/post-should-not-be-cached.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-7664529064990180309</guid><pubDate>Mon, 01 Feb 2010 14:44:00 +0000</pubDate><atom:updated>2012-02-02T19:46:53.567+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">disassembly</category><category domain="http://www.blogger.com/atom/ns#">binary</category><category domain="http://www.blogger.com/atom/ns#">programming</category><category domain="http://www.blogger.com/atom/ns#">mac</category><category domain="http://www.blogger.com/atom/ns#">assembly</category><title>otool: objdump provided for Mac</title><description>&lt;br /&gt;
&lt;div class="separator" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"&gt;
&lt;img border="0" height="189" src="http://3.bp.blogspot.com/-27i7QHPO-6M/TyppkrrdsOI/AAAAAAAABOU/wVeRO8bPDPs/s200/otool.png" width="200" /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;objdump&lt;/b&gt; is a program from &lt;a href="http://www.gnu.org/software/binutils/"&gt;GNU binutils&lt;/a&gt;, which displays information from binary object files and is often used to examine compiled binaries. I had often used it on my Linux around 5 years ago for disassembly, with the "-d" flag, but haven't used it since then because of the change of my interest on security. &lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
Disassembly with "-d" option:&lt;br /&gt;
$ objdump -d a.out&lt;/blockquote&gt;
&lt;br /&gt;
Today I came to need to see the disassembled code of a binary file on my Mac, then I found Mac OS X doesn't have the objdump command. Instead, we can use the &lt;b&gt;otool&lt;/b&gt; command, like the following;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
Disassembly with "-tv" option:&lt;br /&gt;
$ otool -tv a.out&lt;/blockquote&gt;
&lt;br /&gt;
otool also seems to have &lt;b&gt;ldd&lt;/b&gt; functionality, with "-L" command.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
Print shared libraries used with "-L" option:&lt;br /&gt;
$ otool -L a.out&lt;/blockquote&gt;
&lt;br /&gt;
And this is the snippet of the help of the otool.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="gistLoad" data-id="1508560" id="gist-1508560"&gt;
&lt;blockquote&gt;
&lt;pre&gt;otool: at least one file must be specified
Usage: otool [-fahlLDtdorSTMRIHvVcXm] &amp;lt;object file&amp;gt; ...
 -f print the fat headers
 -a print the archive header
 -h print the mach header
 -l print the load commands
 -L print shared libraries used
 -D print shared library id name
 -t print the text section (disassemble with -v)
 -p &amp;lt;routine name&amp;gt;  start dissassemble from routine name
 -s &amp;lt;segname&amp;gt; &amp;lt;sectname&amp;gt; print contents of section
 -d print the data section
 -o print the Objective-C segment
 -r print the relocation entries
 -S print the table of contents of a library
 -T print the table of contents of a dynamic shared library
 -M print the module table of a dynamic shared library
 -R print the reference table of a dynamic shared library
 -I print the indirect symbol table
 -H print the two-level hints table
 -v print verbosely (symbolicly) when possible
 -V print disassembled operands symbolicly
 -c print argument strings of a core file
 -X print no leading addresses or headers
 -m don't use archive(member) syntax
 -B force Thumb disassembly (ARM objects only)&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;br /&gt;
For more information, see the manpage of otool.

&lt;script src="https://raw.github.com/moski/gist-Blogger/master/public/gistLoader.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-7664529064990180309?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yyF4Ux86jVu6hE_qdXH0CEH4yKw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yyF4Ux86jVu6hE_qdXH0CEH4yKw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yyF4Ux86jVu6hE_qdXH0CEH4yKw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yyF4Ux86jVu6hE_qdXH0CEH4yKw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/ksZkljHP6C8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/ksZkljHP6C8/otool-objdump-provided-for-mac.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-27i7QHPO-6M/TyppkrrdsOI/AAAAAAAABOU/wVeRO8bPDPs/s72-c/otool.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2010/02/otool-objdump-provided-for-mac.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-1492946048617184419</guid><pubDate>Sat, 16 Jan 2010 10:11:00 +0000</pubDate><atom:updated>2010-02-03T15:23:04.706+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tex</category><title>Letter-size document with special command in TeX</title><description>This is just my personal note about TeX setting for creating a letter-size document. This is the command.&lt;br /&gt;
&lt;blockquote&gt;&lt;span style="color: red;"&gt;%% This line indicates US LETTER SIZE&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red;"&gt;\special{pdf: pagesize width 8.5truein height 11.0truein}&lt;/span&gt;&lt;br /&gt;
&lt;/blockquote&gt;If you are an average TeX user, you don't know what this&amp;nbsp;&lt;i&gt;special&lt;/i&gt;&amp;nbsp;command is. Me neither. I'm also not going to know more about this command, since it seems to be still useless for me except for the time when I write a letter-size paper.&lt;br /&gt;
&lt;br /&gt;
But if you are a TeX user, you could think of the use of the setting at&amp;nbsp;the head of your document. Yes, it is a&amp;nbsp;&lt;i&gt;documentclass&lt;/i&gt;&amp;nbsp;declaration. With this, you can specify the size of a document like this.&lt;br /&gt;
&lt;blockquote&gt;\documentclass[12pt,&lt;span style="color: red;"&gt;letter&lt;/span&gt;,twoside]{article}&lt;br /&gt;
&lt;/blockquote&gt;Of course, it works. But the reason I wrote this article is because I couldn't use this in my document, in which I have to use the class file the conference specified. The file was named &lt;i&gt;conference-submission.cls&lt;/i&gt;. Then, I put it into the document class of my TeX file like this.&lt;br /&gt;
&lt;blockquote&gt;\documentclass{conference-submission}&lt;br /&gt;
&lt;/blockquote&gt;With only this declaration, an A4 paper was generated. So I tried the following command wishing it would be in letter size.&lt;br /&gt;
&lt;blockquote&gt;\documentclass[&lt;span style="color: red;"&gt;letter&lt;/span&gt;]{conference-submission}&lt;br /&gt;
&lt;/blockquote&gt;It didn't work. Ugh... But you know why the command that I suggested first is useful. Yes, it works :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-1492946048617184419?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/N69nwuGNAQRHl4GnV2I08rkY9z0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N69nwuGNAQRHl4GnV2I08rkY9z0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/N69nwuGNAQRHl4GnV2I08rkY9z0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N69nwuGNAQRHl4GnV2I08rkY9z0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/8R-26UrXDTc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/8R-26UrXDTc/letter-size-document-with-special.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2010/01/letter-size-document-with-special.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-1183418718320474718</guid><pubDate>Fri, 04 Dec 2009 22:48:00 +0000</pubDate><atom:updated>2012-02-02T19:41:45.508+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">java</category><category domain="http://www.blogger.com/atom/ns#">programming</category><title>Extract child jar files inside of a jar file (which is often a self-contained executable jar file)</title><description>&lt;br /&gt;
&lt;div class="separator" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"&gt;
&lt;img border="0" height="133" src="http://1.bp.blogspot.com/-eV-pSvjYFs4/TypoOcxLzII/AAAAAAAABOM/5NgSHdP7fbU/s200/jar_+extract.png" width="200" /&gt;&lt;/div&gt;
&lt;br /&gt;
Today I wanted to know how I can extract child jar files from the parent jar file in Java, and worked on it. Suppose &lt;span style="color: red; font-weight: bold;"&gt;a.jar&lt;/span&gt; is the parent jar file that contains a child jar file &lt;span style="color: #3333ff; font-weight: bold;"&gt;b.jar&lt;/span&gt; inside of &lt;span style="font-weight: bold;"&gt;lib&lt;/span&gt; directory.&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;./ (base dir)
   L &lt;span style="color: red; font-weight: bold;"&gt;a.jar&lt;/span&gt; (parent)      
      L MANIFEST.MF      
      L a.class      
      L lib      
         L &lt;span style="color: #3333ff; font-weight: bold;"&gt;b.jar&lt;/span&gt; (child)      
            L MANIFEST.MF      
            L b.class   &lt;/pre&gt;
&lt;/blockquote&gt;
You can create this file by the following commands.&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;$ mkdir test      
$ cd test      
$ touch a.class b.class      

$ jar cvf b.jar b.class      
$ mkdir lib      
$ mv &lt;span style="color: #3333ff; font-weight: bold;"&gt;b.jar&lt;/span&gt; ./lib/      
$ jar cvf &lt;span style="color: red; font-weight: bold;"&gt;a.jar&lt;/span&gt; a.class lib &lt;/pre&gt;
&lt;/blockquote&gt;
Then, I wanted to extract &lt;span style="color: #3333ff; font-weight: bold;"&gt;b.jar&lt;/span&gt;    to the specified directory, named as &lt;span style="font-weight: bold;"&gt;extracted&lt;/span&gt;    in this example, with its default directory structure &lt;span style="font-weight: bold;"&gt;lib&lt;/span&gt;   .&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;./ (base dir)
   L &lt;span style="color: red; font-weight: bold;"&gt;a.jar&lt;/span&gt; (parent)      
   L extracted (newly created dir)      
      L lib      
         L &lt;span style="color: #3333ff; font-weight: bold;"&gt;b.jar&lt;/span&gt; (child)   
&lt;/pre&gt;
&lt;/blockquote&gt;
The following Java program realizes this.&lt;br /&gt;
&lt;div class="gistLoad" data-id="1506106" id="gist-1506106"&gt;
Loading ....&lt;/div&gt;
&lt;script src="https://raw.github.com/moski/gist-Blogger/master/public/gistLoader.js" type="text/javascript"&gt;
&lt;/script&gt;
view rawindex.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-1183418718320474718?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/x2NcfdbmLwazIG5cw7wE5x-uLv8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/x2NcfdbmLwazIG5cw7wE5x-uLv8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/x2NcfdbmLwazIG5cw7wE5x-uLv8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/x2NcfdbmLwazIG5cw7wE5x-uLv8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/bw9TUMJvkRw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/bw9TUMJvkRw/extract-child-jar-files-inside-of-jar.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-eV-pSvjYFs4/TypoOcxLzII/AAAAAAAABOM/5NgSHdP7fbU/s72-c/jar_+extract.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2012/02/extract-child-jar-files-inside-of-jar.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-822531405526750445.post-1231378376348283535</guid><pubDate>Wed, 02 Dec 2009 09:14:00 +0000</pubDate><atom:updated>2012-02-02T19:45:55.851+09:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Software</category><category domain="http://www.blogger.com/atom/ns#">programming</category><category domain="http://www.blogger.com/atom/ns#">maven</category><title>Solution: InvalidArtifactRTException is thrown in maven-assembly-plugin</title><description>&lt;br /&gt;
&lt;div class="separator" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"&gt;
&lt;img border="0" height="151" src="http://3.bp.blogspot.com/-eqkGX2NQyyg/TypnwLvN0wI/AAAAAAAABOE/-Bs5JX60AzE/s200/InvalidArtifactRTException.png" width="200" /&gt;&lt;/div&gt;
&lt;br /&gt;
Recently I've been working on porting a software developed on&amp;nbsp;&lt;a href="http://maven.apache.org/index.html"&gt;Apache Maven&lt;/a&gt;, which is a project management system&amp;nbsp;widely used by many open-source software projects. Maven helps you to reduce a bunch of tedious management tasks in the development phase of your software, so you can concentrate on your code.&lt;br /&gt;
&lt;br /&gt;
Especially, the &lt;span style="font-weight: bold;"&gt;jar-with-dependencies&lt;/span&gt; assembly in &lt;a href="http://maven.apache.org/plugins/maven-assembly-plugin/" style="font-weight: bold;"&gt;maven-assembly-plugin&lt;/a&gt; is useful to relieve the burden of your software development tasks in including all the dependencies into a single jar file. It creates two files by default; a default jar with no dependencies and another jar with all the dependencies. The second file has&amp;nbsp;'jar-with-dependencies' as its name before its suffix. You can turn it off by setting the &lt;strong style="font-weight: bold;"&gt;appendAssemblyId&lt;/strong&gt; option to false. At this point, the &lt;span style="font-weight: bold;"&gt;maven-assembly-plugin&lt;/span&gt; section in my pom file looked like the 1st snippet below.&lt;br /&gt;
&lt;br /&gt;
In my case, the exception shown in the 2nd snippet below was thrown when I executed &lt;span style="font-weight: bold;"&gt;mvn package&lt;/span&gt; command.&lt;br /&gt;
&lt;br /&gt;
The solution is clearly specifying the version number of the plugin. As of time I'm writing this, version  2.2-beta-4 is the latest. Then, the section of this plugin became like the last snippet below.&lt;br /&gt;
&lt;br /&gt;
Good luck!!

&lt;br /&gt;
&lt;div class="gistLoad" data-id="1508485" id="gist-1508485"&gt;
Loading ....&lt;/div&gt;
&lt;script src="https://raw.github.com/moski/gist-Blogger/master/public/gistLoader.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/822531405526750445-1231378376348283535?l=blog.yujikosuga.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wfn6CsVLWSkGqvqOJtH4WtFVShk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wfn6CsVLWSkGqvqOJtH4WtFVShk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wfn6CsVLWSkGqvqOJtH4WtFVShk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wfn6CsVLWSkGqvqOJtH4WtFVShk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/YujiKosugasBlog/~4/E0LkzBzVb4Q" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YujiKosugasBlog/~3/E0LkzBzVb4Q/solution-invalidartifactrtexception-is.html</link><author>noreply@blogger.com (Yuji Kosuga)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-eqkGX2NQyyg/TypnwLvN0wI/AAAAAAAABOE/-Bs5JX60AzE/s72-c/InvalidArtifactRTException.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.yujikosuga.com/2012/02/solution-invalidartifactrtexception-is.html</feedburner:origLink></item></channel></rss>

