20번문제를 풀도록 할께요!



입력창 3개에

do not programming!

this is javascript challenge

라는 글이있네요 javascript문제인가 봅니다


자바스크립트 부분을 보면

id,cmt,hack의 value가 비어있으면

focus()를 하는 스크립트입니다.

또 hack.value가 attackme.value이아니면 focus를 하네요

위 조건들을 만족하지않으면 submit()이 되는데

그대로 작성해 보겠습니다.



위의 소스를 보시면 각 입력란이 어떤 이름인지 알 수있어요~



위처럼 이렇게 조건과 다르게 입력을 해줘봤습니다!



Wrong이라네요.. 뭐가 문제일까요??

여기서 제 글을 좀 유심히 보셨다면 찾으셨을겁니다!



바로 time limit : 2라는 거입니다!

2번째 사진 우측위에 있어요~

그렇다면 시간 제한내에 입력할 방법을 찾아봐야겠죠??



콘솔을 이용해서 위와 같이 입력을 해주면

attackme의 value가 바뀌어도

빠르게 입력이 가능해져요

제출도 같이해주니까 소스를 복사해뒀다가

콘솔에 붙여넣기해서 Enter를해주면!



이미 풀었던 문제라 저는 이렇게 뜬답니다.

문제 풀이후

포스팅까지 좀 시간이 걸렸네요.

그러면 다음문제에서 뵐게요

블로그 이미지

Kylin_1Q84

,


점점 글쓰기가 귀찮아 지기시작하지만...

그래도 꾸준히 올리겠습니다 ㅜㅜ



12번은 일단 자바스크립트 문제라고하네요

그러면 소스를 봐야겠죠?



스크립트 부분이 가장 중요해요!

일단은 무슨 기능을 하는지 잘 몰라가지고

이것저것해봤습니다.


fromCharCode는 숫자를 맞는 글자로 바꿔주는거같아서

바꿨더니 엄청난 코드가 나와버렸습니다...



이런 코드들이 나왔는데..

복붙해서 콘솔에 넣어봤더니

undefine이였나?? 그래서 var같은거 없애고

오류가 안뜨는구문으로 따로 넣어줬습니다.



이것저것해서 enco는 ASCII에 있는걸

좀 넣어놓은거같네요


funtion enco_(x)가 작동하지않아서

리턴값이 enco.charCodeAt(x) 므로 메모장으로 바꿔줬습니다.

그걸 출력해봤더니!


=youaregod~~~~~~~~!



password는 =을 때시면됩니다!



clear!!!!!!



블로그 이미지

Kylin_1Q84

,


16번 문제를 풀러 왔습니다!



별이 몇개있네요 저게 암호화 되있는걸까요?

소스를 볼게요


kk함수와 mv 함수가 있고

mv함수내에서 kk가 불려지고 그러는것같네요

그다음 4번째줄에 보시면

onkeypress = mv(event.keyCode) 라는게 보이네요

어떤키를 누르면 그 값의 코드가 mv의 인자로 들어가는거같아요

keyCode가 되게 많던데

기본적으로는 ASCII인거 같고 몇개 더 추가된것처럼보여요


mv내에 보시면 loacation.herf 문장이있는데

이게 다른것이랑 다르니까 아마 정답링크이지 않을까 싶습니다.



이것저것 눌러보고 이제 keycode 124을 찾으려 구글링을했더니

F13이 124번이라더군요.. 그런게 키보드에 어딨어!!!!

그래서 좀 한참을 찾았습니다 ㅜ | 였네요



그래서 |를 눌렀더니 답이나왔습니다!


답은 webhacking.kr 이였습니다!



클리어 했네요 ㅜ 역시 구글이 답!

블로그 이미지

Kylin_1Q84

,


오늘은 14번을 풀어보도록 하겠습니다!



무언가를 입력하고 check하는것 같습니다

늘 그렇듯 소스를 보도록해야겠죠?


ul = document.URL 이고

다시 ul은 .kr의 위치를 반환하여 ul으로 한다!

위에서 나온 ul에 30을 입력하여 ul로 하고

입력한값을 ul과 비교한다.


.kr의 위치만 알면 ul이 나오겠죠??

http://webhacking.kr이니까..

.kr은 17번째에있네요 (0부터시작)

ul은 510입니다!



이렇게 510을 입력을 해보면



답은 260100이라고 합니다



Auth에 제출을 했는데 오류때문에 두번눌렀더니

이미 클리어했다고 하네요 ㅎ

그럼 다음문제에서 봐요!

블로그 이미지

Kylin_1Q84

,


이번에는 17번 문제를 풀어보도록 할게요!

(이미풀고 글쓰는건 안비밀)



17번문제를 눌러서 들어가게되면 check하는 창이있네요

webhacking의 시작은 항상 소스보기부터!



입력한 값이 unlock과 같으면

password는 unlock/10이라네요!

unlock을 계산해봅시다.



콘솔에 이런기능이 있는지 몰라서 파이썬으로 코드를 짰었는데

너무길어서 그런지 답이 다르게 나오더라구요

콘솔이 짱짱입니다!


