PHPCMS 다양한 주입 취약점 패치

爱喝马黛茶的安东尼
풀어 주다: 2019-11-21 10:24:52
앞으로
6018명이 탐색했습니다.

Wide wide Injection 취약점

PHPCMS 다양한 주입 취약점 패치/phpcms/modules/pay/respone.php는 약 16 줄

$payment = $this->get_by_code($_GET['code']);
로그인 후 복사
$payment = $this->get_by_code(mysql_real_escape_string($_GET['code']));
로그인 후 복사

2로 대체됩니다 취약점

/phpcms/modules/poster/poster.php는

if ($_GET['group']) {
로그인 후 복사

뒤의 221번째 줄에 있으며

$_GET['group'] = preg_replace('#`#', '', $_GET['group']);
로그인 후 복사
3을 추가하면 임의 파일 읽기 취약점 패치

/phpcms/modules/가 발생합니다. content/down.php

(1) 위치 약 17라인

parse_str($a_k);
로그인 후 복사
로그인 후 복사
$a_k = safe_replace($a_k); parse_str($a_k);
로그인 후 복사
로그인 후 복사

로 대체 (2) 위치 약 89라인

parse_str($a_k);
로그인 후 복사
로그인 후 복사

$a_k = safe_replace($a_k); parse_str($a_k);
로그인 후 복사
로그인 후 복사

로 대체 (3)

$filename = date('Ymd_his').random(3).'.'.$ext;
로그인 후 복사

뒤 약 120라인 위치 추가

$fileurl = str_replace(array(&#39;<&#39;,&#39;>&#39;), &#39;&#39;,$fileurl);
로그인 후 복사

(1) phpcms/libs/classes/param.class.php는 약 109줄에 위치합니다.

원래 코드인

$password = isset($_POST[&#39;password&#39;]) && trim($_POST[&#39;password&#39;]) ? trim($_POST[&#39;password&#39;]) : 
showmessage(L(&#39;password_empty&#39;),HTTP_REFERER);
로그인 후 복사

$password = isset($_POST[&#39;password&#39;]) && trim($_POST[&#39;password&#39;]) ? addslashes(urldecode(trim($_POST[&#39;password&#39;]
))) : showmessage(L(&#39;password_empty&#39;), HTTP_REFERER);
로그인 후 복사

로 대체됩니다. (2)/phpsso_server/phpcms/libs/classes/param .class.php는 약 108줄에 있습니다. 원래 코드

$value = isset($_COOKIE[$var]) ? sys_auth($_COOKIE[$var], &#39;DECODE&#39;) : $default;
로그인 후 복사

$value = isset($_COOKIE[$var])?addslashes(sys_auth($_COOKIE[$var],&#39;DECODE&#39;)):$default;
로그인 후 복사

6으로 대체되었습니다. phpcms 어딘가의 논리 문제로 인해 getshell

/phpcms/libs/classes/attachment.class.php가 발생했습니다.

return isset($_COOKIE[$var]) ? sys_auth($_COOKIE[$var], &#39;DECODE&#39;) : $default;
로그인 후 복사

뒤에 약 143줄 뒤에

return isset($_COOKIE[$var]) ? addslashes(sys_auth($_COOKIE[$var],&#39;DECODE&#39;)) : $default;
로그인 후 복사
를 추가하면 된다. 이런식으로 허용되는 파일 형식이 'gif', 'jpg', 'jpeg', 'bmp', 'png'라면 계속한다. , 그렇지 않으면 튀어나올 것입니다. 물론 여기의 형식은 필요에 따라 늘어날 수 있습니다.

7. phpcms 주입 취약점

/api/phpsso.php는 약 128줄에 있습니다.

원본 코드

function download($field, $value,$watermark = &#39;0&#39;,$ext = &#39;gif|jpg|jpeg|bmp|png&#39;, $absurl = &#39;&#39;, $basehref = &#39;&#39;){
로그인 후 복사

는 phpcms authkey 생성 2인 코드로 대체됩니다. 알고리즘 문제로 인해 authkey 누출이 발생합니다

아래 함수에 따라 키 값을 다시 생성한 다음, 캐시/configs/system.php를 찾아 두 매개변수를 바꾸면 괜찮습니다

   $extArray=explode(&#39;|&#39;,$ext); 
     if(!empty($extArray) && is_array($extArray)){ 
         foreach($extArray as $k => $v){ 
           if(!in_array(strtolower($v), array(&#39;gif&#39;,&#39;jpg&#39;,&#39;jpeg&#39;,&#39;bmp&#39;,&#39;png&#39;))); exit(&#39;0&#39;);//循环判断如果
           有一个不符合,直接返回 0 
         } 
      }
로그인 후 복사
PHP 중국어 웹사이트, 다수의 무료 PHPCMS 튜토리얼

, 온라인 학습에 오신 것을 환영합니다!

위 내용은 PHPCMS 다양한 주입 취약점 패치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:aliyun.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!