목록CTF/Webhacking.kr (7)
deepble

문제 분석 문제는 간단합니다. F12를 눌러 Script부분을 확인해보면, unlock이라는 변수를 확인할 수 있습니다. 또한 함수부분(function)은 pw값이 unlock과 같으면 해결된다는 것을 알 수 있습니다. 문제에서 입력값을 받는 부분이 하나 밖에 없어서 바로 넣으면 되지만, 왜 저 칸이 pw인지 궁금하다면 form태그를 확인해보면 됩니다. 풀이unlock 값 계산하기 unlock 값 입력하기 check 버튼을 누르면 문제는 풀리게 됩니다. 굉장히 간단한 문제였습니다.

문제 분석 구글 폼에서 '0개의 옵션을 선택해야 한다'는 조건에도 불구하고, 실제로 옵션을 하나도 선택하지 않으면 '필수 질문입니다.'라는 메세지가 출력되어 제출이 불가능해집니다. 이 문제에 대해 자체적으로 제작한 사이트가 아니라 구글이 제공하는 설문지 플랫폼을 이용한 문제이기 때문에, 웹해킹을 적용하기 어려울 것이라 생각했습니다. 하지만 막상 F12로 코드를 본 결과, 분석할 만한 부분이 없었으므로 바로 풀이로 넘어가겠습니다. 풀이 F12 개발자 도구 열기 해당 사이트 코드를 분석하기 위해서 F12를 눌러 개발자 도구를 살펴보았습니다. Script 부분 확인하기 그 다음 이전에 분석에서 1개이상을 클릭하면 0개를 선택해야한다고 뜨고, 0개를 선택하면 필수 질문이라고 동적으로 변경되는 것을 보며 스크립트..

문제 문제 링크로 들어가면 다음과 같이 소스코드를 볼 수 있는 링크와 ID : guest, PW : 123qwe가 적혀있는 것을 확인할 수 있습니다. 따라서 소스코드 페이지에 들어가면 아래와 같이 소스코드 확인이 가능합니다. 아래는 소스코드 전체를 가져온 것입니다. 분석 (전체 코드 중에서 html코드는 중요하지 않아 분석하지 않았습니다.) 먼저 php코드가 총 2개가 있는 것을 확인할 수 있습니다. 따라서 먼저 첫번째 php 코드를 분석하겠습니다. 첫 번째 PHP 코드 include "../../config.php"; config.php라는 외부 파일을 포함하고 있습니다. webhacking.kr 문제들 소스코드를 보면 많이 등장하므로 여기에 함수나 전역변수 등등이 담겨져있는 것 같습니다. (중요하지 ..

문제 webhacking.kr의 old-3의 문제 페이지를 열면 다음과 같이 네모로직을 할 수 있는 페이지가 나옵니다. 분석 네모로직 규칙에 맞게 문제를 풀고, solved를 눌러줍니다. 그러면 'clear!'이라는 메세지와 함께 name을 입력받고 있음을 확인할 수 있습니다. name으로 SQL 인젝션 공격이 가능할까 하여 항상 참이되는 값을 넣어줍니다. 'submit'을 누르면 이전에 값으로 입력했던 값들과 함께 다음과 같이 리스트를 확인할 수 있습니다. SQL 인젝션 문자를 넣었지만 그대로 name에 출력되는 것을 보아 입력값에 SQL인젝션을 사용하는 것이 아니라는 생각이 들었습니다. 따라서 다시 이전페이지로 가서 F12로 코드를 살펴봅니다. value값이 특정한 값으로 지정되어 있다는 것을 확인할..

문제 문제화면을 보면 다른 정보가 없어 F12를 눌러 소스코드를 확인합니다. 분석 소스코드 분석 문제에서 소스코드를 보면 시간정보와 admin.php에 관한 정보가 있습니다. admin.php 확인 password로 SQL 인젝션을 시도한 결과 실패하였습니다. F12로 소스코드를 확인한 결과 별다른 힌트는 없었습니다. 따라서 password를 찾아 입력해야하는 것으로 보입니다. 쿠키값 확인 다른 정보가 없어 cookie값을 확인합니다. 쿠키 이름이 time이고 값이 1711501080인 것을 확인했을 때, 유닉스타임스템프로 확인이 필요해보입니다. ■ 유닉스타임스템프 시간 변환 사이트 https://www.epochconverter.com/ Epoch Converter Convert Unix Timesta..

문제 문제 사이트에 들어가면 아래와 같이 화면이 보이며, 소스코드를 확인하기 위해 [view source]로 들어갑니다. 분석 config.php라는 외부 파일을 포함하고 있습니다. 이 파일에는 데이터베이스나 함수 등의 설정들을 담는 것으로 보입니다. view-source 파라미터가 1이라면 view-source()함수를 호출하고 있습니다. 'user_lv' 라는 쿠키가 존재하는지 확인하고 없다면, 쿠키를 생성하여 'user-lv'를 1로 설정하고 30일 후 만료되도록 합니다. 또한 경로는 '/challenge/web-01'로 설정합니다. 그 후 페이지를 즉시 새로고침하는 meta 태그를 사용하여 페이지에 접근 시 기본 레벨을 설정하고 페이지를 새로고침하여 쿠키 값을 반영하고 있습니다. 첫 번째 조건에서..

문제 분석 해당 문제는 파일 업로드를 통해 서버에 웹쉘을 업로드한 후 flag를 읽는 것입니다. 조건문부터 분석을 시작하겠습니다. 변수 type에 업로드된 파일의 MIME타입을, 변수 name에 업로드된 파일의 이름을 할당합니다. (미디어 타입, MIME 타입, 콘텐츠 타입은 인터넷에 전달되는 파일 포맷과 포맷 콘텐츠를 위한 2 부분의 식별자입니다.) 파일 타입이 발견하지 못하면 “type not detected”메세지와 함께 종료됩니다. 파일 이름에 “..”, “/”, “\\”, “.htaccess”와 같은 문자열이 포함되어 있으면 “dont do that” 메세지와 함께 종료됩니다. 파일 MIME 타입이 “text/”, “application/octet-stream”으로 시작하면 “wrong type..