-
2018 KDMHSCTF 예선 끝나고 푼것들정보보안/CTF 문제풀이 2018. 6. 24. 21:55
easy login
easy login ( 990p )oh so easy login ;)hint : guest주어진 사이트에 들어간다.
admin 계정을 따는 게 최종 목표일 것이다. 먼저 힌트처럼 guest/guest로 로그인한다.
쿠키값을 보니 guest라는 값이 있다. 이를 통해 유저를 식별하는 것으로 보인다.
이렇게 admin으로 쿠키값을 변조하고 페이지를 다시 로딩하면
admin이 될 수 있다.
안녕 나는 PHP의 strcmp 함수 취약점을 이용해서 익스플로잇이 가능한 문제야!
라고 온몸으로 외쳐준다.
wargame.kr의 strcmp 문제에서 배웠던 취약점이다. PHP의 strcmp 함수는 입력값을 배열로 넣으면 NULL을 반환한다는 것이 그 내용이다.
이를 패치하려면
==
가 아니라===
로 엄격한 비교를 해주면 된다(==
를 쓰면 NULL을 0으로 인식하기 때문에 취약점이 발생하지만===
를 쓰면 NULL과 0을 서로 다른 것으로 인식해서 문제가 없다).name을 password에서 password[]로 바꿔주고 아무말을 입력하면...!
우와 플래그는
dimi{umm,easy_login}
이라고 한다.예선 때는 미처 쿠키값을 확인하지 못해서 못 풀었었던 것 같다. 대회가 끝나고 며칠 뒤 다시 풀고서 자괴감이 매우 많이 들었다.
'정보보안 > CTF 문제풀이' 카테고리의 다른 글
DIMICTF 2018 finals WriteUp (0) 2018.07.23 ROOTCTF 1회 WriteUP (0) 2017.12.25