S-CMS PHP v3.0 SQL注入漏洞CVE-2019-12860曝光

需积分: 0 1 下载量 185 浏览量 更新于2024-08-05 收藏 219KB PDF 举报
S-CMS PHP v3.0存在一个严重的SQL注入漏洞,CVE编号为CVE-2019-12860,该漏洞于2019年5月31日由安全研究员zhhhy发现。此漏洞影响的是S-CMS PHP产品的版本3.0,其产品主页位于<https://www.s-cms.cn/download.html?code=php>,用户可以通过此链接下载和了解软件。 漏洞主要发生在/js/scms.php文件的第182-204行。具体来说,变量$pageid在第83行通过POST方式接收用户输入,随后在第87行和第95行,这个未经充分验证的变量直接被拼接到SQL查询语句中,这导致了SQL注入的风险。值得注意的是,由于注入是数字类型,攻击者可能利用这一点绕过了一些基本的安全防护,比如避免使用单引号等字符来执行恶意操作。 漏洞的利用方式是通过构造特定的输入数据包,例如通过构造一个包含特殊字符的URL参数。正常情况下,数据包会回显预期的内容(如图中的20151019102732946.jpg),而异常数据包则无法触发预期响应,从而揭示了SQL查询结果的存在或缺失,这是一种典型的布尔型注入。 为了演示如何利用这个漏洞,提供了一个Python脚本 poc.py,它使用requests库向服务器发送POST请求,其中包含一个动态生成的payload,尝试获取数据库长度。通过递增payload中的数值,脚本试图找出数据库长度的有效范围,从而间接地进行SQL查询。 攻击者可以利用此漏洞进行未经授权的数据访问、修改或删除操作,对网站的安全性构成威胁。对于S-CMS PHP v3.0的用户来说,应尽快修补这个漏洞,以防止未经授权的攻击,并采取安全措施,如输入验证、参数化查询等,来提高系统的安全性。同时,建议定期检查并更新软件,以应对此类已知漏洞。