hack
webhacking.kr Level 14 문제풀이
Level 14 check버튼을 누르면 ".kr"까지 인덱스 크기를 구하고, 그 크기에 30을 곱한 값이 ul에 담기게 된다. 텍스트 박스에 값과 해당 값이 같으면 패스워드가 출력된다. 즉, 510을 넣고 버튼 누르면 끝. flag : 260100
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 문제풀이
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 문제풀이
Level 4 대소문자알파벳 + 숫자 + '='가 있는 것으로 보아 base64인것 같다. c4033bff94b567a190e33faa551f411caef444f2flag 인줄 알았더니 .. 아니였다.이렇게 쉬울리가 없지. 사이즈를 보니 40바이트이다. 구글에 "40바이트 암호화"라고 치고 확인해보니 SHA1의 암호화 출력값 길이는 160비트(40바이트)라고 한다. ✌️ SHA1 decrypt 사이트에서 값을 넣어 복호화 하니 또 다시 40바이트 짜리 암호문이 나왔다. 그래서 한번더 복호화 하니 flag값을 얻을 수 있었다. flag : test
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로 바꾸면 된다.