반응형
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으로 넣으니 성공하였다.
반응형
'Security > WebHacking' 카테고리의 다른 글
[Load of SQLinjection][LOS] 문제풀이 wolfman (0) | 2021.08.12 |
---|---|
[Load of SQLinjection][LOS] 문제풀이 orc (0) | 2021.08.12 |
[Load of SQLinjection][LOS] 문제풀이 goblin (0) | 2021.08.12 |
[Load of SQLinjection][LOS] 문제풀이 gremlin (0) | 2021.08.12 |
webhacking.kr Level 1 (0) | 2021.08.10 |