22.10.05
if(!$_POST['mb_id']) { alert("잘못된 접근입니다."); goto_url(G5_URL); }
mb_id 값을 post 방식으로 받고, 그 값이 존재만 한다면, 따로 검사를 하지 않는다.
이후 password_reset_update.php 로 넘어가게 된다.
$mb_id = isset($_SESSION['ss_cert_mb_id']) ? trim(get_session('ss_cert_mb_id')) : '';
$mb_dupinfo = isset($_SESSION['ss_cert_dupinfo']) ? trim(get_session('ss_cert_dupinfo')) : '';
하지만 password_reset_update.php 에서 mb_id값과 dupinfo 값을 세션으로 요청한다.
set_session("ss_cert_type", $cert_type);
set_session("ss_cert_no", $md5_cert_no);
set_session("ss_cert_hash", $hash_data);
set_session("ss_cert_adult", $adult);
set_session("ss_cert_birth", $birth_day);
//set_session("ss_cert_sex", ($sex_code=="01"?"M":"F")); // 이니시스 간편인증은 성별정보 리턴 없음
set_session('ss_cert_dupinfo', $mb_dupinfo);
set_session('ss_cert_mb_id', $row['mb_id']);
ini_find_result.php 에서 mb_id 값을 세션으로 받은 후, password_reset.php 로 접근해야 한다.
생각한 페이로드 : ini_find_result.php 에서 값을 검사하지 않는 POST 값을 BURP SUITE로 임의로 설정해,
쿼리문을 보내어 권한 검증을 우회하여 세션 값을 받은 후, 이를 이용하여서 비밀변호를 변경한다.