Web Hacking/LOS

Lord of SQL Injection - kraken

2021. 10. 5. 08:00

다른 테이블을 이용하는 내용이 다시 나왔다. 지난 문제에서는 Error Based SQL Injection 을 이용하여 table 명과 pw를 leak 하였다. 이번에는 Error Based 는 아니지만 echo 명령어가 있기 때문에 이를 이용하여 table 명과 pw를 leak 할 수 있을 것 같다. 

 

그리고 'sys' 라는 문자열이 필터링에서 빠졌다. mssql 에서는 information_schema 말고도 sysobjects 라는 메타데이터를 이용할 수 있다. 테이블의 이름에 해당하는 column은 'name' 이다. 우선 바로 query를 보내보자. 

 

sysobjects where type='TYPE' 과 같은 형식으로 사용한다. 주요한 [TYPE]에는 다음들이 있다.

 

- FN SQL 스칼라 함수

- P SQL 저장 프로시저

- TF SQL 테이블 반환 함수

- U 테이블(사용자 정의)

- V 뷰

 

pw=' union select name from sysobjects where type='U'--

우리가 원하는 table 이름은 flag 로 시작하는 구조이다. MySQL에서는 query 에 끝부분에 limit을 걸어서 원하는 row의 데이터를 뽑을 수 있었다. 

 

MSSQL에서는 select 바로 뒤에 top ROW_NUM  를 추가함으로써 그것을 실현할 수 있다.

 

 

pw=' union select top 1 name from sysobjects where type='U'--

1번 ROW에는 member 라는 table 이 살고 있다.

 

 

pw=' union select top 2 name from sysobjects where type='U'--

우리가 원하던 친구는 2번 ROW에 살고 있었다.

 

이번에는 'flag_ccdfe62b' 테이블의 column 명들을 쭉 뽑아보자. MySQL 에서는 group_concat 함수가 있지만 MSSQL 에서는 string_agg 함수가 있다. 형식은 string_agg(COL_NAME, '구분자') 이다. 또한 column 이름들에 대한 데이터는 sys.colums 에 들어있다.

 

 

pw=' union select string_agg(name,'%0a') from sys.columns--

'flag_ab15b600' 라는 친구가 눈에 잘 보인다. 모든 column의 이름들을 볼 수 있다. 나중에 유용하게 쓸 이름들인 것 같다. 우선 이 column에 있는 모든 데이터를 뽑아보자. 

 

 

pw=' union select string_agg(flag_ab15b600,'%0a') from flag_ccdfe62b--

성공적으로 flag를 얻었다. 

저작자표시 (새창열림)

'Web Hacking > LOS' 카테고리의 다른 글

Lord of SQL Injection - incubus  (0) 2021.10.17
Lord of SQL Injection - nessie  (0) 2021.10.05
Lord of SQL Injection - cerberus  (0) 2021.10.05
Lord of SQL Injection - yeti  (0) 2021.10.05
Lord of SQL Injection - mummy  (0) 2021.10.05
'Web Hacking/LOS' 카테고리의 다른 글
  • Lord of SQL Injection - incubus
  • Lord of SQL Injection - nessie
  • Lord of SQL Injection - cerberus
  • Lord of SQL Injection - yeti
Lucvs
Lucvs
Department of Computer Science and Engineering, 21th, Sungkyunkwan University
Lucvs
Lucvs
Lucvs
전체
오늘
어제
  • 분류 전체보기
    • Lucvs
      • 훈련소 일기
      • 寿司
      • 영국 여행기
    • Pwnable
      • Techniques
      • FTZ
      • LOB
      • HackCTF
      • Dreamhack
      • pwnable.kr
      • CTF
    • Web Hacking
      • Techniques
      • Webhacking.kr
      • HackCTF
      • Dreamhack
      • LOS
    • Reversing
      • Dreamhack
    • Cryptography
      • Modern Cryptography
      • Algorithm
      • Differential Attack (차분 공격)
      • Linear Attack (선형 공격)
    • Forensic
      • Dreamhack
    • Programming
      • C
      • Python
      • Java
    • Deep Learning
    • Network
    • Project
    • Hardware
      • Raspberry Pi
      • Arduino

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 훈련소 일기
  • 드림핵
  • 차분 분석
  • 군대
  • 공군 훈련소
  • blind sql injection
  • 기본군사훈련단
  • Los
  • 여행기
  • dreamhack
  • 공군
  • lord of sql injection
  • rev-basic
  • SQL INJECTION
  • Differential Attack
  • 효전화
  • 기훈단
  • 영국
  • J
  • 런던
  • 웹해킹
  • dreamhack.io
  • 군대 일기
  • Lord of SQL Injeciton
  • 일기
  • Error-Based SQL Injection
  • 차분 공격
  • Web Hacking
  • 훈련소
  • 잉글랜드

최근 댓글

최근 글

hELLO · Designed By 정상우.
Lucvs
Lord of SQL Injection - kraken
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.