霁风麦穗 發表於 2012-5-21 09:13:00

易通企业网站系统(cmseasy) 权限提升的方法及getShell通杀漏洞的介绍

详细说明:<br /><br />漏洞文件在table.php中的sql_update($tbname,$row,$where) 函数<br />&nbsp;<br />function sql_update($tbname,$row,$where) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sqlud='';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (is_string($row))<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sqlud=$row.' ';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach ($row as $key=&gt;$value) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (in_array($key,explode(',',$this-&gt;getcolslist()))) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $value=addslashes($value);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (preg_match('/^\[(.*)\]$/',$value,$match))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sqlud .= &quot;`$key`&quot;.&quot;= &quot;.$match.&quot;,&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elseif ($value === &quot;&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; $sqlud .= &quot;`$key`= NULL, &quot;;<br />&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; $sqlud .= &quot;`$key`&quot;.&quot;= '&quot;.$value.&quot;',&quot;;<br />&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; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sqlud=rtrim($sqlud); www.jb51.net<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sqlud=rtrim($sqlud,',');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;condition($where);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql=&quot;UPDATE `&quot;.$tbname.&quot;` SET &quot;.$sqlud.&quot; WHERE &quot;.$where;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return $sql;<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;<br />循环遍历POST 值 然后直接写入数据库更新 导致用户可以自定义权限判断字段<br />权限提升漏洞<br />漏洞证明:注册用户名<br />&nbsp;<br />编辑资料<br />&nbsp;<br />&nbsp;<img alt="" src="https://img.jbzj.com/file_images/article/201205/201205210914448.jpg" /><br />&nbsp;<br />得到管理权限(ps: 后台超炫)<br />&nbsp;<br />&nbsp;<img alt="" src="https://img.jbzj.com/file_images/article/201205/201205210914449.jpg" /><br />&nbsp;<br />GetShell<br />&nbsp;<br />&nbsp;<br /><br /><img alt="" src="https://img.jbzj.com/file_images/article/201205/2012052109144410.jpg" /><br />&nbsp;<br />修复方案:<br /><br />不要把前台用户和普通会员放到一个表,任意权限提升, 取消table.php 中的函数sql_update 函数 或做出相应过滤 。<br /><br />可以暂时先关闭注册<br /><br />作者 CodePlay 【
頁: [1]
查看完整版本: 易通企业网站系统(cmseasy) 权限提升的方法及getShell通杀漏洞的介绍