본문 바로가기

반응형

웹해킹

webhacking.kr(old) 10번 3개의 띠(?)가 있다. 일단 f12를 통해 코드를 본다. 코드를 보니, onmouseover이 있다. 대충 클릭하면 1씩 오른쪽으로 움직이는 듯 하다. 근데 O가 1600에 있어야 풀림을 확인할 수 있다. 그래서 이렇게 1을 1599로 변경했다. 마우스를 갖다대면 yOu로 된다. 이를 클릭하면 solve가 된다. 이미 풀었던 거라 이렇게 뜬다. 더보기
webhacking.kr(old) 6번 6번 문제에 들어가면 이렇게 view-source와 ID, PW가 적혀 있다. 일단 소스를 보도록 한다. 일단 php코드를 보니, id, pw를 base64_encode해야 하는데, 이를 20번 반복해야 함을 확인할 수 있다. 또한 1id와 pw에서 ~8을 각각 다른 문자로 대체함을 확인할 수 있다. decode또한 20번 반복함을 확인할 수 있고, 일단 id가 admin이어야 하고 pw가 nimda여야을 확인할 수 있다. 이렇게 온라인 컴파일러로 코드를 작성해 인코딩한다. user와 password에서 setcookie함을 확인할 수 있다. id와 pw는 명시되어 있으니 20번 인코딩해보도록 한다. php코드를 그대로 사용해도 될 것 같아 코드를 사용한다. id를 20번 인코딩한 결과는 아래와 같다. .. 더보기
webhacking.kr (old) 36번 36번을 풀어볼 예정이다. 복구를 도와달라는 것 같다. 복구하려는 파일 뒤에 .swp를 붙여준다. 그럼 해당 파일의 swp파일이 열린다. 다운 받은 위치로 가서, >vim (복구하려는 파일) 을 입력해서 R을 눌러준다. 그 후로는 뭔지 몰라서 터미널을 껐다 켰다. 위와 같이 cat (보려는 파일)을 입력했다. 그랬더니 FLAG가 나옴을 확인했다. auth에 아까 받은 flag를 넣어준다. 성공했다! 더보기
webhacking.kr 35번 35번에 들어가보니 phone 옆에 적을 수 있는 칸이 보인다. '11111'을 입력해보니 도메인에 저렇게 적힘을 확인할 수 있다. 'view-source'를 봐야겠다. php코드 부분만 보도록 한다. phone, id를 받았을 때, phone에 /*=-;# 등이 들어가면 exit한다고 한다. id의 길이가 5가 넘으면 exit한다고 한다. admin이 id에 들어가면 exit한다고 한다. (id, ip, phone)을 입력하라고 한다. 그 아래에서 solve하는 조건은 isAdmin['ip'] == $_SERVER['REMOTE_ADDR']임을 확인할 수 있다. isAdmin에서 id는 admin이고 ip는 $_SERVER~이다. (id, ip, phone) or die이기 때문에 values('~[i.. 더보기
webhacking.kr(old)46번 오늘은 46번을 풀어봤다. 들어가보니 이 장면이 보인다. 제출을 눌러보니 이 화면이 떴다. 뭔진 모르겠으니 view-source를 누른다. 밑에 php코드만 살펴본다. lv에 addslash를 하고 공백, '/', '*', '%'을 없애버림을 확인할 수 있다. 또, select, '0x', '|'이런 게 들어가면 exit()한다고 한다. result에서는 lv인 것에서 id, cash를 고른다고 한다. result['id']가 admin이어야 solve된다고 한다. 일단 && id=admin을 넣으러 간다. %26%26id=0x61646D696E를 넣어봤다. 근데 잘 안 됐다. 그래서 && id=char(97,100,109,105,110)을 넣기로 했다. %26%26id=char(97,100,109,10.. 더보기
webhacking.kr(old) 45번 오늘은 webhacking.kr 45번을 풀어보았다. 일단 id와 pw가 guest로 되어 있다. view-source를 눌러서 본다. '/admin|select|limit|pw|=|\i'가 id, pw에 들어가면 exit한다고 한다. result['id']가 admin이어야 solve된다고 한다. 일단 표시한 부분을 보면 id가 id이고 pw가 pw의 md5인 것을 고르라고 한다. pw에 md5가 들어가는 걸 보면 일단 pw는 알아내기 힘들 것 같다. 코드를 보니 id와 pw에 각각 addslashes를 해준다고 한다. +addslashes()? 문자열에 특수 문자(ex ('), ("), (\) )가 포함되어 있다면 그 문자 앞에 '\'를 붙이는 역할 밑엔, mb_convert_encoding가 보인다.. 더보기
webhacking.kr(old) 34번 34번 갑자기 이 알림창이 뜬다. 소스 코드를 봤는데 뭐라는건지 눈에 안 들어왔다. 난 맥북이라서 safari로 들어가 개발자 도구를 통해 소스코드를 봤다. 아까보다 눈에 보기 쉬워졌다. ++++이 부분은 그냥 탐색해보는 구간입니다 = 답이 아니란 소리++++ 여기에 초록색이 뜨길래 도메인에 3R^0c3hQ를 넣어줬는데 아니었다(머쓱) 콘솔창에 b()를 넣어 저게 뭔지 알 수 있도록 넣어봤다. 이것도 아님을 확인할 수 있다 ++++++++++++++++++++++헛발질 끝+++++++++++++++++++++ 소스코드를 보니, 다 정의하거나 return 밖에 없길래 alert를 검색해봤다. alert가 1개만 있는 것을 보니 제대로 짚은 것 같기도 하다. 아까 했던대로, b()를 콘솔창에 넣어보면서 해석.. 더보기
webhacking.kr(old) 58번 들어가면 흰 화면과 아래에 send버튼이 보임을 확인할 수 있다. cmd로 되어 있어, ls와 pwd, flag를 send해봤다. Admin만 된다고 하니 코드를 아래와 같이 바꿔봤다. 바꾼 후 flag를 넣었는데도 풀리지 않았다. 콘솔 창에 var username = "admin"; var socket = io(); socket.emit('cmd',username+":"+'flag'); socket.on('cmd', function(msg){ $('#messages').append($('').text(msg)); }); 를 쳐줬다. 대충 필요없는 부분만 버리고 쳤다. 근데 username : flag만 수정했다면 그냥 콘솔창에 코드 그대로 넣어도 된다. 입력하는 부분에 아무거나 쳤더니 위와 같이 나왔다.. 더보기

반응형