뉴비에욤

los - succubus 본문

Lord_of_SQL-Injections_I

los - succubus

초보에욤 2015. 8. 10. 16:46

 

 

처음으로 시간 좀 걸렸던 더러운 문제....

 

입력할 수 있는 id, pw 모두 싱글 쿼테이션으로 포함되어 있지만, 필터링에서 (') 문자가 막혀 버린다.

 

이래나 저래나 어떤 값을 입력하던 모두 문자열로 인식되어 버리는 문제가 발생한다.

 

일단 클리어 조건을 보면 id 값이 존재하기만 하면 된다.

 

힌트는 문자열 내에서 특수 문자를 사용하는 법이다. 다음의 파이썬 예제를 살펴보자.

 

> print "Hello My name is "succubus""

> 오류 난다. 왜냐하면 문자열의 의미하는 (") 안에 또 (")이 사용되었기 떄문이다. 위 같은 문장을 제대로 출력하려면 특수 문자를 써야한다.

 

> print "Hello my name is \"succubus\""

> Hello my name is "succubus"

 

즉, 이번 문제의 핵심은 바로 역슬래쉬(\) 이다. id 값에 역슬래쉬를 입력하면 뒤에 나오는게 전부 문자열로 인식되고 pw=' 부분에서 싱글 쿼테이션 때문에 문자열 종료로 인식된다. 그리고 pw 값을 참으로만 만들면 문제는 클리어 된다.

 

'Lord_of_SQL-Injections_I' 카테고리의 다른 글

los - xavis  (0) 2015.08.10
los - nightmare  (0) 2015.08.10
los - zombie assassin  (0) 2015.08.10
los - assassin  (0) 2015.08.10
los - giant  (0) 2015.08.10
Comments