<span class="tpc_content">Luoluo Niu が今日パッケージを発見しました。この脆弱性は素晴らしいです :) <br>passport_client.php の変数は、これらの判断を回避するように初期化されていません: <br><br>if(!$passport_ifopen || $passport_type != ' client'){<br> exit("Passport Closed(PHPWind)");<br>}//送信:パスポート_ifopen =1&passport_type=client bypass<br><br><br>if(md5($ action.$userdb .$forward.$passport_key) != $verify){<br> exit('Illegal request(PHPWind)');<br>} //内部の変数はカスタマイズできるため、sy Bypass<br><br>parse_str(StrCode($userdb,'DECODE'),$userdb); //StrCode($userdb,'DECODE') に注意してください。そのため、変数 $userdb, StrCode($userdb,'DECODE') を送信する必要があります。 it<br><br>if($action=='login'){//Submit action=login<br><br> if(!$userdb['time'] || !$userdb['username'] || !$userdb['password']){<br> exit("パラメータ不足(PHPWind)");<br> }//Data<br><br> をデコードした後、送信された $userdb にはこれらが必要です。 ($timestamp-$userdb['time']>3600){<br> exit('パスポートリクエストの有効期限が切れました(PHPWind)');<br> }//送信時間 userdb[' time'] 大きくなります<br>。 ...<br> $rt=$db->get_one("SELECT uid $sql FROM pw_members WHERE username='$userdb[username]'"); <br> if ($rt){ // がある場合このユーザーは、次のステートメントを呼び出してパスワードなどを変更します。 <br><br> $sql && $db->update("UPDATE pw_members SET $sql WHERE uid='$rt[uid] '");<br> $sql2 && $db->update("UPDATE pw_memberdata SET $sql2 WHERE uid='$rt[uid]'"); <br><br> }else{//これがない場合、ユーザーは以下を呼び出して <br><br> $db->update("REPLACE INTO pw_members($sql1,groupid,memberid,gender,regdate,signchange) VALUES($sql2,'-1',' 8') を追加します。 ,'0','$timestamp','1')"); <br></span> <p style="width:100%;text-align:center;margin:10px 0"> <br> <br> </p> <p style="width:100%;text-align:center;margin:10px 0"> </p> <p class="clear"></p>