처음에는 

이렇게 내 아이피를 보여주면서 wrong ip 라고 한다

이때 클라이언트 아이피 정보를 어떻게 가져오는가 하면

REMOTE_ADDR라는 기본 쿠키이다

사용자가 미리 설정해주지 않아도

REMOTE_ADDR라는 쿠키에는 기본적으로 클라이언트의 ip가 들어가있다

하지만 내가 임의로 REMOTE_ADDR라는 쿠키를 만들어준다면

내가 만든 쿠키가 우선순위가 된다


if($_COOKIE[REMOTE_ADDR])
{                            
$ip=str_replace("12","",$ip);
$ip=str_replace("7.","",$ip);
$ip=str_replace("0.","",$ip);
}
                                        


이 필터를 통과해서


if($ip=="127.0.0.1")
{                    
@
solve();
}                    



ip를 127.0.0.1로 만들어주면 통과



이게 왜 되는지는 스스로 생각해 보길 바란다.

어렵지 않다!






'war game > webhacking.kr' 카테고리의 다른 글

[webhacking.kr] 25 150pt  (0) 2017.01.10
webhacking.kr 39 100pt  (0) 2017.01.05
[webhacking.kr]sql injection 18  (0) 2016.12.16
webhacking.kr 14번 100pt  (0) 2016.12.07
webhacking.kr 15번 50pt  (0) 2016.12.07

1을 제출하면 

hi guest가 출력된다.

문제에서 제시한 index.phps를 보면


$q=@mysql_fetch_array(mysql_query("select id from challenge18_table where id='guest' and no=$_GET[no]")); 

이와같은 sql문이 있다.

우리가 해줘야 할 것은


if($q[0]=="guest") echo ("hi guest"); 
if(
$q[0]=="admin")                    
{                                     
@
solve();            
echo (
"hi admin!"); 
}                                   


즉 id='guest'인 조건은 fail 시키면서

id='admin'인 정보를 찾아야한다.

'guest'의 no는 1이므로

no에 3을 넣어줌으로써 실패시키고

or 로 id='admin'을 해주면 된다.


if(eregi(" |/|\(|\)|\t|\||&|union|select|from|0x",$_GET[no])) exit("no hack"); 


여기서 ' ' 를 필터링해주므로

' '대신 개행(%0a)을 사용하면


쿼리문은 

http://webhacking.kr/challenge/web/web-32/index.php?no=3%0aor%0ano=2







'war game > webhacking.kr' 카테고리의 다른 글

webhacking.kr 39 100pt  (0) 2017.01.05
[webhacking.kr] 24번 REMOTE_ADDR 쿠키변조  (0) 2016.12.16
webhacking.kr 14번 100pt  (0) 2016.12.07
webhacking.kr 15번 50pt  (0) 2016.12.07
webhacking.kr 1번  (0) 2016.12.06

자바스크립트 캡처해서


이렇게 바꿔준다음

다시 입력해보면 

ul이 뜬다


ul을 구햇으니

다시 정상 스크립트로가서 510을 입력하면



'war game > webhacking.kr' 카테고리의 다른 글

[webhacking.kr] 24번 REMOTE_ADDR 쿠키변조  (0) 2016.12.16
[webhacking.kr]sql injection 18  (0) 2016.12.16
webhacking.kr 15번 50pt  (0) 2016.12.07
webhacking.kr 1번  (0) 2016.12.06
가입하기~  (0) 2016.12.06

그냥 문제를 보려고 누르면

알람이 뜬다


자바스크립트를 캡처링하면 바로 비밀번호가 보인다

'war game > webhacking.kr' 카테고리의 다른 글

[webhacking.kr]sql injection 18  (0) 2016.12.16
webhacking.kr 14번 100pt  (0) 2016.12.07
webhacking.kr 1번  (0) 2016.12.06
가입하기~  (0) 2016.12.06
webhacking.kr 사이트 막혀있다...  (0) 2016.10.13

index.phps 에 들어가 보라고 한다


들어가보면 


php 코드가 있는데 첫번째 if문에서는

첫글자가 0-9 가 아니면 cookie[usr_lv]=1로 셋팅한다

php 정규식을 참고하자

http://taegwan.blogspot.kr/2010/08/php-%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D-%EC%A0%95%EB%A6%AC.html


6보다 크거나 같아도 1로 세팅하고

마지막으로 5보다 크면 solve로 이동한다

5~6사이의 값을 usr_lv로 넣어주면 되겟다


chrome의

editthiscookie 를 사용했다



'war game > webhacking.kr' 카테고리의 다른 글

[webhacking.kr]sql injection 18  (0) 2016.12.16
webhacking.kr 14번 100pt  (0) 2016.12.07
webhacking.kr 15번 50pt  (0) 2016.12.07
가입하기~  (0) 2016.12.06
webhacking.kr 사이트 막혀있다...  (0) 2016.10.13


처음 로그인 화면


소스코드를 보자

chrome 에서

ctrl u



하이퍼링크가 달린 버튼이 주석처리가 되있다


주석처리를 없애서 버튼을 눌러도 되지만 그냥 바로 저 주소로 가보겠다




decodeme라고 되있는 칸이있다


=나 == 로 끝나면

base64 인코딩 된 문자열이라고 볼수 있으니

디코딩 해보자

https://www.base64decode.org/


여기서 디코딩 ㄱㄱ


디코딩하면 또 끝이 =일것이다


계속 해보면

이거다 하는 문자열이 나온다~ 그거 넣고 가입하자!

'war game > webhacking.kr' 카테고리의 다른 글

[webhacking.kr]sql injection 18  (0) 2016.12.16
webhacking.kr 14번 100pt  (0) 2016.12.07
webhacking.kr 15번 50pt  (0) 2016.12.07
webhacking.kr 1번  (0) 2016.12.06
webhacking.kr 사이트 막혀있다...  (0) 2016.10.13

ㅠㅠ언제 쯤 다시 될까

'war game > webhacking.kr' 카테고리의 다른 글

[webhacking.kr]sql injection 18  (0) 2016.12.16
webhacking.kr 14번 100pt  (0) 2016.12.07
webhacking.kr 15번 50pt  (0) 2016.12.07
webhacking.kr 1번  (0) 2016.12.06
가입하기~  (0) 2016.12.06

+ Recent posts