webhacking.kr(69)
-
old-05 풀이
Login, Join 두 가지 버튼이 있습니다 우선 Join부터 눌러봤습니다 Access_Denied가 뜨면서 접근이 되지 않습니다 바로 코드를 확인해 봤습니다 Join 버튼에 no() 함수로 onclick 이벤트가 달려있어서 "Access_Denied"가 떴던 거였네요 move() 함수를 보면 페이지가 로그인 페이지일 때, mem/login.php로 넘어간다고 합니다 왠지 mem/join.php 페이지가 있을 것 같으니, 넘어가 보겠습니다 이런 팝업창이 뜬 후에 검은 화면만 나옵니다 코드를 확인해 봤습니다 Challenge 5 코드가 너무 길어서 코드블럭으로 가져왔습니다 줄 바꿈이 하나도 안돼있네요;; 개발자도구 콘솔창에 코드 입력하며 난독화를 풀어야겠습니다 if(eval(document.cookie)..
2024.02.01 -
old-12 풀이
메인 페이지에 적혀있는 걸 보니 개발자 도구부터 열어봐야겠습니다 태그 안에 특수문자 이모티콘들이 잔뜩 들어있습니다 그 와중에 첫 번째 줄에 보이는 화난 얼굴과 빨간색 이모지 2개...ㅋㅋㅋ 태그 안에 들어있는 걸 보니 저 이모티콘들이 코드인 것 같습니다 이상한 인코딩 형식인 것 같은데... 우선 구글링부터 해봐야겠네요 코드의 일부분을 긁어와서 검색해봤습니다 aa라는 인코딩 방식인가 봅니다 제일 첫 번째로 나오는 사이트에 들어가서 디코딩해줍니다 var enco=''; var enco2=126; var enco3=33; var ck=document.URL.substr(document.URL.indexOf('=')); for(i=1;i
2024.01.31 -
old-11 풀이
pat 부분에 정규표현식으로 무언가 쓰여있습니다 정규표현식을 분석해 보면 아래와 같습니다 [1-3] : 1~3의 숫자 중 하나 [a-f]{5} : a~f 사이의 알파벳이 5개 등장 _ : 언더바와 일치 .* : 임의의 문자(0개 이상)와 일치 \t : 탭(Tab) 문자와 일치 p\ta\ts\ts : p, a, t, s 문자열과 탭 문자로 구성된 문자열과 일치 정규표현식에 나온대로 문자열을 하나 만들어준 뒤, 문자열을 URL의 val 파라미터로 넘겨주면 됩니다 +) $_SERVER[REMOTE_ADDR]이 들어있으므로, IP 주소도 넣어줘야 합니다 +) Tab 문자는 URL Encoding 한 후 넣어줘야 제대로 들어갑니다
2024.01.30 -
old-20 풀이
다양한 입력폼과 submit 버튼이 보입니다 그 위에는 시간제한이 적혀있는데 2초라고 합니다 2초 안에 모든 내용을 다 적어서 내라는 뜻인 것 같은데... 손으로는 풀 수 없는 문제인 것 같네요 코드를 보니 if문으로 조건들을 넣어주고 있습니다 lv5frm.~~~를 따다가 콘솔에서 값을 넣어보겠습니다 id와 cmt 값은 그냥 "test"로 넘겨주겠습니다
2024.01.30 -
old-47 풀이
메일 제목을 입력하고, 메일을 보내는 형식의 페이지입니다 "Flag of webhacking.kr old-47 chall"이라는 문장이 자동으로 들어가 있으니, 우선 send부터 눌러보겠습니다 메일을 보냈다는 안내 문구만 나오고, 메일 내용을 확인할 수는 없었습니다 이메일을 제가 사용하는 메일 주소로 오도록 하면 될 것 같습니다 방향성은 잡았지만, 어떻게 메일을 보내야 할지 몰라 구글링을 하다가 아래에 있는 글을 발견했습니다 https://blog.naver.com/PostView.nhn?blogId=jumpnu&logNo=220844356467 이메일에서 '참조(CC)'란? 이메일을 보낼 때, 가끔 "000를 참조 걸어 보내주세요"라는 이야기를 듣게 됩니다. 여기서 '참조(CC)'란 ... blog.n..
2024.01.30 -
old-06 풀이
이번 코드는 너무 길어서 코드블록으로 가져왔습니다 코드의 윗쪽 부분을 보면 val_id는 guest로, val_pw는 123qwe로 설정되어 있습니다 str_replace() 함수로 decode_id와 decode_pw에 문자 치환을 해 주고, 그 뒤에 20번의 base64 디코딩을 해줍니다 위 코드의 아랫쪽 부분을 보면, decode_id가 "admin"이면서 decode_pw가 "nimda"일 때 문제가 풀린다고 합니다 그러므로 "admin"과 "nimda"를 각각 암호화해서 쿠키에 넣어주면 될 것 같습니다 암호화 코드는 다 나와있으니, 저 코드를 그대로 긁어서 실행하여 나온 값을 사용하면 됩니다
2024.01.29