chipkkang9's story

[Webhacking.kr] challenge old-01 문제 write-up 본문

CTF/Web

[Webhacking.kr] challenge old-01 문제 write-up

chipkkang 2022. 3. 1. 22:23

문제소개


[Webhacking.kr] challenge old-01

 

문제풀이


웹해킹의 고수가 되고 싶다.

webhacking.kr을 우선 정복해보려고 한다.

기한은 한 달 안에 클리어하기

 

시작해보쟈아아아아아아아아ㅏ

 

우선 1번이다.

 

view-source를 눌러보면 웹 페이지 코드가 나오는데,

코드는 다음과 같다.

핵심이 되는 코드는 아래 php 코드이다.

 

위 php 코드에서는 view_source 값이 1일 경우에

view_source를 실행하는 구조로 되어있다.

 

아래의 php 소스 코드에서는 user_lv에 해당하는 값을

비교하는 구문이 적혀져 있다.

 

첫 번째 비교 구문에서는 user_lv에 해당하는 쿠키값이 숫자인지를 판단하는 구문이고,

숫자의 값이 정수가 아닐 경우 user_lv 값이 1 대입된다.

 

두 번째 비교 구문에서는 user_lv이 4 이상이면

user_lv 값이 1 대입된다.

 

마지막 비교 구문에서는 user_lv이 3 초과

1번 문제가 풀리게 된다.

 

해당 단서들을 모두 종합해 보면,

user_lv가 숫자여야 하고,

user_lv 값이 4 미이어야 하며,

user_lv 값이 3 초과여야 문제가 풀리게 될 것이다.

 

그렇게 되면 후보가 되는 값들은

3 < user_lv < 4

is_numeric이라는 함수가 숫자인지를 판단하는 것이지,

정수임을 판단하는 것은 아니니까.

 

쿠키를 조작하는 부분에다가 3.1, 3.5 이런식으로 쿠키를 변조해주면 될 것이다.

 

방법은 아래 두 가지와 같다.

 

 

방법 1.

 

크롬 관리자 도구(F12)에서 user_lv값을 변조한다.

관리자도구 > Application > Cookies > https://webhacking.kr

에 들어가면 user_lv을 조작할 수 있다.

 

 

방법 2.

 

Chrome의 확장 프로그램인 EditThisCookie를 이용해서

쿠키 값을 변조해 줄 수도 있다.

 

 

이쁘게 문제가 풀리는 것을 알 수 있다.

 

 

'CTF > Web' 카테고리의 다른 글

[Webhacking.kr] challenge old-02 문제 write-up  (0) 2022.03.09
[HackCTF] 보물 문제 write-up  (0) 2022.02.10
[HackCTF] Button 문제 write-up  (0) 2022.02.09
[HackCTF] Hidden 문제 write-up  (0) 2022.02.09
[HackCTF] / 문제 write-up  (0) 2022.02.09
Comments