매직해시 취약점 (1) 썸네일형 리스트형 매직해시 취약점 (Magic Hash) 이란 일부 프로그래밍 언어에서는 일반 자료형을 쉽게사용할수있는 자동 형변환 (Type Juggling) 를 제공하고있다. 변수에 정수를 넣으면 integer 문자열을 넣으면 String 처럼 자동으로 그에 맞는 자료형으로 캐스팅을 해주게되는데 이 중에 숫자 포멧을 주의해야한다. 0xC 는 16진수 C를 의미하고 0o12 은 8진수 12을 의미하고 7e3 은 지수 10진수값에서 7*10^3(7000)을 의미한다. 여기서 지수에 특수한 경우가있다 앞의 계산하는 숫자가 0인경우이다. 0*10^3 = 0 아무리 계산을 바꾸더라도 앞의 값이 0이라면 결과값은 모두 0일것이다. 예로 0e15163 와 0e1687489798 는 둘다 같은 0의 값이다. 이부분이 매직해시 취약점인데 만약 두변수의 값을 비교하는 조건문에서 .. 이전 1 다음