본문 바로가기

webhacking.kr문제풀이

(5)
LEVEL 4 공부하기 싫을 때 진로를 명분으로 온 나의 도피처...이다. 풀이하려고 했으나 항상 실패하는 문제를 이제 도전해보려 한다. **해시와 레인보우 함수는 다음 블로그를 참조해보자. 풀기 위해선 알아야한다. https://clanguageconquerer.tistory.com/54 해시와 레인보우 테이블 webhacking.kr의 문제중 4단계에 있는 문제가 있다. 페이지에 주어진 해시화 된 암호문을 평문으로 바꾸고 그것을 입력하면 문제가 해결되는 단계이다. 이 문제를 풀면서 해시를 접하게 되었고, 해 clanguageconquerer.tistory.com 우리는 php코드만 보면 된다. php코드를 통해서 random으로 10000000부터 99999999까지의 수 중에서 무작위로 하나가 해시화 된다는것을 ..
11단계(old) 드디어 30점 문제를 포스팅하게 되었다. 빠르게 페이지부터 보도록 하자. 갑자기 wrong이 뜬다. 하하하하 진짜 이렇게 아무것도 없을 수 있을지... 그래도 소스를 볼 수 있으니 링크를 타고 들어가서 소스를 보도록하자. view-source 우리는 전체를 볼 필요는 없고 필요한 부분을 보도록하자. 다른부분은 싹다 빼고 중요한 php코드를 보면 변수 pat부분을 보면 pat는 '정규식부분_+(0개 이상의 문자열)+자신의 ip+(0개 이상의 문자열)+ p a s s'이다. 정규식 부분을 자세히 보도록 하자. 1~3의 문자중 1개와 a~f까지 문자 중 5개를 입력하는것인데 ex) '1abcdf'-TRUE, '1abcd'-FALSE가 되는것이다. _문자열을 입력하고 '*'는 0개이상의 문자열을 입력하라는 것이..
10번 문제풀이 이게 뭐지 싶었던 문제중 하나. 문제 푸는 방법이 2가지가 있다. 먼저 F12를 눌러 코드부터 보면 이런식으로 나오는데 여기서 가장 중요한부분은 a태그에 있는 코드이므로 나머지는 무시해버리자. 한번 클릭할 때 마다 1px씩 이동하는데 만약 px의 값이 1600이 되면 링크이름+go='1600this.style.left'로 이동하면서 문제가 풀리는 그런 문제였다고 생각했다. 그래서 링크 뒷부분에 ?go=1600this.style.left를 붙여봤는데(이러면 당연히 풀릴줄) no hack이 나오면서 풀리지 않았다. 너무 슬픈걸...? 내가 문제를 풀면서 발견한 방법은 2가지가 있다. 1. 일일이 클릭하기 px수가 1600에 도달할때까지 계속 누르는 방법이다. 정말 찐노가다 난 이거 시도하다가 포기했다. 16..
17번 (old)문제풀이 문제 풀다가 생각보다 허무하게 끝나서 다른 문제들보다 먼저 올려본다 이 문제는 정말 코드를 모르는 생초보가 봐도 풀수있는 문제라고 장담할 수 있다. 클릭후 첫화면을 보면 검은 바탕에 입력박스와 체크박스밖에 없다. 위의 사진처럼 아무거나 쳐봤는데 Wrong이라는 말과 함께 경고창이 뜬다. F12를 눌러 코드를 보니까 숫자가 이렇게나 많았다. 너무 많아서 혼절할뻔;; 사실 숫자공포증 있음 대충보면 이게 뭔 소리인가 싶겠지만 알고보면 굉장히 쉬운 코드인것을 알 수 있다. 코드 구성 언어는 html, javascript이다. 그런데 우리가 볼부분은 javascript이므로 로 구분되어 있는 부분을 제외하고는 무시하도록 하자. 구문을 해석해보자면 unlock의 값이 저렇게 긴 숫자들의 값이고 만약 login.pw..
1번 문제풀이(old) 정말 오랜만이다. 간만에 글을 쓰려니 잘 안써지는것 같다. 그래도 최대한 열심히 써보도록 하겠다. *이 블로그는 공부목적으로 쓰는 글이며 틀린것이 있다면 둥그런 지적 부탁드린다. 먼저 문제풀이를 위해 level1을 들어가보면 아래 사진과 같은 화면을 볼 수 있다. 여기에서 view-source를 눌러서 링크를 타고 들어가보면 이러한 코드를 볼 수 있을것이다. 이 코드를 해석을 해보자면(내 해석이 정확하지 않을 수 있다) 쿠키(user_lv)의 값이 3보다 크면(초과) solve 즉 문제가 풀리게 되고 쿠키(user_lv)값이 4이상이면 쿠키의 값이 1로 반환되며, 이 과정을 모두 마치면 쿠키값이 3과 4사이에 있을때 'level:자신이 입력한 값'으로 뜨고 만약 다른수를 입력했다면 'level:1'로 출..