Password를 알아냈네요!

Auth에 입력하도록 합시다~

블로그 이미지

Kylin_1Q84

,


이번에는 50점짜리 15번을 풀어보도록 하겠습니다!

(2번은 500점이라 어렵네요)



눌렀더니.. 접근을 할 수 없다네요.. 왜지??



진짜 창이 1초만에 꺼지는데 열심히 캡쳐했습니다!

스크립트를 끄는게 비밀번호라네요.

소스를 보도록 하겠습니다.



1초만에 꺼지는 창에서 소스보는게 정말 어려웠습니다..

아무튼 스크립트가 존재하는데

경고! - 뒤로가기 - password is off 네요

그외에는 별로 다른게 없으니 정말 스크립트를 끄면될꺼같아요.

스크립트를 끄는법은 역시 구글링!


껐는데... 아무것도 안되네요 뭐지 ㅂㄷㅂㄷ

password 가 off_script

인건 알겠는데..


찾아봤습니다 ㅜㅜ

Auth로 입력하면된다네요...



제출해보도록 하겠습니다!



짜잔~ Clear 했습니다! 다음에 뵈요 여러분!

블로그 이미지

Kylin_1Q84

,


Webhacking.kr의 Challeges 창이네요! 1번을 풀어보겠습니다



일단은 주어진건 이것밖에 없는데..

소스를 한번 볼께요!

(소스는 우클릭-소스보기를 하면 볼수있습니다.)



소스인데 특이한건 보이지않는데

특이하다면 index.phps가 링크가 걸려있네요!

들어가 보도록 하겠습니다.



소스가 나와있네요.. 소스보기를 안했는데도

소스가 나와있다니 이게 힌트인가 봅니다.


대략적으로 해석을 해봅시다!

 ! $_COOKIE[user_lv] 가 true이면

쿠키의 user_lv를 1로 만들고

"meta http-equiv=refresh content=0>" 를 출력한다?

(쿠키가 먹고싶어지네요)


$password 는 ???? 이고

그다음 조건은은 잘 모르겠지만

$COOKIE[user_lv] = 1 이 실행되네요


그리고 $COOKIE[user_lv] 이 >=6이면 다시 1로 만들고

$COOKIE[user_lv] >5 이면 solve!!


======================================================


php를 모르지만 해석해보니

쿠키를 봐야 될꺼같습니다. 쿠키를 보도록합시다!

(쿠키를 보는법은 저도 검색해봤어요)



 쿠키를 보니 user_lv 가 1이라고 나오네요!

PHPSESSID는 세션아이디인거같은데.. 모루게소요



user_lv가 6보다는 작고 5보다는 커야 될꺼같은데

쿠키를.. 어떻게 바꾸는지를 몰라서 검색해 봤어요!

(요즘은 검색도 실력입니다)



쿠키가 바꼈씁니다!!!


근데... 아무런 일도 일어나지 않네요 ㅜ

한참을 이것저것 쿠키도 6으로 했다가 이것저것해봤습니다.

그랬떠니!!



크으... 뒤로가기 하니까 풀리네요



까만화면아 오랜만이야..

아무튼 이렇게 1번문제를 풀어보았습니다!

블로그 이미지

Kylin_1Q84

,


Webhacking.kr의 로그인 창이다. 회원가입 없이 로그인 버튼만 있다.


우선은 아무거나 입력하여서 로그인을 눌러봤지만 아무런 반응이 없었다.

그렇다면 소스를 봐야될꺼 같아서 소스보기를 눌러봤는데 


 

다음과 같은 에러가 뜨면서 소스를 볼수가 없었다. ㅜㅜ 어떻게 해결하지??



짜잔 ㅎ 어떤문제가 있는지 발견했다!


               


소스보기에 성공한 페이지는 왼쪽

실패한 페이지는 오른쪽이다.


그렇다면 어떤차이가있을까?? <- 아시는분 댓글좀


아무튼 가입을 하기위해 소스코드를 봤더니 다음과 같은 부분이 주석이되있었다.



잘 보이진 않지만 Register라는 버튼이 있었지만 주석처리한거같다.


join/includ2_join__frm__0001.php?mode=65e5478169539496e91aa485d2d73a97


위의 주소가 회원가입페이지로 이동시켜주는거같아

webhacking.kr/ 의 뒷부분에 복사하여 접속해 보았다.



Register창을 볼수가 있었다! 가입을 하려고 보니...

decode me가 있었다.........


정답은! base64로 인코딩된것이다.

(뒤에 == 나 =이있으면 의심해봅시다)


base64디코더를 직접 코딩해보면 좋겠지만

파이썬에는 이미 디코더를 지원해주므로 사용해보았다.



디코딩을 했더니.. 여전히 이상한 문자열이 나온다.

여러번 인코딩한것같아서 디코딩을 여러번 돌려보았다.



짜잔! 3번을 디코딩했더니 IP가 나왔다.

이제 회원가입을 해보자!



회원가입후 로그인에 성공했다!



후기 // 회원가입이 너무빡센거 아닌가..

블로그 이미지

Kylin_1Q84

,