ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Webhacking.kr] Challenge 7
    Wargame/Webhacking.kr 2023. 1. 14. 17:53
    반응형

    Challenge 7을 풀어보자.

     

    문제 화면을 보면 Admin page라는 문구와 auth 버튼, view-source 링크가 있다.

    바로 auth 버튼을 눌러보았지만, Access_Denied! 라는 알림창이 뜬다.

    힌트를 보기 위해 소스 페이지로 가보도록 하자.

    <Challenge 7의 문제 화면>

     

    지금은 정체되어 있지만, LOS 문제를 풀어본 덕에 SQL Injection 문제라는 것을 보자마자 알 수 있었다.

    코드의 내용은 val 파라미터를 받아 문자열 필터링을 우회해 lv에 2를 넣어주면 된다.

    특히, 문자열 필터링 부분에서 \s는 공백을 의미한다. (저걸 못 보고, 공백을 넣어서 시간이 조금 걸렸다..)

    <Challenge 7 문제의 소스 코드>

     

    rand를 1로 생각하고 쿼리를 작성해보자.

    chall7 테이블의 lv 컬럼에 없을 만한 숫자를 where로 넣고 union select를 이용해 2를 넣도록 한다.

    아래의 사진처럼 쿼리를 작성하면 문자열 필터링을 피하면서 lv가 2(char(50))인 select를 할 수 있다.

    <작성된 쿼리>

     

    rand에 따라 괄호의 갯수가 변하므로 새로고침을 하다보면 old-07 Pwned!가 출력되며 문제가 해결된다.

    <Challenge 7 문제 완료>

    반응형

    'Wargame > Webhacking.kr' 카테고리의 다른 글

    [Webhacking.kr] Challenge 15  (0) 2023.03.31
    [Webhacking.kr] Challenge 8  (0) 2023.02.27
    [Webhacking.kr] Challenge 6  (0) 2023.01.14
    [Webhacking.kr] Challenge 5  (0) 2023.01.13
    [Webhacking.kr] Challenge 4  (0) 2023.01.12

    댓글

Designed by Tistory.