old-60 풀이
2024. 3. 25. 14:26ㆍwebhacking.kr
728x90
페이지에 처음 접속하면 idx를 보여줍니다 (51662)
접속 모드에 따라 페이지 동작이 다른 것으로 보입니다
이 부분에서 sleep() 함수가 사용되는 걸 보면 레이스 컨디션이 터질 것이라 예상됩니다
if문 부분을 보면, is_numeric()을 통해 PHPSESSID의 값이 숫자인지 아닌지 판단해 줍니다
만약 PHPSESSID가 숫자가 아니라면 Access Denied 처리를 해주네요
PHPSESSID를 숫자값으로 바꿔보겠습니다
이러면 로그인이 풀리게 됩니다
다시 로그인해서 문제에 접속해 주면....
Access Denied가 없어졌네요
제대로 우회가 된 걸 알 수 있습니다
이제 시크릿 탭을 하나 열어서 문제에 동시 접속을 해주며 레이스 컨디션을 터뜨려보겠습니다
시크릿 창에서도 PHPSESSID를 숫자로 바꿔주고, 문제에 접속해 줍니다
시크릿 탭에서 문제에 접속했다면, 원래 탭에서는 위와 같이 auth 모드로 들어갈 준비를 해둡니다
시크릿 탭을 새로고침 함과 동시에 auth 모드로 접속해 줍니다
728x90