您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
PHPCMS某处设计缺陷authkey泄露的解决方法
章学共2025-05-29 21:08:23phpcms教程已有4人查阅
导读在分析几个phpcms的漏洞就换分析其他的,换换口味。swfupload上传页面输出了MD5(auth_key+sess_id)。
在分析几个phpcms的漏洞就换分析其他的,换换口味。swfupload上传页面输出了MD5(auth_key+sess_id)。
函数位于 /phpcms/modules/attachment/functions/global.func.php 第45-91行 可以看到$init参数的值为一段js代码。
看到这里: 混杂着$sess_id和$swf_auth_key的值
在跟踪到上面去$swf_auth_key的值。 $swf_auth_key是由auth_key和$sess_id联合在一起共同进行md5加密。并且$swf_auth_key,$sess_id都输出到页面上了。
跟踪这整个函数,看看哪里引用了。
限制:在线投稿(需要后台开启)
在发布投稿的时候,有个图片上传,url就位于那里。
查看源码就能看到输出在页面的值了。
记录下来两个值。
接着看到第二个漏洞点。
位于 /phpcms/modules/content/down.php 第83-124行。 看到开头的这句话: 利用auth_key和HTTP_USER_AGENT进行加密。UA我们本地是可以控制的,所以我们可以让UA的值与$sess_id的值相同,然后$pc_auth_key 我们也是知道的。
看到这句, $a_k是利用GET过来的,$pc_auth_key我们又是知道的,所以我们可以本地生成经过加密$a_k的值 先包含sys_auth函数,然后构造我们要下载的文件地址。
上面的那些参数是download函数需要的,具体的解释在以前文章有个这里的windows下任意文件相同
s和f参数,利用拼接来绕过检查,也就是这句:if($m) $fileurl = trim($s).trim($fileurl);
然后就能读取任意文件啦。 a_k的值是php文件加密来的,需要替换,UA是$sess_id的值,也是需要替换。
读取到的文件caches/configs/system.php 为网站放置auth_key的php文件。
有了这个auth_key,我们就能在本地混合sql语句然后加密auth_key,网站进行解码以后输出sql语句来绕过检查,然后对网站进行注入等操作。
函数位于 /phpcms/modules/attachment/functions/global.func.php 第45-91行 可以看到$init参数的值为一段js代码。
看到这里: 混杂着$sess_id和$swf_auth_key的值
在跟踪到上面去$swf_auth_key的值。 $swf_auth_key是由auth_key和$sess_id联合在一起共同进行md5加密。并且$swf_auth_key,$sess_id都输出到页面上了。
跟踪这整个函数,看看哪里引用了。
限制:在线投稿(需要后台开启)
在发布投稿的时候,有个图片上传,url就位于那里。
查看源码就能看到输出在页面的值了。
记录下来两个值。
接着看到第二个漏洞点。
位于 /phpcms/modules/content/down.php 第83-124行。 看到开头的这句话: 利用auth_key和HTTP_USER_AGENT进行加密。UA我们本地是可以控制的,所以我们可以让UA的值与$sess_id的值相同,然后$pc_auth_key 我们也是知道的。
看到这句, $a_k是利用GET过来的,$pc_auth_key我们又是知道的,所以我们可以本地生成经过加密$a_k的值 先包含sys_auth函数,然后构造我们要下载的文件地址。
上面的那些参数是download函数需要的,具体的解释在以前文章有个这里的windows下任意文件相同
s和f参数,利用拼接来绕过检查,也就是这句:if($m) $fileurl = trim($s).trim($fileurl);
然后就能读取任意文件啦。 a_k的值是php文件加密来的,需要替换,UA是$sess_id的值,也是需要替换。
读取到的文件caches/configs/system.php 为网站放置auth_key的php文件。
有了这个auth_key,我们就能在本地混合sql语句然后加密auth_key,网站进行解码以后输出sql语句来绕过检查,然后对网站进行注入等操作。
本文标签:
很赞哦! (1)
上一篇:phpcms怎么添加模块
暂无内容 |
暂无内容 |
暂无内容 |
暂无内容 |
随机图文
phpcms修改id的方法介绍
phpcms怎么修改id?phpcms修改id的方法?这里我们用dreamweaver 8打开index.html。路径为:(/phpcms/templates/default/content/index.html)。怎么升级PHPCMS
1、采用后台里面的在线升级功能,升级时要提前将模版文件重命名,以免升级时会覆盖掉模版文件;2、下载 新的后台文件覆盖替换,不过覆盖之前需要先把模板文件保存下来。phpcms调用热门标签tag的方法
Phpcms V9调用热门TAG要使用Get SQL语句,调用tag数据库,loop循环输出;但V9版本的PHPCMS默认没有完善tag功能,必须下载一个插件;phpcms模版目录存放位置
phpcms模版目录在网站根目录下的phpcms/templates/default/这个目录中,主要网站前端的内容模板在default/content里。
留言与评论 (共有 0 条评论) |