본문 바로가기

웹해킹

(15)
Suninatas 7번 풀이 오늘은 suninatas 7번을 풀어봅시다.문제에 들어가면 아이유 사진과 입력 폼... ...그리고 버튼이 기다려줍니다. 코드를 확인해보면 위의 입력폼과 하단의 버튼이 각개의 form으로 이루어져 있다는 사실을 알 수 있게됩니다. 따라서 버튼을 누르면 다음과 같이 뜹니다.(흐... 흥! 느리면 플래그를 주지 않을거라구!) 그래서 frm이라는 이름을 가진 form을 submit해줍니다. 여러번 시도( [F5] + [↑] + [ENTER] )하다보면 다음과 같이 뜨면서 인증키가 나옵니다. 짜잔! sunintas.com 7번 문제 클리어!
Suninatas 4번 풀이 Suninatas 4번문제를 풀어봅시다.우리가 사용할 수 있는 버튼은 [Plus] 하나뿐이니 계속 연타해주면25에 도달했을 즈음에다음과 같은 alert창이 발생한다. 그리고 이 페이지의 코드를 확인해보면 처음에는 없던 주석이 생긴다.SuNiNaTaS로 50을 만들라는것 같다.문제에 User-agent값이 나와있던것으로 보아 User-agent를 SuNiNaTaS로 변조하여 보내주면 될것 같은 느낌이 들었다.피들러에 브릭포인트를 걸고 패킷을 잡아User-agent 헤더값을 SuNiNaTaS로 변조한 뒤최종 확인한 다음피들러가 지원하는 반복 보내기 기능(Replay - Reissue Sequentially)을 활용하여부족한 횟수인 25를 입력하고 브릭포인트를 풀어준 다음실행해주고사이트로 돌아가서 Plus 버..
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 54번 문제 풀이 - 한국인의 참을성 WEBHACKING.KR 54번 문제 풀이[ 비교대신 대입! ]그럼 오늘은 webhacking.kr 54번 문제를 풀어보도록 하자. 비밀번호는.... 일단 기다려봅시다...기다리면 일단 하나씩 나옵니다. 하지만 현대 문명의 한국인들은 이런 느리고 깐죽대는 행위를 가장 싫어하죠.따라서 우리는 우리의 비밀번호를 알기 위해 코드를 작성해봅시다. 코드를 재작성하기 위해서는 원래코드를 알아야겠죠?원래 코드는 다음과 같습니다. function run(){ if(window.ActiveXObject){ try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { return new ActiveXObject('Microsoft.XMLHTTP'); } ca..
webhacking.kr 20번 문제 풀이 - 비교대신 대입! WEBHACKING.KR 20번 문제 풀이[ 비교대신 대입! ]그럼 오늘은 webhacking.kr 20번 문제를 풀어보도록 하자. 아무거나 치고 code 섹션에 캡챠까지 치고 submit을 눌렀더니 다음과 같이 뜹니다. 그래서 사이트를 잘 둘러보니 상단에 다음과 같은 문구가 있었다. 사이트가 로드된 시점을 기준으로 2초안에 보내야 하나보다. 사람 손과 인터넷으로는 불가능한 속도니까 스크립트의 힘을 빌려보자.원래 저 페이지의 코드에 있던 스크립트는 다음과 같다. function ck() { if(lv5frm.id.value=="") { lv5frm.id.focus(); return; } if(lv5frm.cmt.value=="") { lv5frm.cmt.focus(); return; } if(lv5frm..
webhacking.kr 58번 문제 풀이 - 3분카레... 아니 플래시 WEBHACKING.KR 58번 문제 풀이[ 3분카레... 아니 플래시 ]그럼 오늘은 webhacking.kr 58번 문제를 풀어보도록 하자. 여기 뭔가 아무거나 치고 싶어지니 한번 쳐봅시다. 그런데 얘가 싫다네요. 그러면 어쩔수 없죠, 이 플래시 파일(swf)을 다운받아버립시다.다운받는법은 다들 아시죠? 암튼 다운로드 하세요. https://www.free-decompiler.com/flash/ 설치과정쯤이야 다들 엔터만 쳐서 설치할것이 뻔하니까 패스하고 바로 로드해 봅시다. 누가봐도 scripts를 보고 싶잖아요 그쵸? 누르니까 하나밖에 없네요 이제 이 버튼에 연결된 scripts를 확인해봅시다. ??????????????????????????????????????????????????????????..
webhacking.kr 26번 문제 풀이 - 두번인코딩 WEBHACKING.KR 26번 문제 풀이[ 두번인코딩 ]오늘은 webhacking.kr의 26번 문제를 풀어보자.들어가면 이 페이지의 백엔드 코드를 담은 index.phps로 가는 하이퍼링크 하나만 있습니다. 저 링크를 통해 들어가면 이 페이지의 프론트와 백엔드를 모두 확인할 수 있는데, 언제나 그랬듯 백엔드 부분만 살펴볼것이다. if(eregi("admin",$_GET[id])) { echo("no!"); exit(); } GET을 통해 넘어온 id값이 admin이라면 no!를 띄우고 종료한다. $_GET[id]=urldecode($_GET[id]); 사이트를 로드할때 처음 하는 인코딩과 별개로 한번 더 인코딩하여 id값으로 설정해준다. if($_GET[id]=="admin") { @solve(26,..