ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [CrackUs] LEVEL 17
    [+] Security [+]/CrackUs 2020. 7. 20. 21:39

    LEVEL 17!

     

    SQL Injection 교재에서는 16번 문제까지만 다루지만 업데이트되면서 20번까지 늘어났다!

     

    선배님께서 말씀하시길 함정을 많이 파놓았다는데... 한번 시도는 해보자.

     

    더보기

    이번에는 sleep을 막아놓으셨다.

     

    이전처럼 Good J0b :) 같은 후크도 없고 무엇을 기준으로 비밀번호를 알아내야할까.

     

     

    이번에도 여전히 Time base!

     

    sleep은 시간을 늦춰주는 함수지만 sleep이 아니더라도 시간을 지연시킬 방법은 있다!

     

     

    sleep 함수 대채제

     

     

    Benchmark() : 해당 명령어를 특정 횟수만큼 반복시킨다.

     

    count(*) from Table.columns: 테이블에 있는 모든 쿼리를 조회한후 숫자를 더해서 반환. 테이블의 칼럼 수에 따라 수행시간이 다르다. 

    (CrackUs사이트는 워게임 실습을 위해 만들어진 사이트라서 아마... 칼럼수가 적을 것같은데 쓸 수 있을지 모르겠다.)

     

     

     

    ?pw='||if(length(pw)={},benchmark(20000000,MD5('a')),1)%23 쿼리를 삽입하여 MD5해시를 200만번 수행하도록 하였다.

     

    MD5해시는 20만번 수행 시 0.25초의 수행시간이 소요된다고한다.

     

     

    하지만 이는 작업환경에 따라 상이하니 한번 체크해보았다.

    2000만회당 3.6초 정도 소요된다!

     

     

    이전 까지와 다른 점이 있다면, Post방식으로 입력을 받는다.

     

    실제 상용 서비스에서도 그렇다.

     

    Get방식은 로그인시 계정을 확인 할 수 있고, 변조가 쉬워서 사용되지 않는다.

     

    Post방식으로 로그인을 만들어 놓는 것이 일반적이다.

     

    Login Fail 텍스트를 기준으로 Blind SQL Injection을 실행할 수 있다.

     

     

     

     

    관리자 도구를 열고

     

     

     

    위와 같이 추가하여, 로그인 폼을 생성할 수 있다.

     

     

     

    '[+] Security [+] > CrackUs' 카테고리의 다른 글

    [CrackUs] LEVEL 19  (0) 2020.07.20
    [CrackUs] LEVEL 18  (0) 2020.07.20
    [CrackUs] LEVEL 16  (0) 2020.07.19
    [CrackUs] LEVEL 15  (1) 2020.07.18
    [CrackUs] LEVEL 14  (0) 2020.07.18

    댓글

Designed by Tistory.