
CodeIgniter <=2.1.4 におけるセッションクッキー復号の脆弱性
CodeIgniter <= 2.1.4のセッションCookieで、_xor_encode()メソッドを使用するものをデコードするPoCスクリプトです。
詳細は次のブログ記事にあります: https://www.dionach.com/blog/codeigniter-session-decoding-vulnerability
break.py これはメインスクリプトです。対象のURIを指定すると、Cookieを取得してセッションキーのブルートフォースを試みます。このスクリプトがCookieを見つけたが復号に失敗した場合、サーバーにはMcryptがインストールされており、この攻撃に対して脆弱ではないことを意味します。 testkey.py このスクリプトは、提供された(ハッシュ化された)キーを使用してセッションCookieを即座にデコードします(このキーは、break.pyを使用して取得したらスクリプトに追加する必要があります。 encrypt.php このスクリプトはCodeIgniterが使用する暗号化関数に基づいており、暗号化されていないCookie(シリアライズされたPHP配列)を取得し、提供されたキーを使用して暗号化します(このキーはスクリプトに追加する必要があります)。
アプリケーションを攻撃する手順は次のとおりです: