PPC has fixed Discuz! 7.1 and 7.2 remote execution vulnerability _ PHP Tutorial

Source: Internet
Author: User
PPC has fixed Discuz! 7.1 and 7.2 remote execution vulnerabilities. On the afternoon of October 13, January 6, based on Discuz! 7.17.2 vulnerabilities and related attack methods. PHPChina urgently contacted the dz r & D department and released the Discuz-based online version of PHPChina on the afternoon of November 3, January 6 in the shortest time! 7.1 and 7.2 vulnerabilities and related attack methods. PHPChina urgently contacted the dz r & D department and patch the official PHPChina Forum program in the shortest time to ensure the normal use and safe operation of members on the PHPChina Forum. Thank you for your interest and support for PHPChina. we will always adhere to the user-oriented principle to provide you with a safer and more convenient learning and communication environment. The following is an introduction:

First, the vulnerability is transmitted from the core t00ls group. xhming reads the vulnerability first, and then I read it later. all the code is read and executed. on the evening of July 11, more, at the requirement of hackers in the core group, xhming gave a poc, and I gave an exp, which indeed found the same problem. As of, I went offline. only a few people in the t00ls core group knew the exp I gave, but I couldn't think of it. after half a day, exp went off, and it does come from my version yesterday.

It's hard to imagine the speed at which exp is circulated. A has A good relationship with B. A is sent to B. B is A good friend with C. B is sent to C... some people are always unable to bear the temper and leak some wind, so there is a hand. What is the most unbearable is that some SB are sold in the group. I really don't want to say anything. When is it your turn to sell? If you have any questions in the future, you can hide them yourself.

In the morning, the vulnerability tells Saiy that the official DZ patch is coming soon.

Related reading:Kang shengchuangxiang released Discuz! 7.2 Patch 20100110

Note: The $ scriptlang array that causes the vulnerability has been initialized after the plug-in is installed. Therefore, users who have installed the plug-in are not affected.

Vulnerability description:

Discuz! Parameters executed in eval in showmessage functions of new versions 7.1 and 7.2 are not initialized and can be submitted at will.PHPCommand.

Vulnerability Analysis:

Next we will analyze this remote code execution vulnerability. this issue is really serious. you can directly write the shell:

1. the vulnerability comes from the showmessage function:

Copy to ClipboardReference: [www.bkjia.com] function showmessage ($ message, $ url_forward = '', $ extra ='', $ forwardtype = 0 ){
Extract ($ GLOBALS, EXTR_SKIP); // dangerous usage. uninitialized variables can be directly imported into the function, which directly leads to problems. from www.oldjun.com
Global $ hookscriptmessage, $ extrahead, $ discuz_uid, $ discuz_action, $ debuginfo, $ seccode, $ seccodestatus, $ fid, $ tid, $ charset, $ show_message, $ inajax, $ _ DCACHE, $ advlist;
Define ('cache _ FORBIDDEN ', TRUE );
$ Hookscriptmessage = $ show_message = $ message; $ messagehandle = 0;
$ Msgforward = unserialize ($ _ DCACHE ['Settings'] ['msgforward ']);
$ Refreshtime = intval ($ msgforward ['refreshtime']);
$ Refreshtime = empty ($ forwardtype )? $ Refreshtime: ($ refreshtime? $ Refreshtime: 3 );
$ Msgforward ['refreshtime'] = $ refreshtime * 1000;
$ Url_forward = empty ($ url_forward )? '': (Empty ($ _ DCOOKIE ['Sid ']) & $ transsidstatus? Transsid ($ url_forward): $ url_forward );
$ Seccodecheck = $ seccodestatus & 2;
If ($ _ DCACHE ['Settings'] ['functionid'] & $ _ DCACHE ['Settings'] ['functiony'] & $ funcstatinfo &&! IS_ROBOT ){
$ Statlogfile = DISCUZ_ROOT. './forumdata/funcstat. log ';
If ($ fp = @ fopen ($ statlogfile, 'A ')){
@ Flock ($ fp, 2 );
If (is_array ($ funcstatinfo )){
$ Funcstatinfo = array_unique ($ funcstatinfo );
Foreach ($ funcstatinfo as $ funcinfo ){
Fwrite ($ fp, funcstat_query ($ funcinfo, $ message). "\ n ");
}
} Else {
Fwrite ($ fp, funcstat_query ($ funcstatinfo, $ message). "\ n ");
}
Fclose ($ fp );
$ Funcstatinfo = $ GLOBALS ['functionstatinfo'] = '';
}
}

If (! Defined ('stat _ DISABLED ') & STAT_ID> 0 &&! IS_ROBOT ){
Write_statlog ($ message );
}

If ($ url_forward &&(! Empty ($ quickforward) | empty ($ inajax) & $ msgforward ['quick'] & $ msgforward ['messages '] & @ in_array ($ message, $ msgforward ['messages ']) {
Updatesession ();
Dheader ("location:". str_replace ('&', '&', $ url_forward ));
}
If (! Empty ($ infloat )){
If ($ extra ){
$ Messagehandle = $ extra;
}
$ Extra = '';
}
If (in_array ($ extra, array ('halted', 'noperm '))){
$ Discuz_action = 254;
} Else {
$ Discuz_action = 255;
}

Include language ('messages ');

$ Vars = explode (':', $ message); // you only need to include:
If (count ($ vars) = 2 & isset ($ scriptlang [$ vars [0] [$ vars [1]) {// two numbers, separated:
Eval ("\ $ show_message = \"". str_replace ('"', '\"', $ scriptlang [$ vars [0] [$ vars [1]). "\"; "); // $ scriptlang is not initialized and can be customized, from www.oldjun.com
} Elseif (isset ($ language [$ message]) {
$ Pre = $ inajax? 'Ajax _':'';
Eval ("\ $ show_message = \" ". (isset ($ language [$ pre. $ message])? $ Language [$ pre. $ message]: $ language [$ message]). "\"; ");
Unset ($ pre );
}

......
}

  • 2 pages in total:
  • Previous Page
  • 1
  • 2
  • Next page

In April January 6, the network was based on Discuz! 7.17.2 vulnerabilities and related attack methods. PHPChina urgently contacted the dz r & D department and was the PHPChina official in the shortest time...

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.