主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
phpcms/" target="_blank">phpcms教程介绍phpcms常见安全漏洞
推荐(免费):phpcms教程
1. 宽字节注入漏洞
/phpcms/modules/pay/respond.php 位于第 16 行
原始代码
$ payment = $this->get_by_code($_GET['code']);
$ payment = 替换为 $this->get_by_code(mysql_real_escape_string($_GET['code']));
style="margin-left:0px;">2. phpcms 注入漏洞
/phpcms/modules/poster/poster.php 位于第 221 行。 ($_GET['group']) {
然后添加
$_GET['group'] = preg_replace('#`#', '', $_GET ['group']);
3.修复phpcms前端注入造成的任意文件读取漏洞
/phpcms/modules/content/down.php
(1) 大约排列 17 行
parse_str($a_k);
替换为以下字符串
$a_k = safety_replace($a_k); parse_str($a_k);
(2) 位置大约在第 89 行
parse_str($a_k);
$a_k =safe_replace($a_k); parse_str($a_k);
[6.3版本修复了上述两个问题]
(3)位置大约 120 行
$filename = date('Ymd_his').random(3).'.'.$ext;
添加后
$fileurl = str_replace(array(''), '',$fileurl);
4. phpcms注入漏洞
/phpcms/modules/member/index.php 位于第 615 行左右
原代码:
$password = isset($_POST['password']) && Trim($_POST['password']) ?密码 ']) : showmessage(L('password_empty'),HTTP_REFERER);
替换为:
$password =isset($_POST['password']) && trim($_POST['password']) ?addlashes(urldecode(trim($_POST['password']))) : showmessage(L('password_empty'), HTTP_REFERER) ;
5. PHPCMS V9.6.2 SQL 注入漏洞
(1)phpcms/libs/classes/param.class.php第109行
原代码
$value = isset($_COOKIE[$var]) ? sys_auth($_COOKIE[$var], 'DECODE') : $default;
替换为以下值
$value = isset($_COOKIE[$var])?addslashes (sys_auth($_COOKIE [ $var],'解码')):$default; style="margin-left:0px;">(2)/phpsso_server/phpcms/libs/classes/param.class.php 位于第 108 行左右
原始代码
返回 isset($_COOKIE[$var]) ? sys_auth($_COOKIE[$var], 'DECODE') : $default;
替换为以下值
return isset($_COOKIE[$var])?addlashes(sys_auth($_COOKIE[$var],'DECODE')) : $default;
6. phpcms 中存在逻辑问题,因此 getshell
/phpcms/libs/classes/attachment.class.php 为 143 它围绕着
函数 download( $field, $value,$watermark = '0',$ext = 'gif|jpg|jpeg|bmp|png', $absurl = '', $basehref = ' ' ){
添加在
// 此处添加类型判断 if($ext !== 'gif|jpg|jpeg|bmp|png'){ if(!in_a rray( strtoupper($ext),array('JPG','GIF','BMP','PNG','JPEG'))) 退出('其他扩展名是 gif、jpg、jpeg、bmp、png'); }
7. 注入漏洞
/api/phpsso.php第128行
原始代码
$arr['uid'] = intval($arr['uid']);$phpssouid = $arr['uid'];
替换为二合一代码
$phpssouid = intval($arr['uid']);
8. phpcms 身份验证密钥生成算法存在问题,导致身份验证密钥泄漏。
1. 在 /caches/configs/system.php 中添加第一个参数:
'alivulfix' => 'yes'。 下面是修改后的代码的屏幕截图:
2. 查找并更改 auth_key(20 位字符串)。 您所要做的就是定制您想写的内容。
'auth_key' => '2qKYgs0PgHWWtaFVb3KP', //key
3. 查找并更改 auth_key(32 位字符串)。 如果您想具体一点,只需自定义即可。
'phpsso_auth_key' => 'hjor66pewop_3qooeamtbiprooteqein', //加密密钥
注意:此步骤与阿里云云骑士一键修复相同。 网站用户暂时无法登录,最重要的一步仍然存在。 4.后台登录phpsso管理中心。 在导航菜单“phpsso”→“应用程序管理”→“编辑”中,将“通信密钥”编辑为步骤3中设置的“phpsso_auth_key”的值,然后单击“发送”。
主要步骤的屏幕截图如下。
提交后页面会显示通讯成功,如下图。
如果您想了解更多编程知识,请查看我们的 PHP 培训专栏。 PHP快速学习教程(入门到精通)
如何开始学习PHP?如何快速学习PHP? 这是一个适合所有人(初学者到专家)的简单 PHP 教程。,您可以保存并下载您想学习的朋友。
下载
这几篇文章你可能也喜欢:
- 什么是phpcms(phpcms框架是什么)
- phpcms有评论功能吗(php评论系统源码)
- phpcms有控制器吗?(还有人用phpcms吗?)
- phpcms使用的数据库(phpcms数据库文件)
- 如何在phpcms中更改站点名称(我应该使用什么软件来更改我的php网站)
本文由主机参考刊发,转载请注明:phpcms安全漏洞合集(php有很多漏洞) https://zhujicankao.com/140558.html
评论前必须登录!
注册