본문 바로가기

wargame/webhacking.kr

(20)
webhacking.kr 14번 문제 개인적으로 매우 간단해서 풀기 좋았던 문제 입니다.javascript문제 인데요. 아래의 그림을 참고해봅시다.현재 URL을 ul이라는 변수에 저장합니다.그리고 그 ul 변수에서 ".kr"의 위치를 ul에 저장시킵니다.그 위치에 *30한 값을 ul에 다시 저장합니다.ul의 값과 입력 받은 값이 같을 때 password를 출력해 줍니다. 브라우저 console을 이요하면 쉽게 답을 알 수 있습니다.답은 510인데요 여기서 510을 입력하고 Enter를 누르시면 아마 답이 출력이 안될 것 입니다.마우스로 check를 클릭해 주시면 됩니다. (javascript) (답은 소스코드에 나오듯이 510*510)입니다.
webhacking.kr 12번 문제 chrome console를 이용하여 쉽게 소스 코드를 확인 할 수있습니다. url을 이용해서 여러가지 연산을 하는데요하나 하나 다 해석해도 좋지만, chrome의 console기능을 이용해서 쉽게 문제를 풀 수 있습니다. 해석 enco='';enco2=126;enco3=33;// 위는 변수에 각각을 대입하는 것입니다.ck=document.URL.substr(document.URL.indexOf("=")) 순차적으로 해석하면 document.URL.indexOf("=")는 현재 URL에서 "=" 문자열의 인덱스 값을 가져오는 것입니다.하지만 URL에 "="가 존재 하지 않으므로 -1doucument.URL.substr(-1)은 1입니다.ck에는 1이 들어가게 됩니다. 아래 if문에서 ck를 == 연산자를..
webhacking.kr 11번 문제 풀이 안녕하세요 :) webhacking.kr 11번 문제를 풀어보도록 하겠습니다. 일단 문제는 아래의 정규식에 알맞게 출력하면 됩니다. 아래와 같은 정규식을 맞추기 위해서는 정규식을 공부해야 하는데요 https://wikidocs.net/4308 여기서 정규식을 보고 공부하시면 됩니다.테스트는 http://www.regular-expressions.info/javascriptexample.html 저는 이런식으로 정규식을 이용했습니다.
webhacking.kr 12번 문제 webhacking.kr 12번 문제풀이 일단 시작하면 javascript 문제라고 알려줍니다.소스코드를 보면WorkTimeFun=String.fromCharCode(118,97,114,32,101,110,99,111,61,39,39,59,13,10,118,97,114,32,101,110,99,111,50,61,49,50,54,59,13,10,118,97,114,32,101,110,99,111,51,61,51,51,59,13,10,118,97,114,32,99,107,61,100,111,99,117,109,101,110,116,46,85,82,76,46,115,117,98,115,116,114,40,100,111,99,117,109,101,110,116,46,85,82,76,46,105,110,100,1..
webhacking.kr 10번 webhacking.kr 10번 문제 풀이 일단 문제를 시작하기 이전에 chrome으로 문제를 풀다 풀이를 보러 오신 분들이면 internet explorer로 하세요 !!저는 chrome으로 하다가.. (침묵) .... 캡처를 옛날에 해두었는데사진이 하나도 안보이네요.... 생각을 더듬어 보면서 글을 쓰겠습니다.이번에는 javascript challenge였습니다. 소스코드를 해석해보면 마우스 커서를 올려놓으면 0이 되나 아무튼 저 0을 클릭하면 1씩 이동하게 됩니다.결국 800이 되면 solve를 주는데요 무식하게 0을 800 번 클릭하시는 것도 나쁘지 않습니다. 저는 아래와 같이 수정 했습니다. html 을 this.style.posLeft+=100 이라고 수정했습니다. 그러면 한번 클릭 할 때 마..
webhacking.kr 6번 문제 webhacking.kr 6번 문제를 풀어보도록 하겠습니다. 첫 화면은 위와 같습니다. index.phps를 확인하라내요 위는 php 문법을 해석해 보자면user라는 쿠키값이 없을 때 val_id=guestval_pw=123qweid와 pw를 각각 base64 encoding으로 20번 반복합니다.숫자를 특수문자로 변환 시키는 코드입니다.(신경 x)그리고 그것을 쿠키로 저장시킵니다. 그리고 위의 php 문법은 user가 있을 때에 해당하겠죠? decode를 20번합니다. cookie값은 user와 password입니다. 아이고 사진이 잘 안나왔네요.. 일단 해석을 하면 if 문으로 user와 password를 decode한 값이 admin 일때 solve를 줍니다. user와 password 쿠키를 만들..
webhacking.kr 5번 문제 webhacking.kr 5번 문제를 풀어보도록 하겠습니다. 일단 5번 문제에 들어가게 되면 이렇게 2가지가 나옵니다. Login과 Join이 있는데요 join을 누르시면 위와 같이 Access_Denied가 출력 됩니다. 여기서 url을 잘 보시면 mem 이라는 폴더에 join.php가 존재합니다. 저는 웹페이지 폴더만 보면 일단 디렉토리 리스팅을 시도하는 버릇이 있어서 ㅋㅋㅋ hint 페이지에 도달하게 됩니다. (디렉토리 리스팅을 관련한 문제가 좀 신기했어요)실제 디렉토리 리스팅이 된것은아니고 아마 Errordocument를 설정 혹은 url을 검사해서 이런 페이지로 이동하도록 한건 아닐까 생각해봅니다. 아무튼 여거서 join.php를 누르게 되면 javascript의 영향을 받지 않고 들어올 수 있..
webhacking.kr 26번 문제 풀이 webhacking.kr 26번 문제 풀이 index.phps 를 확인합니다. Get 파라미터를 사용해서 id 값을 받습니다. 확인해 보면 admin 이라는 단어를 필터링 하고,urldecode 해서 값이 admin 이면 sovle를 줍니다. 하지만 영어와 숫자 들은 url encoding 을 해도 바뀌지 않습니다. 제가 여기서 해결한 방법은 핵스 인코딩을 하고 다시 url encoding을 하는 방법입니다. 일단 admin 을 hex encoding 하면%61%64%6D%69%6E입니다. (이걸 id 값에 넣어보면 no hack 이 뜨겠죠?) 즉 핵스로 변환해도 평문과 같은 역할을 한다는 겁니다.이걸 이요해서 헥스로 변환된 admin 값을 url encoding 해줍니다.%2561%2564%256D%2..