본문 바로가기

웹해킹

(116)
old-24 롸업(webhacking.kr) 문제 화면이다. client ip와 agent에 대한 정보가 나와있고 Wrong IP!라고 떠 있다. view-source view-source로 코드를 확인해봤다. ip를 127.0.0.1로 만들어야 하는 거 같은데 그 위에 str_replace 함수로 .. 12 7. 0. 이렇게 4개를 치환하고 있다. 이건 그냥 치환 우회를 하면 될거 같다. extract 함수로 COOKIE를 추출하기 때문에 REMOTE_ADDR 변수를 쿠키에 담아두면 된다. 112270...00...00...1 이렇게 하면 우회가 된다. 1122는 12가 되고 ..을 .으로 바꿔주면 70..00..00..1이 되고 7.은 없으니 넘어가고 0.을 없애면 7.0.0.1이 되거 127.0.0.1이 완성된다. 쿠키에 이렇게 넣어주고 새로..
old-23 롸업(webhacking.kr) 를 넣어야 한다. 일단 아무거나 입력해 봤는데 딱히 안된다. 어떤 식으로 필터링이 되는지 전혀 알 수 있는 방법이 없어서 이전에 배웠던 xss필터링 우회 기법을 여러개 사용해봤지만 먹히는 것이 없었다.(치환우회, url 인코딩 등.. 전부 다 실패) 근데 뭘 입력해도 no hack이라고 떴는데 어쩌다가 그냥 d 한글자만 입력하니까 no hack이 안 뜬다. 한글자만 입력하면 필터링에 안 걸리는 거 같다. 근데 저 script 태그를 어떻게 한 글자로 표현할지 고민하다 띄어쓰기를 넣어서 입력했더니 또 필터링에 안걸린다. 그래서 문자가 연속하면 안될거 같아서 a l e r t ( 1 ) ; 이렇게 다 띄어서 입력해봤다. 뜨긴 뜨는데 풀었다고 안 뜬..
old-20 롸업(webhacking.kr) nickname, comment, captcha 칸에 입력을 하고 submit을 누르면 ck 함수가 실행된다. nickname과 comment에는 아무거나 입력을 하고 captcha는 적혀있는대로 맞게 입력을 해보면 Too slow.. 라고 뜨면서 다시 이 페이지로 돌아온다. 위에 써져 있는 time limit: 2 second가 문제인 것 같다. lv5frm.id.value='d';lv5frm.cmt.value='dd';lv5frm.captcha.value=lv5frm.captcha_.value; lv5frm.submit(); 자동화를 해주기 위해서 자바스크립트 코드를 사용했다. 페이지를 새로고침해주고 console 창에 저 코드를 복붙하면 맞는 captcha 값이 들어가면서 submit이 자동으로 실..
old-19 롸업(webhacking.kr) 문제 화면이다. 그냥 한번 제출을 눌러보면 you are not admin이라고 뜨면서 몇초 뒤에 다시 이 화면으로 넘어온다. admin 말고 그냥 아무 문자나 넣어서 제출해봤는데 이렇게 로그인이 된다. 그런데 로그아웃 버튼을 눌러도 로그아웃은 되지 않는다. 쿠키를 보면 userid라는 쿠키에 값이 들어있다. 쿠키가 어떤 식으로 생성되는지에 대한 코드를 찾으려고 했는데 아무리 찾아도 보이지 않는다. admin만 안되는거 같아서 admi로 로그인을 해봤더니 MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjYzMjQ1Mzk4OGQ5YTE1MDFiODY1YzBjMGI0Y..
old-17 롸업(webhacking.kr) 문제 화면이다. unlock 변수가 복잡한 수식으로 계산되어 있고 pw.value가 unlock이면 다른 링크로 이동한다. console 창에서 unlock 계산식을 복붙해서 값을 알아냈다. 입력창에 7809297.1을 입력하고 체크 버튼을 누르면 풀린다.
old-16 롸업(webhacking.kr) url을 보니 이번 문제도 js 관련 문제인 것 같다. script 안에 있는 js코드만 보면 document.body.innerHTML+="*"; function mv(cd){ kk(star.style.left-50,star.style.top-50); if(cd==100) star.style.left=parseInt(star.style.left+0,10)+50+"px"; if(cd==97) star.style.left=parseInt(star.style.left+0,10)-50+"px"; if(cd==119) star.style.top=parseInt(star.style.top+0,10)-50+"px"; if(cd==115) star.style.top=parseInt(star.style.top+0,10..
old-15 롸업(webhacking.kr) 문제를 클릭하면 그냥 바로 Access_Denied라고 뜨고 확인을 누르면 홈 페이지로 돌아온다. 그래서 확인을 누르기 전에 Disable Javascript를 체크해주고 새로고침을 눌러보면 홈 페이지로 튕기지 않고 구성 코드를 확인할 수 있다. 코드를 보면 ?getFlag 링크에 Flag가 있기 때문에 url에 ?getFlag를 붙이고 접속해보면 풀린다.
old-14 롸업(webhacking.kr) 무언가 입력하고 check버튼을 누르는 창이 보인다. 코드를 확인해보니 input_pwd 값에 입력값이 담기고 check 버튼을 누르면 ck 함수가 실행된다. ck 함수를 분석해보면, ul에 url을 담고 indexOf(".kr")을 한다. webhacking.kr에서 indexOf(".kr")을 하면 u1에는 10이 담기고 ul은 u1*30이니까 300이 된다. 조건문을 만족해야 하기 때문에 그냥 input_pwd를 300으로 해주면 될줄 알았는데 안된다. 고민하다가 고민할 필요가 없다는 걸 깨닫고 직접 console창에다 자바스크립트 코드를 실행시켰다. 540이 나온다. https:// 때문에 8글자가 추가돼서 540이었다... 540을 넣고 check를 눌렀더니 문제가 풀릴줄 알았는데 놀랍게도 안 ..