White Security
Nightmare 문제풀이 본문
los.eagle-jump.org 18번 문제입니다.
pw의 길이가 제한되었고
주석을 만들 수 있는
( #, - ) 문자가 필터링 되었습니다.
여전히 널바이트 사용이 가능하므로
;%00 구문을 이용하여
뒷 부분을 무효화 시키면 되겠습니다.
또한 Mysql의 auto type cast
기능을 이용하여야 하는데요.
알파벳으로 시작하는 문자열을
다른 숫자와 연산할 시에
해당 문자열은 항상 0으로 계산됩니다.
pw='=1);%00
pw='*1);%00
pw='%1);%00
따라서 위 쿼리들은 결과적으로
'' = 1 등의 형태를 취하게 되므로
0을 반환합니다.
그리고 pw 값과 비교하게 되니
pw = ( '' = 1 ) 구문은
pw = 0
( '' = 1 ) = 0
으로 계산되어
pw 값 앞부분이 알파벳으로 시작할 경우
항상 참이 되는 것이지요.
'Wargame Writeups > los.eagle-jump.org' 카테고리의 다른 글
Dragon 문제풀이 (0) | 2019.01.31 |
---|---|
Xavis 문제풀이 (0) | 2019.01.31 |
Succubus 문제풀이 (0) | 2019.01.31 |
Zombie assassin 문제풀이 (0) | 2019.01.31 |
Assassin 문제풀이 (0) | 2019.01.31 |
Comments