보안공부/Webhacking.kr 풀이 (31) 썸네일형 리스트형 webhacking.kr 33번 문제 풀이 오늘은 33번 문제를 풀어보자. 문제를 열자마자 다음과 같은 화면이 반겨준다. 제공해준 코드를 확인해보니 GET메소드을 통해 넘겨받은 get이 hehe이면 다음으로 넘겨주는것 같다. 그래서 문제가 코드가 요구하는대로 했더니 문제는 해결되었다. 2단계 문제가 나왔다. 주어진 코드를 확인했더니 이번에는 post 메소드를 통해 post에 hehe를, post2에 hehe2를 담아서 보내라 한다. JS로 가상의 폼을 만들어 전송할 수 있지만 귀찮으니까 HTML 수정을 감이해 보내보자. 위처럼 코드를 작성하여 Submit 버튼을 누르니 풀렸다. Next를 눌렀더니 3단계가 나왔다. 제공해준 코드를 확인해보니 get 메소드를 통해 myip에 내 아이피 주소를 담아 전송해주면 되는것 같다. 따라서 요구대로 해줬더니 .. webhacking.kr 32번 문제 풀이 오늘은 32번 문제를 풀어보자. 처음 들어갔을 때 내 이름이 없었다.그래서 아래로 내려보니 Join 버튼이 있었다. 이 버튼을 누르니 내 닉네임이 팝업창으로 뜨며 랭킹에 이름이 올라갔다. 그리고 랭킹에 올라간 내 이름을 누르니 0에서 1로 올라갔다. 그래서 뭔가 100 채우면 인증될것 같아서 한번 더 눌러보았더니 다음과 같은 팝업이 뜨며 값이 올라가지 않았다. 혹시나 하는 마음에 쿠키값을 확인했더니 못보던 값을 찾았다. 그래서 이 못보던 값을 삭제해주고 다시 눌러주니 값이 증가했다. 두번 해보고 찍어서 3인거에요 읍읍 코드를 확인해보니 hit값에 있는 닉네임의 값의 숫자를 올려주는 모양이다.그래서 vote_check값을 제거한 후 /challenge/codeing/code5.html?hit=jeongjy.. webhacking.kr 27번 문제 풀이 오늘은 27번 문제를 풀어보자. 이 페이지의 코드를 확인해 봤을떄 필터를 한번 거친 후 넘겨받은 no를 db 쿼리문에 바로 넣어 처리하는 것 같았다. webhacking.kr 38번 문제 풀이 오늘은 38번 문제를 풀어보자. 흠 Admin이라는게 참 탐나보여 눌러보니 로그를 확인하는곳으로 추정되는 페이지로 이동되었다. 저 페이지의 코드를 둘러보던 중 admin이 힌트라는 주석을 찾았다. 그래서 나는 무턱대고 admin을 입력했다. 당연히 될리가 없다. 그래서 아무 글자나 치고 테스트해보니 로그에는 IP:내용 의 형태로 입력되는것 같다. 그리고 admin의 앞과 뒤에 문자가 있으면 필터링하지 않는것 같다. 그러면 admin이라는 단어를 만들어주기 위해서는 admin\n이 되어야 할 것이라고 예상했다. 이렇게 치고 Admin을 눌러 들어가니 놀랍게도 문제가 해결되었다. WEBHACKING.KR 38번 문제 클리어! webhacking.kr 42번 문제 풀이 오늘은 42번 문제를 풀어보자.저 압축파일 주세요~싫어욧! 그래서 test.txt를 눌렀더니 test.txt는 정상적으로 불러온다. 그런데 어찌 링크가 수상하다. =가 있는걸 봐서 Base64임이 분명하다. BINGO! 따라서 test.zip을 받으려면 Base64로 인코딩하여 요청해야한다고 생각했다. 인코딩으로 나온 결과값을 보냈더니 test.zip파일을 받을 수 있었다. 하지만 이 파일에는 비밀번호가 걸려있었는데, 이 문제의 index에 주석으로 힌트가 있었는데... 이 파일의 비밀번호는 숫자로만 이루어져있습니다? 그럼 상용 브루트포스 프로그램을 사용해봅시다.돌린지 얼마 되지 않아 비밀번호가 852라는 결과를 안겨줍니다. 이 값으로 압축되어있던 readme를 풀었고, 그 안에는 링크가 하나 있었다. .. webhacking.kr 3번 문제 풀이 - 또는참 WEBHACKING.KR 3번 문제 풀이[ 또는참 ]그럼 오늘은 webhacking.kr 3번 문제를 풀어보도록 하자.얼추 눈치챈 사람들도 있겠지만 사이드에 있는 숫자들이 괜히 있는게 아니다. 위와 같이 이 퍼즐을 맞추고 gogo버튼을 누르고 나면 플래그가 나올것 같지만, Hello World ^^ 이름치는 칸이 나온다. 아무거나 입력하고 write 버튼을 누르니 입력이 된다. 그런데 입력하면 스택이 쌓이는 형태인것으로 보아, DB에 저장해주는것 같다. 따라서 우리는 일정한 값이고, 수정이 가능한 값을 찾아야 한다. 그래서 자세히 들여다보니 answer이 우리가 맞췄던 퍼즐의 값으로 우리가 찾던 조건과 정확히 부합하는것을 알 수 있다.따라서 form에서 숨겨져있는 필드인 answer의 값을 변조해보자. .. webhacking.kr 10번 문제 풀이 - 함수마라톤 WEBHACKING.KR 10번 문제 풀이[ 함수마라톤 ]※ 이 문제는 IE에서만 작동합니다! ※그럼 오늘은 webhacking.kr 10번 문제를 풀어보도록 하자. O 저 O에 붙어있는 onclick태그를 통해 style태그를 통해 오른쪽으로 1씩 이동해주는 코드이다. 따라서 O를 누르면 yOu로 바뀌고, 누르면 오른쪽으로 1칸 이동시켜준다.전에도 언급한 바와 같이 1칸씩 이동하면 느릿느릿하니 한국인의 정서에 맞지 않는다. 따라서 100으로 변조하자. O 100으로 변조하고 몇번 눌러주면 노란 바 위에 O가 올라가며 문제가 해결된다. (800으로 설정해주고 누르면 바로 해결된다.) WEBHACKING.KR 10번 문제 클리어! webhacking.kr 23번 문제 풀이 그럼 오늘은 webhacking.kr 23번 문제를 풀어보도록 하자. 를 입력하라는게 목표라고 한다. 뭐, 그쯤이야 쉽지... 라고 생각하던 순간... WTF? 뭔가 이 페이지의 코드에 Javascript에 쓸만한 내용이 있지 않을까? 라는 생각으로 확인했더니 ... Nope 그러면 우리가 직접 필터링되는 단어를 찾아봐야겠죠? 보아하니 특수문자는 막히지 않은것 같네요. script라는 단어와 script를 자른 단어가 되지 않는것으로 보아, sc, cr, ri, ip, pt 의 형태로 차단된것으로 보입니다. 따라서 우리는 %00으로 뛰어쓰기 처리를 해봅시다. 그렇다면 구문은 다음과 같이 작성되겠죠? a%00l%00e%00r%00t%00(1);%00 form에 소속된 칸을 통해 제출하면 %를 인코딩시켜 %.. 이전 1 2 3 4 다음