webhacking.kr

    webhacking.kr Level 17 문제풀이

    webhacking.kr Level 17 문제풀이

    Level 17 unlock 값과 패스워드가 같으면 끝. 계산은... 크롬이 대신 해준다. 개발자모드에서 콘솔을 이용하자. flag : 999780930.7

    webhacking.kr Level 16 문제풀이

    webhacking.kr Level 16 문제풀이

    Level 16 키보드 를 누르면 '*' 문자가 생기고 마우스를 갖다 대면 지워진다... 뭥미...? 😕 Challenge 16 * mv 함수를 자세히 보니 cd의 값을 비교하며 작업을 수행하는데 마지막 부분에 cd가 124이면 특정 사이트로 이동 되는것 같다. cd값을 어떻게 변경해야 할까? python으로 확인해보니 ascii값 124는 '|'(파이프) 였다. 크롬 개발자모드의 콘솔에서 mv함수를 강제로 불러와 인자값으로 124를 넘겨줘도 풀릴것 같다. flag : webhacking.kr

    webhacking.kr Level 15 문제풀이

    webhacking.kr Level 15 문제풀이

    level 15 level 15 버튼을 누르면 "Access_Denied"라는 알림창이 뜨고 들어가 지지 않는다. fiddler를 통해 캡처를 해보았다. 패킷에 브레이크 포인트를 걸고 하나씩 보내보니 "password is off_script"라고 뜨고 전 페이지로 리다이렉트 되었다. flag : off_script

    webhacking.kr Level 14 문제풀이

    webhacking.kr Level 14 문제풀이

    Level 14 check버튼을 누르면 ".kr"까지 인덱스 크기를 구하고, 그 크기에 30을 곱한 값이 ul에 담기게 된다. 텍스트 박스에 값과 해당 값이 같으면 패스워드가 출력된다. 즉, 510을 넣고 버튼 누르면 끝. flag : 260100

    webhacking.kr Level 10 문제풀이

    webhacking.kr Level 10 문제풀이

    Level 10 O 소스코드에서 중요한 부분만 가져왔다. 해석하자면 id가 hackme이고 'O' 라는 문자의 위치는 (0,0)이다. 그리고 클릭할 때 마다 left좌표가 1씩 증가한다. 즉, 오른쪽으로 1씩 움직이게 된다. if문을 통해 left좌표가 800이 되면 ?go=800이 url에 추가되면서 이동한다. 그리고 'O'문자 위에 마우스를 올리면 'yOu'라고 표시된다. 처음 이문제를 풀때 크롬에서 풀었다. 클릭해도 아무런 반응이 없고, url에 ?go=800을 넣으면 'no hack'이라는 문자열이 출력되어서 쿼리문을 우회해서 푸는 문제인줄 알고 30분간 엄청난 삽질...💢♨️ 혹시나 하고 Internet Explorer로 실행하니 클릭할 때마다 정상적으로 움직인다. (하아...💢)이번일을 꼭 기..

    webhacking.kr Level 6 문제풀이

    webhacking.kr Level 6 문제풀이

    Level 6 초기 id = 'guest', pw = '123qwe'로 설정되어 있고, base64로 20번 인코딩 된 다음 치환 알고리즘을 통과하고 쿠키에 값을 담고 페이지를 리셋한다. 그리고 쿠키값에서 id와 pw를 가져와 치환 되었던 값들을 다시 복구 하고, base64 20번 디코딩 후, id와 pw가 'admin' 이면 문제가 풀린다. 따라서 쿠키값 안에 id와 pw를 admin을 base64로 인코딩 후, 똑같은 치환 과정을 거친 값을 넣어주면 될 것 같다. 소스코드에서 base64로 인코딩하고 숫자들을 일정 특수문자로 바꾸는데, 어쩌피 다시 원상태로 치환 시키게 되고, base64는 본래 특수문자가 없는 암호문이여서 그대로 넣어주면 된다.

    Webhacking.kr Level 4 문제풀이

    Webhacking.kr Level 4 문제풀이

    Level 4 대소문자알파벳 + 숫자 + '='가 있는 것으로 보아 base64인것 같다. c4033bff94b567a190e33faa551f411caef444f2flag 인줄 알았더니 .. 아니였다.이렇게 쉬울리가 없지. 사이즈를 보니 40바이트이다. 구글에 "40바이트 암호화"라고 치고 확인해보니 SHA1의 암호화 출력값 길이는 160비트(40바이트)라고 한다. ✌️ SHA1 decrypt 사이트에서 값을 넣어 복호화 하니 또 다시 40바이트 짜리 암호문이 나왔다. 그래서 한번더 복호화 하니 flag값을 얻을 수 있었다. flag : test

    Webhacking.kr Level 1 문제풀이

    Webhacking.kr Level 1 문제풀이

    Level 1 keyword : cookie 변조 user_lv이없으면 SetCookie로 인해 user_lv를 1로 설정한다. eregi에 의해 user_lv가 0~9가 아니여도 user_lv가 1로 설정된다. 또, user_lv가 6이상이면 user_lv가 1로 설정한다. user_lv가 5보다 크면 문제가 풀리게 된다. 내용을 종합하면 user_lv가 5보다 크고, 6보다 작은 값이면 된다. 크롬 확장플러그인을 이용하여 쿠키 값을 5.5로 바꾸면 된다.