티스토리 뷰

웹해킹 공부(webhacking.kr)

webhacking.kr 18번

라이크나우 2018. 4. 30. 18:17

sql injection,,,이거는 작년 동아리 자유발표 시간에 조사했었던 기억이 있는 해킹방법이었다. 뒤에 or 어쩌구 저쩌구 하튼 문장 추가해서 무력화시키는 방법!.!

 

문법 잘 알지도 못하면서 혼자 해보겠다고 끙끙거리며 injection tool 이런거나 검색했다,,,ㅎ,,,ㅏ,,결국 뭣도 모르겠어서 다른 블로그의 설명으로 이해했당. 아쉽,,

 

하튼 내용을 풀자면

 

 

if($_GET[no]) 
{ 

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

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

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

} 

 

 

 

 

 

 

생각보다 코드는 간단하다. 맨 윗줄부터 차례차례 해석해보자.

 

no 값을 GET 함수를 이용해 받아낸다.

 

eregi 는 대소문자 구별없이 똑같은 문자열을 찾는 함수로 no 에 저장된 값이 |/|\(|\)|\t|\||&|union|select|from|0x 이 친구들이면 no hack을 echo 한다!

 

그래서 해보니 정말이드랑.

 

얘는 | 입력한건데 저렇게 인코딩 되었다.

 

 

하튼 no 값에 저런 값들이 있으면 no hack!

 

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

 

다음은 이 문장이다. 이게 참 sql을 모르니 답답하더라 힝구.

 

하튼 정말 문장 그대로 mysql에서 id가 guest인 표에서 no의 값과 일치하는 id 를 골라라!

 

그러니까 지금 no 값에 입력된 값이 ????라면 표에서 ????에 해당하는 id를 고르라는 것이징.

 

근데 이게 이제부터는 노가다인것 같았다. 뭐가 admin에 해당하는 값인지 알 수 없다...

 

일단 no라고 치면 hi guest가 나오길래 이거다 싶었다.(아니엇지만,,,)

 

1을 넣어주어도 hi guest라고 나온다! (타 블로그의 말에 의하면) 그렇다면 2가 admin에 해당하는 수일 가능성이 있다!

 

근데 그럼 이제 무얼 어떻게 해주냐,,이거지,,injection !

 

주소창을 보면 no=입력한 값 이렇게 나와있다.

 

그러니가 위의 문장에서 no=$_GET[no]에 저장된 값을 우리가 조작하면 되는거다.

 

no=0 or no=2 이렇게 no에 입력해준다면 and > or 이므로

 

select id from challenge18_table where id='guest' and no=0 or no=2

 

id 가 guest 인 상태에서 테이블에서 no 값이 0인 id를 찾거나 no=2인 id 를 찾으란게 된다.

 

id='guest'를 무력화 시켜주기 위해 저렇게 뒤에 or 을 붙여버린당

 

공백은 nohack이 되므로 \n만 사용가능한데 이를 인코딩한 값은 %0a란다.

 

즉 no=0%0aor%0ano=2를 주소창에 입력하면 뙇!

 

'웹해킹 공부(webhacking.kr)' 카테고리의 다른 글

webhacking.kr 26번  (0) 2018.05.13
webhacking.kr 24번  (0) 2018.05.13
webhacking.kr 17번  (3) 2018.04.30
webhacking.kr 4번  (0) 2018.04.09
webhacking.kr 16번  (0) 2018.04.07
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함