본문 바로가기
Security/WebHacking

[Load of SQLinjection][LOS] 문제풀이 cobolt

by J0DEV 2021. 8. 12.
반응형

LOS 두번째 문제 cobolt이다.

 

접속 후 나오는 코드를 보면 아래와 같다.

ID와 PW를 get 인자로 받는데 이때 pw는 md5로 암호화 하며

해당 쿼리의 결과에 id가 admin이면 문제가 풀린다.

 

근데 여기서 pw=md5로 암호화하는 구문이 있다.

지금 현재 query 가 "select id from table where id = 'get[id]' and pw ~" 형식으로 되어 있는데

여기서 주석을 사용하여

 

"select id from table where id = 'get[id]'" 로 쿼리를 실행시킨다면

pw여부와 관계없이 admin이 table에 존재하는지만 확인한다.

그렇다면 poc는 다음과 같이 생각해볼수 있다.

 

id=admin'#

여기서 ' 를 붙이는 이유는 주석처리를 하더라도 이전 쿼리는 실행가능한 쿼리 이여야하기 때문이다.

만약 ' 를 입력하지 않으면

where id='admin#' 으로 쿼리에서 인식할 것이다.

 

해당 poc로 시도해보니 #이 출력이 되지 않는다.

혹시나 싶어서 #을 url encode 한 값인 %23으로 넣으니 성공하였다.

 

반응형