2번 항목으로 돌아왔습니다 !

저번에 포스팅 했던 1번 항목은 php 관련하여 소스 코드를 분석하여 그나마 쉽게(?) 풀었는데
2번 항목은 아이콘만 봐도 DB 관련 문제인걸로 확인됩니다(DB에 취약한 블로거)
하지만 ! 포기하지 않고 도전 해보겠습니다

역시나..달랑 텍스트만 존재하는 페이지네요.
웹 해킹에 필수적인 개발자 도구를 사용하여 해당 페이지의 소스 코드를 확인 해 봐야 할 것 같습니다

다른 소스는 볼 필요 없이 2번 항목은 빨간색 사각형으로 마킹한 주석 구문이 눈에 띕니다 !
상단의 시간은...무슨 의미인지 모르겠고 하단의 admin.php가 힌트인 것 같습니다.

web-02 디렉터리에 admin 페이지가 확인됩니다.
2번 항목은 올바른 패스워드를 제출해야 풀리는 것 같습니다.
하단 주석에 대한 부분은 풀렸고..상단 주석의 시간(?)이 무엇을 의미하는지 찾아봐야 할 것 같습니다.

2번 항목 admin.php가 아닌 최초의 페이지로 돌아와서 쿠키 값을 확인 해보겠습니다.
!! Time 쿠기가 확인됩니다. 하지만 쿠키 값이 전혀 추측이 안되는 정수네요...
임의적으로 값 변조를 해봐야겠네요

먼저 time 쿠키 값을 1로 변경 해본 후 해당 페이지의 주석이 변경되었는지 확인 해보겠습니다

해당 쿠키 값을 1로 변경 하니 09:00:01 초 단위가 변경되었습니다.


쿠키 값을 10으로 변경하니 초 단위가 '10' 으로 변경되었습니다 !
2번 항목은 쿠키 값을 변경하여 DB에 대한 정보를 얻어야하는 것 같습니다...
쿠키 값을 변경 - 주석 처리된 시간이 변경....
일반적인 SQL Injection으로는 숫자로만 표현되기 때문에 DB 테이블 컬럼 갯수 밸류 값을 확인 못 할 것 같습니다
!! 그럼 참일 때 1로 표현되고 거짓일 때 0으로 표기되는 Blind SQL Injection을 이용하면 어떨까 생각됩니다

쿠기값을 0으로 변경 후 새로 고침을 하니

최초의 쿠키 값으로 변경되며 주석 처리된 시간도 최초의 시간으로 변경됩니다
Blind SQL Injection을 사용 하려면 참 또는 거짓 일 때 결과 값이 확인되어야 하지만
쿠키 값을 0으로 변경 했을 때 최초의 쿠키 값으로 변경 되기 때문에 SQL Injection을 이용 해보겠습니다.


쿠키 값을 거짓 값(0) 으로 변경 했을 때 09:00:00 초단위가 ' 00 ' 으로 표기 됩니다
이러한 점을 취합하여 추측 했을 때
쿠키 값에 참일 경우 초 단위 '쿠키 값' // 거짓일 경우 = 초 단위 '00' - 표기
Blind SQL Injection 엄청난 노가다를 필요로 하는걸 잘 알기에...........
다음 글에 이어서 적도록 하겠습니다
'4. Web Hacking > 1. Webhacking.kr' 카테고리의 다른 글
| Challenge(old) - 05 (0) | 2022.02.04 |
|---|---|
| Challenge(old) - 03 (0) | 2022.02.04 |
| Challenge(old) - 02 Part.3 (0) | 2022.02.04 |
| Challenge(old) - 02 Part.2 (0) | 2022.02.04 |
| Challenge(old) - 01 (0) | 2022.02.04 |