phpwind 5.01-5.3 0dayに関する解析記事
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-21 09:00:40
Luoluo Niu が今日パッケージを発見しました。この脆弱性は素晴らしいです :)
passport_client.php の変数は、これらの判断を回避するように初期化されていません:
if(!$passport_ifopen || $passport_type != ' client'){
exit("Passport Closed(PHPWind)");
}//送信:パスポート_ifopen =1&passport_type=client bypass
if(md5($ action.$userdb .$forward.$passport_key) != $verify){
exit('Illegal request(PHPWind)');
} //内部の変数はカスタマイズできるため、sy Bypass
parse_str(StrCode($userdb,'DECODE'),$userdb); //StrCode($userdb,'DECODE') に注意してください。そのため、変数 $userdb, StrCode($userdb,'DECODE') を送信する必要があります。 it
if($action=='login'){//Submit action=login
if(!$userdb['time'] || !$userdb['username'] || !$userdb['password']){
exit("パラメータ不足(PHPWind)");
}//Data
をデコードした後、送信された $userdb にはこれらが必要です。 ($timestamp-$userdb['time']>3600){
exit('パスポートリクエストの有効期限が切れました(PHPWind)');
}//送信時間 userdb[' time'] 大きくなります
。 ...
$rt=$db->get_one("SELECT uid $sql FROM pw_members WHERE username='$userdb[username]'");
if ($rt){ // がある場合このユーザーは、次のステートメントを呼び出してパスワードなどを変更します。
$sql && $db->update("UPDATE pw_members SET $sql WHERE uid='$rt[uid] '");
$sql2 && $db->update("UPDATE pw_memberdata SET $sql2 WHERE uid='$rt[uid]'");
}else{//これがない場合、ユーザーは以下を呼び出して
$db->update("REPLACE INTO pw_members($sql1,groupid,memberid,gender,regdate,signchange) VALUES($sql2,'-1',' 8') を追加します。 ,'0','$timestamp','1')");
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2025-02-26 03:58:14
-
2025-02-26 03:38:10
-
2025-02-26 03:17:10
-
2025-02-26 02:49:09
-
2025-02-26 01:08:13
-
2025-02-26 00:46:10
-
2025-02-25 23:42:08
-
2025-02-25 22:50:13
-
2025-02-25 21:54:11
-
2025-02-25 20:45:11