ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • webhacking.kr_Wargame(5)
    IT/웹 해킹 2024. 3. 22. 15:18

    [이 블로그는 해킹 공부하면서 가볍게 정리용으로 기록 및 내 생각을 끄적여 두기 위한 블로그(라 쓰고 일기라 읽는)이다.]

     

    • 목차
    1. 문제 및 시나리오
    2. 과정

    1. 문제 및 시나리오

     

    딱 봐도 SQL 인젝션 취약점을 찾는 곳이라고 나와있다. view-source를 한 번 보자.

     

     

    preg match 함수로  GET ['id']에 select, (, 공백, limit, =, 0x 가 들어오면 필터링하는 것을 볼 수 있다. 그리고 no hack이라는 단어가 출력.

    admin의 no = 2라고 명시되어있다.

     

    2. 과정

     

    STEP_1

     

    여기서 no=1 또는 no=no로 입력해 주면 쿼리가 참이 되면서 where id='guest'에서 guest를 가져와 출력해 주는 화면을 볼 수 있다.

     

     

    STEP_2

     

    맨 처음 Union을 이용하는 것인지 생각했지만 select와 limit, = 등 다 필터링을 시키고 '(' 괄호는 필터링시키는데 ')'괄호는 안 하는 것으로 보아 no=값을 닫아주고 no = 2를 넣어 admin을 가져오는 것을 생각해 볼 수 있다.

     

    이때 =이 안되면 like문법으로 가져올 수 있는 생각을 해야 한다. 그리고 공백은 url인코딩으로 변환시켜 주자. (공백은 %20인데 url인코딩해도 먹히지 않아 tab의 %09를 사용)

     

     마지막으로 or die를 --로 주석처리하여 무효화시키면 끝

    'IT > 웹 해킹' 카테고리의 다른 글

    webhacking.kr_Wargame(7)  (0) 2024.03.22
    webhacking.kr_Wargame(6)  (0) 2024.03.22
    webhacking.kr_Wargame(4)  (0) 2024.03.21
    webhacking.kr_Wargame(3)  (0) 2024.03.21
    webhacking.kr_Wargame(2)  (0) 2024.03.21
Designed by Tistory.