'해킹문제풀이/http://webhacking.kr'에 해당되는 글 4건

  1. 2014.01.17 Challenges 24.
  2. 2013.03.08 Challenges 17.
  3. 2013.03.03 Challenges 14.
  4. 2013.02.22 Challenges 4.

 

 

 

24번문제이다. 언뜻 보면 무슨 소린지모르겠다.

눈에띄는거라곤 맨밑에 Wrong IP!...

이문제에선 IP가 중요한가보다.

 

소스를 보면 주석처리 되어있는게 보인다.

이게 힌트임이 틀림없다.

 

 

php구문이다. 차근차근 내려가보자.

 

일단 눈에 띄는건 ip를 REMOTE_ADDR 이라고 한것이다.

 

if문이 보이는데 여기에서도 보이는 REMOTE_ADDR..

아까 위에서 ip라고 한거같았다.

str_replace는 php 명령어로

str_replace(검색할문자,바꿀문자,영역)

이렇게 사용된다.

정리해보면, 만약 REMOTE_ADDR이라 칭해지는 ip주소의 쿠키값이

12이면 ""공백으로 바뀌고, 7.이면 ""공백으로 바뀌고, 0.이면 공백으로 바뀐다 라고

할수 있을것같다.

이건 지극히 나의 생각일뿐이다.

 

 

 

 

여기선 만약 ip주소가 127.0.0.1이면 문제가 풀리고

그렇지 않으면 아까 맨처음에 봣던 Wrong IP! 라고

뜬다고한다.

ip를 127.0.0.1로 바꿔야 하나보다.

 

위에서 말했듯이 쿠키값을 생각해서 쿠키값변조를 시킬

쿡시툴바를 이용해 ip주소인 REMOTE_ADDR을 변조시켜보겠다.

생각해보면 127.0.0.1이라고 그냥 치게되면 12와 7. 그리고 0.이 공백으로 바뀌어

그냥 1만 인식하게된다.

그러므로 1122라고쓰게되면 가운데 12가 공백으로 처리되 12로 인식이되고,

77..으로 쓰게되면 7.이 공백으로 처리되 7.

00..은 0.이 공백으로 처리되 0. 으로 인식이된다.

 

쿠키값을 변조시킨후에 뒤로갔다가 다시 24번 문제를 클릭하게되면 ip 주소가 127.0.0.1로 바뀌면서

문제가 해결된다.

 

 

 

'해킹문제풀이 > http://webhacking.kr' 카테고리의 다른 글

Challenges 17.  (0) 2013.03.08
Challenges 14.  (0) 2013.03.03
Challenges 4.  (0) 2013.02.22
Posted by MUSH1

Challenges 17.


 

소스를 먼저 살펴볼게요


눈에 띄는게 unlock 이네요 저 unlock의 값을 알면되는데 저걸 다 계산할순 없겟죠..

자바스크립트 구문이므로 자바스크립트를 이용해서 unlock의 값을 알아본 후,

unlock 값을 입력하고 check를 누르면 팝업창이뜨면서 패스워드를 알려주는거같아요.


만약 unlock 값이 아닌경우에는 wrong!이 뜨게 되구요.

자바스크립트를 이용해볼게요 어떻게 이용해 볼까 하다가

제가 찾아봤는데 주소창에 자바스크립트 구문을 넣어도 반응을 하더라고요



이렇게 팝업창이 뜨더라고요 그래서 의심이 가는 unlock을 알려달라고 요청해 보려고합니다.

javascript:alert(“unlock”); 이라고 입력하시면 안되요

이렇게 입력하시면 팝업창에 unlock이 뜨겠죠? 근데 저희가 알고싶은건 unlock의 값이기 때문에 “”를 제외하고 입력해볼게요.


unlock의 값을 알게되었으므로 저 값을 입력해보죠.


패스워드를 알려줬어요 이제

14번 풀이처럼 Auth에 들어가 Flag에 패스워드를 입력하면 문제가 풀리게됩니다.

'해킹문제풀이 > http://webhacking.kr' 카테고리의 다른 글

Challenges 24.  (0) 2014.01.17
Challenges 14.  (0) 2013.03.03
Challenges 4.  (0) 2013.02.22
Posted by MUSH1

Challenges 14.

 

 

소스를 보면 check를 클릭하면 ck()으로 넘어가므로 function ck()를 자세히 들여다 보면서 분석해 보자.

 

한줄 한줄 분석해보면,,,

 

ul이라는 변수가 document.URL 이라는건데 URL 이면

 

현재 주소창에 써있는 URL을 의심해볼 수 있다.

 

indexof는 해당문자열의 자릿수를 반환하는 메소드이다.

.kr이 보이는 . 까지가 0부터 시작하면 17번째 자리이므로 ul17로 생각.

 

17 * 30 = 510

ul=510

 

답을 입력하면 패스워드를 알려준다.

만약 틀리면

잘못되었다고 팝업창이 뜰 것이다.

Auth에 들어가 Flag260100을 입력하면

(Auth를 찾아보니 담당자의 승인이라는 뜻이다.)

'해킹문제풀이 > http://webhacking.kr' 카테고리의 다른 글

Challenges 24.  (0) 2014.01.17
Challenges 17.  (0) 2013.03.08
Challenges 4.  (0) 2013.02.22
Posted by MUSH1

4번문제를 풀기위해선 브루트포싱(brute force) 기법을 알아야한다. 브루트포싱기법은 일반인도 할 수 있는 공격기법이다. 두가지 유형으로 나눠지는데 손수 공격과 프로그램 공격법으로 나눠진다.

프로그램 공격은 손수 하는 것보다 시간이 적게들고 힘이들지 않지만 정확하지 않은 경우도 나타난다. 그러나 손수 공격하는건 정확도가 높지만 시간이 많이들고 정신력과 끈기가 필요하다. 문제를 풀면서 생각을 해나가자.

로그인을 성공시켜야 하는 것 같다. 그러나 우리에겐 주어진 힌트가 없으므로 소스보기를 먼저 확인한다.

힌트가 소스에 주어져있고, admin으로 접속해야하는데 패스워드 범위가 2000부터 2999까지라는걸 알수 있다.

 

guest로 로그인한 화면


 

여기서 노가다로 2000부터 2999까지 일일이 확인하는게 손수 공격이다.

프로그램이 없으면 노가다를 해야 풀리는 문제.

 

 

'해킹문제풀이 > http://webhacking.kr' 카테고리의 다른 글

Challenges 24.  (0) 2014.01.17
Challenges 17.  (0) 2013.03.08
Challenges 14.  (0) 2013.03.03
Posted by MUSH1
이전버튼 1 이전버튼