<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
<title><![CDATA[alert7 blog]]></title>
        <image>
        <title>http://hi.baidu.com</title>
        <link>http://hi.baidu.com</link>
        <url>http://img.baidu.com/img/logo-hi.gif</url>
        </image>
<description><![CDATA[vulnerability researcher;vulnerability discoverer;exploit writer;virus writer;fisher;attacker; which one are u belong to?]]></description>
<link>http://hi.baidu.com/weiwang%5Fblog</link>
<language>zh-cn</language>
<generator>www.baidu.com</generator>
<ttl>5</ttl>


<item>
        <title><![CDATA[2009北京的第一场雪]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/a11fb8b37cddcaadd8335a36.html]]></link>
        <description><![CDATA[
		
		2009北京的第一场雪,来得真是很及时阿....<br>
<br>
<br>
我已经被困在南京机场10个小时了<br>
<br>
在南京机场上了趟飞机又下了趟飞机...<br>
<br>
不知道是否还要体验下机场住宿,明天是否能够到达北京..<br>
<br>
update: 终于在凌晨1点到了北京. 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/a11fb8b37cddcaadd8335a36.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-01  19:58</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/a11fb8b37cddcaadd8335a36.html</guid>
</item>

<item>
        <title><![CDATA[NEVER USE syslog FUNCTION in signal handler]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/33ba86adbfc565034b36d6e7.html]]></link>
        <description><![CDATA[
		
		更准备的说应该是:不要在signal handler里调用不是thread-safe 函数<br>
<br>
在openssh CVE-2006-5051里,syslog正好是这样一个not thread-safe函数.<br>
<br>
还记得几年前有个sendmail的漏洞,那个漏洞的告诉我们:<br>
不要在signal handler里使用static变量. 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/Tips">Tips</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/33ba86adbfc565034b36d6e7.html#comment">查看评论</a>]]></description>
        <pubDate>2009-09-18  10:52</pubDate>
        <category><![CDATA[Tips]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/33ba86adbfc565034b36d6e7.html</guid>
</item>

<item>
        <title><![CDATA[[updated]Nginx ngx_http_parse_complex_uri() buffer underflow vulnerability]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/894e8df35b5ef95a342acc56.html]]></link>
        <description><![CDATA[
		
		<font color="#ff0000">[UPDATED 2009-9-17]</font><br>
感谢热心的朋友,现在已经能触发了.<br>
默认情况就可以触发这个heap overflow. 所以这个危险还是很大的.<br>
<br>
///////////////<br>
看来挺严重的,http://www.kb.cert.org/vuls/id/180065<br>
研究了一小时暂时没能触发这个漏洞,先放着, 看看哪位大虾能把它触发了,或者证明构造的畸形数据触发不到那个地方?&#160; 我暂时没能构造出数据到达那个地方.<br>
<br>
补丁看起来比较简单,heap overflow<br>
<pre>Index: src/http/ngx_http_parse.c<br>===================================================================<br>--- src/http/ngx_http_parse.c (revision 2410)<br>+++ src/http/ngx_http_parse.c (revision 2411)<br>@@ -1134,11 +1134,15 @@<br> #endif<br>             case '/':<br>                 state = sw_slash;<br>-                u -= 4;<br>-                if (u &lt; r-&gt;uri.data) {<br>-                    return NGX_HTTP_PARSE_INVALID_REQUEST;<br>-                }<br>-                while (*(u - 1) != '/') {<br>+                u -= 5;<br>+                for ( ;; ) {<br>+                    if (u &lt; r-&gt;uri.data) {<br>+                        return NGX_HTTP_PARSE_INVALID_REQUEST;<br>+                    }<br>+                    if (*u == '/') {<br>+                        u++;<br>+                        break;<br>+                    }<br>                     u--;<br>                 }<br>                 break;</pre> <a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/894e8df35b5ef95a342acc56.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/%BC%BC%CA%F5%CC%D6%C2%DB">技术讨论</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/894e8df35b5ef95a342acc56.html#comment">查看评论</a>]]></description>
        <pubDate>2009-09-17  12:04</pubDate>
        <category><![CDATA[技术讨论]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/894e8df35b5ef95a342acc56.html</guid>
</item>

<item>
        <title><![CDATA[[fw]Heap Spraying with Actionscript]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/498810efe2f6e81ffcfa3c21.html]]></link>
        <description><![CDATA[
		
		不错的技术文档<br>
<br>
http://blog.fireeye.com/research/2009/07/actionscript_heap_spray.html<br>
<br>
<h3 class="entry-header">Heap Spraying with Actionscript</h3>
<div class="entry-body">
<h2>Why turning off Javascript won't help this time</h2>
<p><a name="Introduction" >
<h3>Introduction</h3>
</a></p>
<p>As you may have heard, there's a new Adobe PDF-or-Flash-or-something 0-day in the wild. So this is a quick note about how it's implemented, but <strong>this blog post is not going to cover any details about the exploit itself</strong>.</p>
<p><a name="Background" >
<h3>Background Summary</h3>
</a></p>
<p>Most of the Acrobat exploits over the last several months use the, now common, <a href="http://www.google.com/search?q=heap+spraying">heap spraying technique</a>, implemented in <a href="http://en.wikipedia.org/wiki/ ">Javascript</a>/<a href="http://en.wikipedia.org/wiki/ECMAScript">ECMAscript</a>, a  <a href="http://en.wikipedia.org/wiki/Turing_completeness">Turing complete</a>  language that Adobe thought would go well with static documents. (Cause that <a href="http://catless.ncl.ac.uk/Risks/10.35.html#subj7.1">went so well</a>  for <a href="http://en.wikipedia.org/wiki/PostScript">Postscript</a>)  (Ironically, PDF has now come full circle back to having the <a href="http://www.physics.uq.edu.au/people/foster/postscript.html">features of Postscript</a> that it was <a href="http://en.wikipedia.org/wiki/Portable_Document_Format#PostScript"> trying to get away from</a>.)  The exploit could be made far far <em>less</em> reliable, by  <a href="http://blogs.adobe.com/psirt/2009/04/update_on_adobe_reader_issue.html">disabling Javascript in your Adobe Acrobat Reader</a>.</p>
<p>But apparently there's no easy way to disable Flash through the UI. <a href="http://www.us-cert.gov/current/index.html#adobe_reader_acrobat_and_flash">US-CERT</a> recommends renaming the  <q><samp>%ProgramFiles%\Adobe\Reader 9.0\Reader\authplay.dll</samp></q> and <q><samp>%ProgramFiles%\Adobe\Reader 9.0\Reader\rt3d.dll</samp></q> files. [Edit: Actually the source for this advice is the <a href="http://blogs.adobe.com/psirt/2009/07/update_on_adobe_reader_acrobat.html">Adobe Product Security Incident Response Team (PSIRT)</a>.]</p>
<p>Anyway, here's why… Flash has it's own version of ECMAScript called <a href="http://en.wikipedia.org/wiki/ActionScript">Actionscript</a>, and whoever wrote this new 0-day, finally did something new by implementing the heap-spray routine with Actionscript inside of Flash.</p>
<p> </p>
</div>
<p><a name="Details" >
<h3>Details</h3>
</a></p>
<p>Actionscript is tokenized/compiled into an instruction set for an <q>Actionscript Virtual Machine</q> [AVM<a href="http://blog.fireeye.com/research/2009/07/actionscript_heap_spray.html#Footnote1">&#185;</a>] and it retains much of the same shape in bytecode form, as the original Actionscript source. This makes it fairly easy to de-compile the byte code back into something easier to read. For example: <small>[Original flash filename replaced with xxxxx here]</small></p>
<blockquote>
<pre><code><br>     constructor * &lt;q&gt;[public]xxxxx_fla::MainTimeline=()(0 params, 0 optional)<br>     [stack:3 locals:1 scope:10-11 flags:]<br>     {<br>         00000) + 0:0 getlocal_0<br>         00001) + 1:0 pushscope<br>         00002) + 0:1 getlocal_0<br>         00003) + 1:1 constructsuper 0 params<br>         00004) + 0:1 findpropstrict &lt;q&gt;[public]::addFrameScript<br>         00005) + 1:1 pushbyte 0<br>         00006) + 2:1 getlex &lt;q&gt;[packageinternal]xxxxx_fla::frame1<br>         00007) + 3:1 callpropvoid &lt;q&gt;[public]::addFrameScript, 2 params<br>         00008) + 0:1 returnvoid<br>     }</code></pre>
</blockquote>
<p>This may be incorrect, because I'm using only the fantastic power of my own brain to decompile this, but this is approximately what it says in English, er I mean Actionscript:</p>
<blockquote>
<pre><code>var whatever:MovieClip = new MovieClip();<br>     whatever:addframeScript(0, frame1);<br></code></pre>
</blockquote>
<p>And then <code>frame1</code> [see <a href="http://blog.fireeye.com/research/2009/07/actionscript_heap_spray.html#Appendix">Appendix</a>] is vaguely like this:</p>
<blockquote>
<pre><code>function frame1():void {<br>    var a:String = &quot;\13\13\13\13&quot;;<br>    var b:String = &quot;\0c\0c\0c\0c&quot;; // A heap address, and effectively x86 NOPs<br>    while ( b.length &lt; 0x1000000 ) {<br>       b = b + a;<br>    }<br>    // This brings us to instruction line 18 (see below)<br>    var byteArr:ByteArray = new ByteArray(); // lines 19 thru 22<br>    byteArr.writeByte(0x40); // lines 23 thru 34<br>    byteArr.writeByte(0x40);<br>    byteArr.writeByte(0x40);<br>    byteArr.writeByte(0x40);<br><br>    // lines 36 thru 46     <br>    while (byteArr.length &lt; 64 * 0x100000) {<br>       byteArr.writeMultiByte(b, &quot;iso-8859-1&quot;);<br>    }<br><br>    // line 47 onwards<br>    byteArr.writeByte(0x90); // NOP<br>    byteArr.writeByte(0x90); // NOP<br>    byteArr.writeByte(0x90); // NOP<br>    byteArr.writeByte(0x90); // NOP<br>    byteArr.writeByte(0x81); // 81EC 20010000 → SUB ESP,0x120<br>    byteArr.writeByte(0xEC);<br>    byteArr.writeByte(0x20);<br>    byteArr.writeByte(0x01);<br>    byteArr.writeByte(0x00);<br>    byteArr.writeByte(0x00);<br>    // etc. etc. etc. building up the shellcode one byte at a time<br>}</code></pre>
</blockquote>
<p><a name="Appendix" >
<h3>Appendix</h3>
</a></p>
<p>This is the output from the excellent <a href="http://www.swftools.org/">SWFTools</a>.</p>
<blockquote>
<pre><code><br>     slot 0: var &lt;q&gt;[public]::a:NULL<br>     slot 0: var &lt;q&gt;[public]::byteArr:&lt;q&gt;[public]flash.utils::ByteArray<br>     slot 0: var &lt;q&gt;[public]::b:NULL<br>      method * &lt;q&gt;[packageinternal]xxxxx_fla::frame1=()(0 params, 0 optional)<br>     [stack:3 locals:1 scope:10-11 flags:] slot:0<br>     {<br>         00000) + 0:0 getlocal_0<br>         00001) + 1:0 pushscope<br>         00002) + 0:1 findproperty &lt;q&gt;[public]::b<br>         00003) + 1:1 pushstring &quot;\0c\0c\0c\0c&quot;<br>         00004) + 2:1 initproperty &lt;q&gt;[public]::b<br>         00005) + 0:1 findproperty &lt;q&gt;[public]::a<br>         00006) + 1:1 pushstring &quot;\13\13\13\13&quot;<br>         00007) + 2:1 initproperty &lt;q&gt;[public]::a<br>         00008) + 0:1 jump -&gt;15<br><br>         00009) + 0:1 label<br>         00010) + 0:1 findproperty &lt;q&gt;[public]::b<br>         00011) + 1:1 getlex &lt;q&gt;[public]::b<br>         00012) + 2:1 getlex &lt;q&gt;[public]::a<br>         00013) + 3:1 add<br>         00014) + 2:1 initproperty &lt;q&gt;[public]::b<br><br>         00015) + 0:1 getlex &lt;q&gt;[public]::b<br>         00016) + 1:1 getproperty &lt;multi&gt;{<br>                      [private]NULL,[public]&quot;&quot;,<br>                      [private]NULL,[public]xxxxx_fla,<br>                      [packageinternal]xxxxx_fla,<br>                      [namespace]http://adobe.com/AS3/2006/builtin,<br>                      [public]adobe.utils,<br>                      [public]flash.accessibility,<br>                      [public]flash.display,<br>                      [public]flash.errors,<br>                      [public]flash.events,<br>                      [public]flash.external,<br>                      [public]flash.filters,<br>                      [public]flash.geom,<br>                      [public]flash.media,<br>                      [public]flash.net,<br>                      [public]flash.printing,<br>                      [public]flash.system,<br>                      [public]flash.text,<br>                      [public]flash.ui,<br>                      [public]flash.utils,<br>                      [public]flash.xml,<br>                      [protected]xxxxx_fla:MainTimeline,<br>                      [staticprotected]xxxxx_fla:MainTimeline,<br>                      [staticprotected]flash.display:MovieClip,<br>                      [staticprotected]flash.display:Sprite,<br>                      [staticprotected]flash.display:DisplayObjectContainer,<br>                      [staticprotected]flash.display:InteractiveObject,<br>                      [staticprotected]flash.display:DisplayObject,<br>                      [staticprotected]flash.events:EventDispatcher,<br>                      [staticprotected]Object<br>                      }::length<br><br>         00017) + 1:1 pushint 1048576<br>         00018) + 2:1 iflt -&gt;9<br><br>         00019) + 0:1 findproperty &lt;q&gt;[public]::byteArr<br>         00020) + 1:1 findpropstrict &lt;q&gt;[public]flash.utils::ByteArray<br>         00021) + 2:1 constructprop &lt;q&gt;[public]flash.utils::ByteArray, 0 params<br>         00022) + 2:1 initproperty &lt;q&gt;[public]::byteArr<br> <br>         00023) + 0:1 getlex &lt;q&gt;[public]::byteArr<br>         00024) + 1:1 pushbyte 64<br>         00025) + 2:1 callpropvoid &lt;q&gt;[public]::writeByte, 1 params<br>         00026) + 0:1 getlex &lt;q&gt;[public]::byteArr<br>         00027) + 1:1 pushbyte 64<br>         00028) + 2:1 callpropvoid &lt;q&gt;[public]::writeByte, 1 params<br>         00029) + 0:1 getlex &lt;q&gt;[public]::byteArr<br>         00030) + 1:1 pushbyte 64<br>         00031) + 2:1 callpropvoid &lt;q&gt;[public]::writeByte, 1 params<br>         00032) + 0:1 getlex &lt;q&gt;[public]::byteArr<br>         00033) + 1:1 pushbyte 64<br>         00034) + 2:1 callpropvoid &lt;q&gt;[public]::writeByte, 1 params<br>         00035) + 0:1 jump -&gt;41<br><br>         00036) + 0:1 label<br>         00037) + 0:1 getlex &lt;q&gt;[public]::byteArr<br>         00038) + 1:1 getlex &lt;q&gt;[public]::b<br>         00039) + 2:1 pushstring &quot;iso-8859-1&quot;<br>         00040) + 3:1 callpropvoid &lt;q&gt;[public]::writeMultiByte, 2 params<br>         00041) + 0:1 getlex &lt;q&gt;[public]::byteArr<br>         00042) + 1:1 getproperty &lt;q&gt;[public]::length<br>         00043) + 1:1 pushint 1048576<br>         00044) + 2:1 pushbyte 64<br>         00045) + 3:1 multiply<br>         00046) + 2:1 iflt -&gt;36<br><br>         00047) + 0:1 getlex &lt;q&gt;[public]::byteArr<br>         00048) + 1:1 pushshort 144<br>         00049) + 2:1 callpropvoid &lt;q&gt;[public]::writeByte, 1 params<br>         00050) + 0:1 getlex &lt;q&gt;[public]::byteArr<br>         00051) + 1:1 pushshort 144<br>         00052) + 2:1 callpropvoid &lt;q&gt;[public]::writeByte, 1 params<br>         00053) + 0:1 getlex &lt;q&gt;[public]::byteArr<br>         00054) + 1:1 pushshort 144<br>         00055) + 2:1 callpropvoid &lt;q&gt;[public]::writeByte, 1 params<br>         00056) + 0:1 getlex &lt;q&gt;[public]::byteArr<br>         00057) + 1:1 pushshort 144<br>         00058) + 2:1 callpropvoid &lt;q&gt;[public]::writeByte, 1 params<br>         00059) + 0:1 getlex &lt;q&gt;[public]::byteArr<br>         00060) + 1:1 pushshort 144<br>         […]<br></code></pre>
</blockquote>
<p>And as Bojan Zdrnja at <a href="http://isc.sans.org/diary.html?storyid=6847">ISC</a> points out, there are two different shellcode payloads being used. I might write something more about these tomorrow (no promises). Most of the changed lines in this diff, are just jump offsets, which are different between the two, as there was some code added/deleted between them, and I haven't normalized this yet.</p>
<p>。。。。。</p>
<p>由于baidu blog字数限制，下面省略了</p> <a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/498810efe2f6e81ffcfa3c21.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/%CB%FB%C9%BD%D6%AE%D3%F1">他山之玉</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/498810efe2f6e81ffcfa3c21.html#comment">查看评论</a>]]></description>
        <pubDate>2009-07-25  11:54</pubDate>
        <category><![CDATA[他山之玉]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/498810efe2f6e81ffcfa3c21.html</guid>
</item>

<item>
        <title><![CDATA[pdf/flash 0day 爆发]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/74781baf3214ccc57dd92a45.html]]></link>
        <description><![CDATA[
		
		各单位做好防暑降温准备　．<br>
<br>
<a href="http://blogs.adobe.com/psirt/2009/07/update_on_adobe_reader_acrobat.html" target="_blank">http://blogs.adobe.com/psirt/2009/07/update_on_adobe_reader_acrobat.html</a><br>
<br>
谁的?<br>
<br>
<br>
<a href="http://www.avertlabs.com/research/blog/index.php/2009/07/22/new-0-day-attacks-using-pdf-documents/" target="_blank">http://www.avertlabs.com/research/blog/index.php/2009/07/22/new-0-day-attacks-using-pdf-documents/</a><br>
<br>
<div class="post-details">
<h2 class="post-title">New 0-Day Attacks Using PDF Documents</h2>
<p class="post-date">Wednesday July 22, 2009 at 7:47 pm CST<br>
Posted by <strong>Vitaly Zaytsev</strong></p>
<p class="post-comments"><br>
<a class="permalink" rel="trackback" href="http://www.avertlabs.com/research/blog/index.php/2009/07/22/new-0-day-attacks-using-pdf-documents/trackback/">Trackback</a></p>
</div>
<p>As we already mentioned <a href="http://www.avertlabs.com/research/blog/index.php/2009/02/19/new-backdoor-attacks-using-pdf-documents">multiple times in the past</a>, exploits that takes advantage of a newly discovered holes in popular applications represent a growing threat to Internet users. Many, if not most, computer systems are vulnerable to these attacks. More evidence are showing 0-day attacks remain the preferred choice of cyber criminals.</p>
<p>Today, a new unpatched Adobe vulnerability has been discovered in the wild that takes advantage of a newly added feature to add interactive Flash (SWF) content into PDF files. This bug was found to affect at least Adobe Reader and Acrobat 9.1.2 , as well as Adobe Flash Player 9 or newer.</p>
<p>In our investigation of the issue, we found that Acrobat 9 introduced a new <em>&ldquo;Rich Media&rdquo; </em>annotation type, which uses Acrobat&rsquo;s built-in Flash Player to play SWF content. In the current attack, specially crafted FWS files were embedded into PDF documents, that can cause Adobe Reader to execute arbitrary code upon viewing. When successful, shellcode in the exploit is executed by Adobe Reader. The picture below depicts how the shellcode works and what it does:</p>
<p><img alt="Shellcode created by FWS" src="http://vil.nai.com/images/AvertBlog_PDF_2009.jpg"></p>
<p>It first gets <em>KERNEL32.dl</em> image base using the Windows <em>PEB</em> structure, sets up the required Windows <em>APIs</em>, the decrypts and executes its malware payload. This specific malicious PDF file contains 3 embedded executables encoded using a simple 1-byte XOR key. When run, it drops a file called <em>SUCHOST.EXE</em>, sends the information gathered from the infected machine to a free host redirection services based in China:</p>
<ul>
    <li>[blocked].3322.org</li>
    <li>[blocked].2288.org.</li>
</ul>
<p>The victim is then redirected to other malicious IP address(es). This malware acts as a backdoor to allow remote access to the infected computer.</p>
<p>According to Adobe, the <em>&ldquo;Rich Media&rdquo; </em>annotation is new to Acrobat 9.x and will not be understood by PDF document viewers that can only support up to Acrobat 8 specifications. Thus, if you place the SWF file with Acrobat 9 into the PDF files, it is not readable by Acrobat or Adobe Reader 8 and older versions, and will not vulnerable to this attack.</p>
<p>While details of this vulnerability are not yet made public, more attackers are likely to take advantage of this critical as in past incidents. For McAfee customers, both the PDF and its associated payload can be proactively detected as &ldquo;Exploit-PDF.t&rdquo; since the 5683 DATs (July 21st, 2009).</p>
<p>Even though anti-malware vendors continue to add detection for new 0-day threats, there are several things which you can do to mitigate such risks. Users are advised to refrain from opening attachments from untrusted sources and visiting untrustworthy web sites.</p>
<p>This bug is currently being investigated by the <a href="http://blogs.adobe.com/psirt/2009/07/potential_adobe_reader_and_fla.html">Adobe Product Security Incident Response Team</a>.</p>
<p><em>(Thanks to Abhishek Karnik and Aditya Kapoor for helping to analyze the malware.)</em></p> <a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/74781baf3214ccc57dd92a45.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/%D0%C2%CE%C5%B6%AF%CC%AC">新闻动态</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/74781baf3214ccc57dd92a45.html#comment">查看评论</a>]]></description>
        <pubDate>2009-07-23  11:05</pubDate>
        <category><![CDATA[新闻动态]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/74781baf3214ccc57dd92a45.html</guid>
</item>

<item>
        <title><![CDATA[来势汹汹的Linux Kernel tun_char_poll NULL Pointer Dereference 0day]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/ea2c3235defc861890ef391d.html]]></link>
        <description><![CDATA[
		
		http://www.milw0rm.com/exploits/9191<br>
<br>
成因不说了.<br>
<br>
这个linux kernel 0day看视来势汹汹,各位看官也不必太紧张, /dev/net/tun在很多系统上都不是普通用户可以读写的.<br>
<br>
crw------------  1 root  root 10,200 Jul 18 07:26 /dev/net/tun.<br>
<br>
FC5,RHEL5.8 都是这样的权限.<br>
<br>
普通用户不能读写,就触发不了这个kernel漏洞,这个exploit也就无效了.<br>
<br>
系统管理员请检查上面的文件权限是否是如上,假如不是的话,请去掉其它普通用户的读写权限就可以阻止这个攻击.<br>
<br>
不过这个exploit code值得好好研究下,里面讲到了几个技术.<br>
在Selinux disable的情况如何mmap 0到应用程序空间去<br>
在Selinux enable的情况下又如何mmap 0到应用程序空间去<br>
<br>
记得以前在第一次0x557的技术交流会上我也讲过一个议题 ,题目有点忘了,好像是exploit Linux Kernel  NULL Pointer Dereference. <a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/ea2c3235defc861890ef391d.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/%BC%BC%CA%F5%CC%D6%C2%DB">技术讨论</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/ea2c3235defc861890ef391d.html#comment">查看评论</a>]]></description>
        <pubDate>2009-07-18  12:04</pubDate>
        <category><![CDATA[技术讨论]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/ea2c3235defc861890ef391d.html</guid>
</item>

<item>
        <title><![CDATA[还以为quartz.dll增加了一个是否解析quicktime文件的接口呢]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/f1552a16bef0cf58f3de3206.html]]></link>
        <description><![CDATA[
		
		quartz.dll解析quicktime文件的代码质量实在太差了.<br>
造成至少如下漏洞.<br>
<br>
CVE-2009-1537<br>
CVE-2009-1538<br>
CVE-2009-1539<br>
<br>
这次补丁,代码质量明显提高不少,估计那<a target="_blank" href="http://hi.baidu.com/0x557/blog/item/a9c06f1112b348cfa7ef3fe7.html">两个directshow 0day</a>是玩不转了.<br>
<br>
简单看了下修补后的代码,一开始还以为quartz.dll设置了一个是否解析quicktime文件的接口呢<br>
HKEY_CURRENT_USER, Software\\Microsoft\\Multimedia\\DirectShow<br>
SkipQTParse<br>
<br>
乍看这个名字还真那么回事呢,还觉得不错,咱们需要的就是这样的接口. 后来分析quartz.dll才发现不是这么这么回事.<br>
<br>
该接口是用来控制代码是否执行VerifyQTFile函数(该函数是用来校验各atom size的).<br>
<br>
程序员定义这个SkipQTParse按照字面的理解应该是跳过quicktime parse代码. 结果搞成了用来控制代码是否执行VerifyQTFile函数了. 是否也算一个bug?<br>
<br>
<br>
<br>
.text:7D05C784&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   mov&nbsp;&nbsp;&nbsp;&nbsp;   [ebp+var_50], eax<br>
.text:7D05C787&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   lea&nbsp;&nbsp;&nbsp;&nbsp;   eax, [ebp+hKey]<br>
.text:7D05C78A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   eax&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; phkResult<br>
.text:7D05C78B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   20019h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; samDesired<br>
.text:7D05C790&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   esi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; ulOptions<br>
.text:7D05C791&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   offset aSoftwareMic_11 ; &quot;Software\\Microsoft\\Multimedia\\DirectSho&quot;...<br>
.text:7D05C796&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   80000001h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; hKey<br>
.text:7D05C79B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   mov&nbsp;&nbsp;&nbsp;&nbsp;   dword ptr [ebp+Data], esi<br>
.text:7D05C79E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   mov&nbsp;&nbsp;&nbsp;&nbsp;   [ebp+hKey], esi<br>
.text:7D05C7A1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   mov&nbsp;&nbsp;&nbsp;&nbsp;   [ebp+cbData], 4<br>
.text:7D05C7A8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   call&nbsp;&nbsp;&nbsp;   ds:__imp__RegOpenKeyExW@20 ; RegOpenKeyExW(x,x,x,x,x)<br>
.text:7D05C7AE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   test&nbsp;&nbsp;&nbsp;   eax, eax<br>
.text:7D05C7B0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   jnz&nbsp;&nbsp;&nbsp;&nbsp;   short loc_7D05C7D3<br>
.text:7D05C7B2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   lea&nbsp;&nbsp;&nbsp;&nbsp;   eax, [ebp+cbData]<br>
.text:7D05C7B5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   eax&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; lpcbData<br>
.text:7D05C7B6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   lea&nbsp;&nbsp;&nbsp;&nbsp;   eax, [ebp+Data]<br>
.text:7D05C7B9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   eax&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; lpData<br>
.text:7D05C7BA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   esi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; lpType<br>
.text:7D05C7BB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   esi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; lpReserved<br>
.text:7D05C7BC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   offset aSkipqtparse ; &quot;SkipQTParse&quot;<br>
.text:7D05C7C1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   [ebp+hKey]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; hKey<br>
.text:7D05C7C4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   call&nbsp;&nbsp;&nbsp;   ds:__imp__RegQueryValueExW@24 ; RegQueryValueExW(x,x,x,x,x,x)<br>
.text:7D05C7CA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   [ebp+hKey]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; hKey<br>
.text:7D05C7CD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   call&nbsp;&nbsp;&nbsp;   ds:__imp__RegCloseKey@4 ; RegCloseKey(x)<br>
.text:7D05C7D3<br>
.text:7D05C7D3 loc_7D05C7D3:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; CODE XREF: CQT::CreateOutputPins(void)+145 j<br>
.text:7D05C7D3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   cmp&nbsp;&nbsp;&nbsp;&nbsp;   dword ptr [ebp+Data], esi<br>
.text:7D05C7D6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   jnz&nbsp;&nbsp;&nbsp;&nbsp;   short loc_7D05C7EA<br>
.text:7D05C7D8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   esi<br>
.text:7D05C7D9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   edi<br>
.text:7D05C7DA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   [ebp+var_30]<br>
.text:7D05C7DD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   call&nbsp;&nbsp;&nbsp;   ?VerifyQTFile@@YGHPAEKK@Z ; VerifyQTFile(uchar *,ulong,ulong)<br>
.text:7D05C7E2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   test&nbsp;&nbsp;&nbsp;   eax, eax<br>
.text:7D05C7E4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   jz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   loc_7D05D10B<br>
.text:7D05C7EA<br>
.text:7D05C7EA loc_7D05C7EA:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; CODE XREF: CQT::CreateOutputPins(void)+16B j<br>
.text:7D05C7EA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   'dhvm'<br>
.text:7D05C7EF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   [ebp+var_50]<br>
.text:7D05C7F2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   lea&nbsp;&nbsp;&nbsp;&nbsp;   eax, [ebp+var_3C]<br>
.text:7D05C7F5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   eax<br>
.text:7D05C7F6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   lea&nbsp;&nbsp;&nbsp;&nbsp;   eax, [ebp+var_38]<br>
.text:7D05C7F9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   eax<br>
.text:7D05C7FA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   lea&nbsp;&nbsp;&nbsp;&nbsp;   eax, [ebp+var_30]<br>
.text:7D05C7FD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   eax<br>
.text:7D05C7FE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   mov&nbsp;&nbsp;&nbsp;&nbsp;   ecx, ebx<br>
.text:7D05C800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   call&nbsp;&nbsp;&nbsp;   ?QTDescend@CQT@@AAEHAAPAEAAK0PAEK@Z ; CQT::QTDescend(uchar * &amp;,ulong &amp;,uchar * &amp;,uchar *,ulong)<br>
.text:7D05C805&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   test&nbsp;&nbsp;&nbsp;   eax, eax<br>
<br>
<br> <a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/f1552a16bef0cf58f3de3206.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/%BC%BC%CA%F5%CC%D6%C2%DB">技术讨论</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/f1552a16bef0cf58f3de3206.html#comment">查看评论</a>]]></description>
        <pubDate>2009-07-17  22:16</pubDate>
        <category><![CDATA[技术讨论]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/f1552a16bef0cf58f3de3206.html</guid>
</item>

<item>
        <title><![CDATA[有一种0day叫Tuesday 0day]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/99501fd3903c1b3d970a161f.html]]></link>
        <description><![CDATA[
		
		<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/99501fd3903c1b3d970a161f.html#comment">查看评论</a>]]></description>
        <pubDate>2009-07-15  22:58</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/99501fd3903c1b3d970a161f.html</guid>
</item>

<item>
        <title><![CDATA[[fw]美刊称人脑可能成为未来黑客攻击对象]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/8bc13b54c169a3163a2935bb.html]]></link>
        <description><![CDATA[
		
		要考虑把大脑设置为只读属性为好.<br>
<br>
http://tech.sina.com.cn/d/2009-07-13/08563257000.shtml<br>
<br>
<div forimg="1"><a href="http://i2.sinaimg.cn/IT/2009/0713/200971394429.jpg" target="_blank"><img border="0" src="http://i2.sinaimg.cn/IT/2009/0713/200971394429.jpg" small="0" class="blogimg"></a></div>
<br>
<br>
<strong>用电脑攻击患者已有先例</strong>
<p>　　一些人可能会问，黑客为什么要入侵人的大脑，研究人员对此表示，利用电脑导致被攻击者神经受损的悲剧已有先例。2007年11月和2008年3月，恶毒的程序员曾攻击癫痫病患救助网站&mdash;&mdash;将快速闪动的动画添加到网页上&mdash;&mdash;最终致使一些对图片敏感的患者发病。</p>
<p>　　计算机学研究生、研究论文联合执笔人塔玛拉·丹宁(Tamara Denning)表示：&ldquo;这是两次独立发生的事件。事实证明，确有一些用心险恶的人企图利用电脑破坏他人健康，尤其是在神经装置越发普及的情况下。&rdquo;</p>
<p>　　在某些情况下，患者甚至也可能希望入侵自己的神经装置。与用于控制假肢的装置&mdash;&mdash;仍采取有线方式&mdash;&mdash;有所不同的是，很多深层大脑刺激器依靠无线信号。入侵这些装置可以让患者&ldquo;自开药方&rdquo;，即通过提高大脑&ldquo;奖励中心&rdquo;的活跃性改善情绪或者缓解痛苦。</p>
<br> <a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/8bc13b54c169a3163a2935bb.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/%D0%C2%CE%C5%B6%AF%CC%AC">新闻动态</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/8bc13b54c169a3163a2935bb.html#comment">查看评论</a>]]></description>
        <pubDate>2009-07-13  19:53</pubDate>
        <category><![CDATA[新闻动态]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/8bc13b54c169a3163a2935bb.html</guid>
</item>

<item>
        <title><![CDATA[a typo == a vulnerability 也谈这两天这个DirectShow MPEG2 0day]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/f659c83ef627893470cf6ce2.html]]></link>
        <description><![CDATA[
		
		一个typo,估计是MS的程序员看程序的时候打扫了下键盘，多变了一个&amp;出来 ,导致了一个严重的安全问题。<br>
不过这样的代码应该自己简单测试下就可以测试出来的，难道这块代码没怎么做测试就放了出来？！<br>
<br>
<br>
ReadFromStream(LPSTREAM ppvData)<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   SafeArrayCreate(xx,x, user_controlled_len);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   SafeArrayAccessData(xx,&amp; ppvData);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ReadFile(x,&amp; ppvData, user_controlled_len);<font color="#ff0000">// 正确的写法应该是 ReadFile(x, ppvData, user_controlled_len)</font><br>
<br>
}<br>
<br>
<br>
.text:59F0D732&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ff0000"> lea&nbsp;&nbsp;&nbsp;&nbsp;   eax, [ebp+ppvData]</font><br>
.text:59F0D735&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   eax&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; ppvData<br>
.text:59F0D736&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   ebx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; psa<br>
.text:59F0D737&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   call&nbsp;&nbsp;&nbsp;   ds:__imp__SafeArrayAccessData@8 ; SafeArrayAccessData(x,x)<br>
.text:59F0D73D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   test&nbsp;&nbsp;&nbsp;   eax, eax<br>
.text:59F0D73F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   jl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   short loc_59F0D7BD<br>
.text:59F0D741&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   mov&nbsp;&nbsp;&nbsp;&nbsp;   eax, [edi]<br>
.text:59F0D743&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   0<br>
.text:59F0D745&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   [ebp+dwSize]&nbsp;&nbsp;&nbsp;   ; come from file<br>
.text:59F0D748&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ff0000"> lea&nbsp;&nbsp;&nbsp;&nbsp;   ecx, [ebp+ppvData]</font><br>
.text:59F0D74B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   ecx<br>
.text:59F0D74C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   edi<br>
.text:59F0D74D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   <font color="#ff0000">call&nbsp;&nbsp;&nbsp;   dword ptr [eax+0Ch] ; mshtml!FatStream::Read stack buffer overflow here</font><br>
.text:59F0D750&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   push&nbsp;&nbsp;&nbsp;   ebx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   ; psa<br>
<br>
设置killbit保护吧<br>
0955AC62-BF2E-4CBA-A2B9-A63F772D46CF <a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/f659c83ef627893470cf6ce2.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/%BC%BC%CA%F5%CC%D6%C2%DB">技术讨论</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/f659c83ef627893470cf6ce2.html#comment">查看评论</a>]]></description>
        <pubDate>2009-07-06  21:41</pubDate>
        <category><![CDATA[技术讨论]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/f659c83ef627893470cf6ce2.html</guid>
</item>

<item>
        <title><![CDATA[[CLOSED]我们组想在北京再招两个技术产品经理]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/9c82cbd972418ee139012fcd.html]]></link>
        <description><![CDATA[
		
		机会难得，有兴趣的朋友同样把中英文简历发到 alert7 at gmail.com . 标明应聘的是技术产品经理。<br>
<br>
Technical product manager job description<br>
<br>
Description of Function and Responsibilities: The technical product manager will be responsible for technical marketing documentation and presentations for McAfee&rsquo;s network security products. We are looking for a highly motivated professional with a proven track record of successfully driving and marketing products in the network security space. Strong technical skills are required to understand McAfee&rsquo;s network security products, architecture, feature details, and operational workflow and communicate to customers and train McAfee sales. This position requires strong communication skills to initiate and drive programs aimed at increasing market awareness and share. <br>
&#8226;&nbsp;&nbsp;&nbsp;     Training of McAfee and partner sales engineers<br>
&#8226;&nbsp;&nbsp;&nbsp;     Sales support including detailed technical explanations of McAfee technology and products, preparation of RFP/RFI responses, and support of McAfee sales partners<br>
&#8226;&nbsp;&nbsp;&nbsp;     Creation of technical sales collateral including technical white papers, applications notes, and presentations<br>
&#8226;&nbsp;&nbsp;&nbsp;     Develop required technical sales collateral for specific vertical market segments <br>
&#8226;&nbsp;&nbsp;&nbsp;     Participation in standards activities and partnering opportunities<br>
&#8226;&nbsp;&nbsp;&nbsp;     Hosting customer visits, speaking at technical seminars and representing McAfee at trade shows<br>
&#8226;&nbsp;&nbsp;&nbsp;     Support trade show demonstrations and industry-wide technical events including technology &quot;plugfests&quot;<br>
&#8226;&nbsp;&nbsp;&nbsp;     Design, implementation, and delivery of product demonstrations for McAfee customers and partners<br>
<br>
Experience Required: <br>
&#8226;&nbsp;&nbsp;&nbsp;     5+ years of hands-on experience in networking and network security <br>
&#8226;&nbsp;&nbsp;&nbsp;     Proven analytical and problem solving skills<br>
&#8226;&nbsp;&nbsp;&nbsp;     Professional and time-efficient approach to the role; self disciplines, working with minimal supervision<br>
&#8226;&nbsp;&nbsp;&nbsp;     Excellent verbal, written and presentation skills; ability to create and execute structured presentations and demonstrations to groups of people<br>
&#8226;&nbsp;&nbsp;&nbsp;     Experience with switches, routers, servers, Microsoft and Linux operating systems, and network security products including firewall, IDS/IPS, NAC is highly desired<br>
<br>
Qualifications/Education: <br>
&#8226;&nbsp;&nbsp;&nbsp;     Requires a Bachelor of Science in Engineering or Computer; Master's degree is preferred. A CCIE certification or equivalent highly desirable
<table height="33" cellspacing="0" cellpadding="0" border="0" width="36" class="MsoNormalTable" style="margin-left: -40pt; border-collapse: collapse;">
    <tbody>
        <tr style="page-break-inside: avoid;">
            <td width="750" valign="top" style="border-style: none solid; border-color: -moz-use-text-color windowtext; border-width: medium 1pt; padding: 0cm 5.4pt; width: 562.5pt;"> </td>
        </tr>
        <tr style="page-break-inside: avoid;">
            <td width="750" valign="top" style="border-style: none solid; border-color: -moz-use-text-color windowtext; border-width: medium 1pt; padding: 0cm 5.4pt; width: 562.5pt;"> </td>
        </tr>
        <tr style="page-break-inside: avoid;">
            <td width="750" valign="top" style="border-style: none solid; border-color: -moz-use-text-color windowtext; border-width: medium 1pt; padding: 0cm 5.4pt; width: 562.5pt;"> </td>
        </tr>
        <tr style="page-break-inside: avoid;">
            <td width="750" valign="top" style="border-style: none solid; border-color: -moz-use-text-color windowtext; border-width: medium 1pt; padding: 0cm 5.4pt; width: 562.5pt;"> </td>
        </tr>
        <tr style="page-break-inside: avoid;">
            <td width="750" valign="top" style="border-style: none solid; border-color: -moz-use-text-color windowtext; border-width: medium 1pt; padding: 0cm 5.4pt; width: 562.5pt;"> </td>
        </tr>
        <tr style="page-break-inside: avoid;">
            <td width="750" valign="top" style="border-style: none solid; border-color: -moz-use-text-color windowtext; border-width: medium 1pt; padding: 0cm 5.4pt; width: 562.5pt;"> </td>
        </tr>
        <tr style="page-break-inside: avoid;">
            <td width="750" valign="top" style="border-style: none solid; border-color: -moz-use-text-color windowtext; border-width: medium 1pt; padding: 0cm 5.4pt; width: 562.5pt;"> </td>
        </tr>
    </tbody>
</table>
<p class="MsoNormal"><span> </span></p> <a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/9c82cbd972418ee139012fcd.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/9c82cbd972418ee139012fcd.html#comment">查看评论</a>]]></description>
        <pubDate>2009-04-29  08:43</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/9c82cbd972418ee139012fcd.html</guid>
</item>

<item>
        <title><![CDATA[[CLOSED]我们组想在北京再招3个安全研究人员]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/5c69d5d040cb1b87a1ec9c44.html]]></link>
        <description><![CDATA[
		
		机会难得，假如有兴趣的话，可以把中英文简历发邮件到 alert7 at gmail.com 。<br>
<br>
<p class="MsoNormal"><strong><span style="font-size: 10pt;">Web security, P2P/IM Security Researcher</span></strong></p>
<p class="MsoNormal"><strong><span style="font-size: 10pt;"> </span></strong></p>
<p class="MsoNormal"><strong><span style="font-size: 10pt;">Description:</span></strong></p>
<p class="MsoNormal"><span style="font-size: 10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt;">McAfee Avert Labs is looking for seasoned security researchers to contribute in the investigation, detection, and prevention of threats on Web services/servers, peer-to-peer (P2P) and instant-messenger (IM) for our industry leading network security solutions.</span></p>
<p class="MsoNormal"><span style="font-size: 10pt;"><br>
<strong>Responsibilities:</strong><br>
<br>
The main responsibilities for this position focus on threats for the APAC region:</span></p>
<p class="MsoNormal"><span style="font-size: 10pt;"> </span></p>
<p class="MsoNormal" style="margin-left: 15pt; text-indent: -18pt;"><span style="font-size: 10pt; color: rgb(51, 51, 51);"><span>·<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span></span></span><span style="font-size: 10pt;">Perform leading edge Web and P2P/IM threat research and analysis with one of the world&rsquo;s most respected research teams, McAfee Avert Labs</span></p>
<p class="MsoNormal" style="margin-left: 15pt; text-indent: -18pt;"><span style="font-size: 10pt; color: rgb(51, 51, 51);"><span>·<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span></span></span><span style="font-size: 10pt;">Develop signatures or algorithms to detect and block the threats.</span></p>
<p class="MsoNormal" style="margin-left: 15pt;"><span style="font-size: 10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt;"><br>
<strong>Qualifications:</strong><br>
<br>
The qualified candidates are expected to possess:</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 6pt 15pt;"><span style="font-size: 10pt;"> </span></p>
<p class="MsoNormal" style="margin-left: 15pt; text-indent: -18pt;"><span style="font-size: 10pt; color: rgb(51, 51, 51);"><span>·<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span></span></span><span style="font-size: 10pt;">3-5 years direct or equivalent experience in areas of networking/system administration, P2P/IM/protocols security analysis and response, and software development</span></p>
<p class="MsoNormal" style="margin-left: 15pt; text-indent: -18pt;"><span style="font-size: 10pt; color: rgb(51, 51, 51);"><span>·<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span></span></span><span style="font-size: 10pt;">Expert knowledge on web security, web related malware, concepts like SQL injection, XSS, Web 2.0 threats, etc</span></p>
<p class="MsoNormal" style="margin-left: 15pt; text-indent: -18pt;"><span style="font-size: 10pt; color: rgb(51, 51, 51);"><span>·<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span></span></span><span style="font-size: 10pt;">Expert knowledge of P2P/IM protocols, such as BitTorrent, Edonkey, Skype, QQ, Xunlie etc</span></p>
<p class="MsoNormal" style="margin-left: 15pt; text-indent: -18pt;"><span style="font-size: 10pt; color: rgb(51, 51, 51);"><span>·<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span></span></span><span style="font-size: 10pt;">Proficient with at least one scripting language (perl, python, etc)</span></p>
<p class="MsoNormal" style="margin-left: 15pt; text-indent: -18pt;"><span style="font-size: 10pt; color: rgb(51, 51, 51);"><span>·<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span></span></span><span style="font-size: 10pt;">Proficient RFC level working knowledge of networking protocols including: TCP/IP, HTTP, DNS, HTTPS, etc</span></p>
<p class="MsoNormal" style="margin-left: 15pt; text-indent: -18pt;"><span style="font-size: 10pt; color: rgb(51, 51, 51);"><span>·<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span></span></span><span style="font-size: 10pt;">Proficient with network traffic analysis tools such as wireshark/tcpdump, TCPView, Linux-iptables/libipq, etc</span></p>
<p class="MsoNormal" style="margin-left: 15pt; text-indent: -18pt;"><span style="font-size: 10pt; color: rgb(51, 51, 51);"><span>·<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span></span></span><span style="font-size: 10pt;">Network based IPS knowledge and experience a definite plus</span></p>
<p class="MsoNormal" style="margin-left: 15pt; text-indent: -18pt;"><span style="font-size: 10pt; color: rgb(51, 51, 51);"><span>·<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span></span></span><span style="font-size: 10pt;">Strong problem solving, troubleshooting, &amp; analytical skills</span></p>
<p class="MsoNormal" style="margin-left: 15pt; text-indent: -18pt;"><span style="font-size: 10pt; color: rgb(51, 51, 51);"><span>·<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span></span></span><span style="font-size: 10pt;">Experience of working in fast-paced development environments</span></p>
<p class="MsoNormal" style="margin-left: 15pt; text-indent: -18pt;"><span style="font-size: 10pt; color: rgb(51, 51, 51);"><span>·<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span></span></span><span style="font-size: 10pt;">Good written &amp; verbal communication skills</span></p>
<p class="MsoNormal" style="margin-left: 15pt; text-indent: -18pt;"><span style="font-size: 10pt; color: rgb(51, 51, 51);"><span>·<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span></span></span><span style="font-size: 10pt;">Good inter-personal and teamwork skills</span></p>
<p class="MsoNormal"><span style="font-size: 10pt;"><br>
<br>
<strong>Personality:</strong><br>
Self-driven, proactive, hardworking, team-player<br>
<br>
<strong>Education:</strong><br>
BS/MS in computer science or equivalent experience</span></p> <a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/5c69d5d040cb1b87a1ec9c44.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/%D0%C2%CE%C5%B6%AF%CC%AC">新闻动态</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/5c69d5d040cb1b87a1ec9c44.html#comment">查看评论</a>]]></description>
        <pubDate>2009-04-27  08:35</pubDate>
        <category><![CDATA[新闻动态]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/5c69d5d040cb1b87a1ec9c44.html</guid>
</item>

<item>
        <title><![CDATA[说到core dump file,想到我在2005年问过的一个问题：solaris...]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/aec117ecb76dd4352697918b.html]]></link>
        <description><![CDATA[
		
		说到core dump file,想到我在2005年问过的一个问题。<br>
<br>
solaris上一个只能执行的文件，可以获得它的文件内容是否为漏洞？<br>
<br>
http://www.derkeiler.com/Mailing-Lists/Full-Disclosure/2005-09/0386.html<br>
<br>
也是通过core dumpfile手段获得的文件的内容。<br>
<br>
那时候的linux就已经没有solaris上的这个问题了。就安全性来讲，我认为linux比solaris安全的多，不管是kernel 还是libc.  以前焦点论坛上还红红火火讨论过setuid shell的安全问题，对比来讲还是linux走在了前面。<br>
<br>
用的人多了，该暴露的安全问题也就暴露了。这两年整windows比较多，感觉windows也走的不慢啊。<br>
<br> <a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/aec117ecb76dd4352697918b.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/%BC%BC%CA%F5%CC%D6%C2%DB">技术讨论</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/aec117ecb76dd4352697918b.html#comment">查看评论</a>]]></description>
        <pubDate>2009-04-25  00:15</pubDate>
        <category><![CDATA[技术讨论]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/aec117ecb76dd4352697918b.html</guid>
</item>

<item>
        <title><![CDATA[about Linux kernel &#60;2.6.29 exit_notify() local root exploit]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/38469f38b6206c2cb8998f0c.html]]></link>
        <description><![CDATA[
		
		既然看了udev那个漏洞，也来说说这个Linux kernel &lt;2.6.29 exit_notify() exploit.<br>
<br>
http://www.milw0rm.com/exploits/8478<br>
<br>
1: /proc/sys/fs/suid_dumpable 必须是1 or 2（默认好象不开啊）<br>
2: 假如第一个条件满足的话，这倒是个好漏洞，作者也说让人联想到以前那个<br>
 prctl(PR_SET_DUMPABLE,2)漏洞，利用方法一致。<br>
3： 这个exploit需要等24小时，其实不需要，改一点就可以缩短到一个小时。而且core文件形式在有些系统上core.xxxx ,自己修改吧。 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/%BC%BC%CA%F5%CC%D6%C2%DB">技术讨论</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/38469f38b6206c2cb8998f0c.html#comment">查看评论</a>]]></description>
        <pubDate>2009-04-24  21:02</pubDate>
        <category><![CDATA[技术讨论]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/38469f38b6206c2cb8998f0c.html</guid>
</item>

<item>
        <title><![CDATA[这不是一个linux内核漏洞，确是一个非常好用的漏洞]]></title>
        <link><![CDATA[http://hi.baidu.com/weiwang%5Fblog/blog/item/e67d7f95aa522943d1135e0c.html]]></link>
        <description><![CDATA[
		
		不是linux kernel的漏洞， 是个非常好用的应用程序漏洞。<br>
http://www.milw0rm.com/exploits/8478<br>
<br>
udevd进程处理用户数据不当导致的任意执行命令漏洞。其实邪恶的环境变量不单单是LD_PRELOAD。<br>
<br>
int udev_event_execute_run(struct udev_event *event)<br>
{<br>
&nbsp;&nbsp;&nbsp;  struct udev_list_entry *list_entry;<br>
&nbsp;&nbsp;&nbsp;  int err = 0;<br>
<br>
&nbsp;&nbsp;&nbsp;  dbg(event-&gt;udev, &quot;executing run list\n&quot;);<br>
&nbsp;&nbsp;&nbsp;  udev_list_entry_foreach(list_entry, udev_list_get_entry(&amp;event-&gt;run_list)) {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  const char *cmd = udev_list_entry_get_name(list_entry);<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if (strncmp(cmd, &quot;socket:&quot;, strlen(&quot;socket:&quot;)) == 0) {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  struct udev_monitor *monitor;<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  monitor = udev_monitor_new_from_socket(event-&gt;udev, &amp;cmd[strlen(&quot;socket:&quot;)]);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if (monitor == NULL)<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  continue;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  udev_monitor_send_device(monitor, event-&gt;dev);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  udev_monitor_unref(monitor);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  } else {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  char program[UTIL_PATH_SIZE];<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  char **envp;<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  util_strlcpy(program, cmd, sizeof(program));<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  udev_event_apply_format(event, program, sizeof(program));<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if (event-&gt;trace)<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  fprintf(stderr, &quot;run  %s (%llu) '%s'\n&quot;,<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  udev_device_get_syspath(event-&gt;dev),<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  udev_device_get_seqnum(event-&gt;dev),<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  program);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  envp = udev_device_get_properties_envp(event-&gt;dev);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if (util_run_program(event-&gt;udev, program, envp, NULL, 0, NULL) != 0) {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if (!udev_list_entry_get_flag(list_entry))<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  err = -1;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  return err;<br>
<br> <a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/e67d7f95aa522943d1135e0c.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/weiwang%5Fblog/blog/category/%BC%BC%CA%F5%CC%D6%C2%DB">技术讨论</a>&nbsp;<a href="http://hi.baidu.com/weiwang%5Fblog/blog/item/e67d7f95aa522943d1135e0c.html#comment">查看评论</a>]]></description>
        <pubDate>2009-04-24  14:54</pubDate>
        <category><![CDATA[技术讨论]]></category>
        <author><![CDATA[WeiWang_blog]]></author>
		<guid>http://hi.baidu.com/weiwang%5Fblog/blog/item/e67d7f95aa522943d1135e0c.html</guid>
</item>


</channel>
</rss>