Web Hacking/LOS

Lord of SQL Injection - green_dragon

2021. 8. 26. 09:00

오랜만에 id가 admin인지만을 묻는 문제가 나왔다. 또한 첫 번째 query문이 정상적으로 전달되었을 때, query2에서 첫 번째 query의 결과를 가져와 id가 admin인지를 검사한다. 

 

우선 첫 번째 query문은 많이 해왔던 역슬래시를 이용한 문자열 탈출을 하면 된다.

?id=\&pw= or 1%23

여기까지는 간단하다. 아래 조건문을 만족하기 위해서, query문이 정상적으로 날라가야 한다. MySQL에서는 query문이 정상적으로 작동하기 위해서 where 뒤의 부분을 참값으로 만들어주거나, subquery 문이 존재할 경우 select로 선택할 column의 개수와 subquery로 선택할 column의 개수가 같아야 한다.

 

예를 들어서 이번 문제같은 경우는 선택할 column의 개수가 2개이기 때문에 subquery를 사용한다면 이 역시도 2개의 column을 return 해주어야 할 것이다. 하지만 위에서 id, pw 가 모두 참값일 때 select 되는 column들이 없었기에 아래 조건문을 만족하지 않았다.

 

그렇다. 이번 문제에서의 table은 EMPTY 상태이다. 우리가 있는 것처럼 만들어야 한다. 우선 union을 이용하여 조건문을 만족시켜보자.

 

 

?id=\&pw= union select 1,2%23

query2가 등장한 것을 볼 수 있다. 뭐 여기까지 왔다면 감이 올 것이다. query2의 where 뒤의 부분을 id='admin'으로만 만들어주면 된다. 하지만 필터링에서 쿼터들을 모두 사용할 수 없게 만들어 놓았다. 쿼터들을 사용하지 못할 때 16진수로 변수를 전달하는 방법이 LOS 초반 문제에 있었던 것으로 기억한다. 오 goblin이라는 문제였다. 바로 찾았다. 

 

또한 위에서 전달한 두 개의 column이 1,2 이고, 아래에서도 id의 문자열을 탈출해야 하므로 1번 자리에는 역슬래시를 넣어주어야 할 것이다.

 

이제 query문을 작성하여 보자. 

 

 

?id=\&pw= union select \, union select 0x61646d696e%23

과 같이 전달해주었으나 아무런 반응이 없다. 뒤쪽 union select가 문자열로 날라가서 query2 에서는 query문으로 사용되어야 하는데 query1에서 단순하게 query문으로 인식되고 끝나는 것 같다. 모두 16진수로 날려주어야 한다. 마찬가지로 admin이라는 문자열을 전달해줄 때, query2에서는 id='admin', 즉 admin이라는 데이터가 문자열로 인식되어야 한다. 하지만 위에서 전달한 방식으로는 id=admin 이라고 표현되어 admin이라는 변수명과 비교하게 된다. 따라서 이것마저도 16진수로 바꾸어야 한다. 귀찮다.

 

 

?id=\&pw= union select 0x5c,0x20756e696f6e2073656c6563742030783631363436643639366523%23

저작자표시 (새창열림)

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

Lord of SQL Injection - blue_dragon  (0) 2021.08.29
Lord of SQL Injection - evil_wizard  (0) 2021.08.26
Lord of SQL Injection - hell_fire  (0) 2021.08.26
Lord of SQL Injection - dark_eyes  (0) 2021.08.24
Lord of SQL Injection - iron golem  (0) 2021.08.24
'Web Hacking/LOS' 카테고리의 다른 글
  • Lord of SQL Injection - blue_dragon
  • Lord of SQL Injection - evil_wizard
  • Lord of SQL Injection - hell_fire
  • Lord of SQL Injection - dark_eyes
Lucvs
Lucvs
Department of Computer Science and Engineering, 21th, Sungkyunkwan University
LucvsDepartment 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

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

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

최근 댓글

최근 글

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

티스토리툴바

개인정보

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

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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