전체 글(303)
-
level3[old]
이번시간에는 level3를 풀어보겠습니다 공부하는 입장이니 틀린것이 있더라도 양해부탁드리겠습니다 level3에 들어가니 스토쿠같은표가 보입니다. 막 눌러 보았는데 검은색으로 표시되는 부분도 있고 안되는 부분도 있는 것 같습니다. 막 눌러보니 해당 5*5부분만 검은색으로 체크표시가 되는것을 확인했습니다. 이 상태로 solved버튼을 눌러보니 no라고 뜨며 해당 url에 알수없는 기호들이 나타납니다. 일단 스토쿠처럼 해당숫자에 맞게 체크표시를 해봐야 될 것 같습니다. 계속시도를 해보니 가로세로의 숫자를 맞추어야되는 패턴을 가지고 있습니다. 찾아보니 위 스토쿠같은 퍼즐을 노노그램이라고 한다고합니다. 노노그램의 기본적인 규칙이 있는데 규칙의 내용은 아래와 같습니다. 쓰인 숫자만큼의 연속된 칸을 칠해야 한다. 숫..
2022.04.15 -
level11[old]
level11에 들어가니 Wrong이라는 문구가 보임 일단 뭔지 모르겠으니 view-source를 눌러 소스코드를 봄 소스코드를 보니 변수 pat에 regular expression을 넣어준것을 확인하고 regular expression이 담긴 pat과 get방식으로 입력받은 val값을 preg_match함수로 비교해서 일치하면 클리어되는 것 같음. 해당 regular expression을 살펴보면 / -> regular expression의 시작과 끝을 표현함 [] -> 문자를 문자집합으로 그룹화 시키고 해당 그룹화된 문자중 하나를 찾음[여기서는 1-3중 하나를 찾음] ex) [bcd] "bart", "cart"... 이 해당됨 {} -> 발생횟수를 의미함. 여기서는 {5}라고 되어있는데 [a-z]중 ..
2022.04.15 -
Encapsulation & Decapsulation
공부한것을 기록하는 목적으로 작성된 것이니 기본적인 내용이라 이미 아시는 분들은 패스하시거나 참고하시면 감사하겠습니다 ○Encapsulation 우리는 네트워크 통신을 하면서 데이터를 전달을 한다. 이 데이터를 블록단위로 구분지어 패킷이라고 통칭을 함. 패킷은 간단하게 헤더|페이로드|풋터 형태로 되어있는데 이 헤더를 데이터 앞쪽에 붙여나가는 것을 캡슐화라고 생각할수있다. osi7나 tcp/ip모델에 대해서는 너무 유명해서 잘알고 계실거라고 생각한다. 데이터 패킷을 전송하는 동안에 osi7 각 계층을 거치면서 각 계층마다 정보를 추가한다. 위 그림처럼 데이터 패킷을 보내면 최상위 7계층부터 최하위1계층까지 상위레벨에서 하위레벨로 순차적으로 거치게된다. 그리고 모두가 아시다 싶이 데이터를 보낼때 7계층에서 ..
2022.04.14 -
level19[old]
이번시간에는 level19를 풀어보겠습니다 공부하는 입장이니 틀린것이 있더라도 양해부탁드리겠습니다 level19에 들어가 보니 id를 입력하고 제출하라고 나타납니다. admin을 입력하고 제출했습니다. you are no admin이라고 나타납니다. 쿠키값을 확인해보니 이상하게 암호화된 값이 보입니다. 그런데 익숙한 %3d가 보입니다. %3d 는 = 을 url인코딩 값입니다. 어떤 암호화로 설정되었는지 찾아보니 base64 암호화 기법은 =으로 끝나는 특징이 있다고 합니다. 즉 위 쿠키값은 base64로 인코딩된 값입니다. ex) admin -> YWRtaW4=[base64 Encoding], hi -> aGk=[base64 Encoding] 위 쿠키값을 base64로 디코딩시켜주면은 될 것 같습니다. ..
2022.04.13 -
dragon
이번시간에는 dragon을 풀어보겠습니다 공부하는 입장이니 틀린것이 있더라도 양해부탁드리겠습니다 소스코드를 확인해 보겠습니다 preg_match 함수로 prob _ . ( ) 를 필터링 $query = "select id from prob_dragon where id='guest'# and pw='{$_GET[pw]}'" $result['id'] 가 있다면 Hello $result['id'] 값을 출력 $result['id'] 가 admin과 일치한다면 클리어 그런데 쿼리부분을 보니깐 id='guest'# 에 주석처리가 되어있어서 and pw='{$_GET[pw]}'" 를 다 무시해버리기 때문에 pw에 어떠한 값을 넣어주어도 Hello guest 밖에 안나올 것 같습니다. 접근방법 pw에 값을 인식하게 ..
2022.04.13 -
xavis
이번에는 xavis를 풀어보겠습니다 이번 xavis문제는 힌트를 참고했습니다[역대급으로 까다로운 문제여서 힌트없이는 힘들었습니다ㅠ] 소스코드를 보겠습니다. prob _ . ( ) regex like 을 필터링 해줍니다 cf) regex = 특정한 규칙으로 문자열을 찾아내줌 addslashes함수로 $_GET['pw'] 필터링 $result['pw']와 $_GET['pw']가 정확히 일치해야 클리어되는 blind sql injection 문제인 것 같습니다 기존의 blind sql injection 문제풀이럼 접근하면 되는 줄 알았습니다 당연히 pw의 길이를 구하고 길이가 8이라 예측했지만 아니었습니다... 힌트를 찾아보니 UNION 을 활용해서 푸는 방법이 있었습니다. SQL에서 UNION은 두 개 이상..
2022.04.13