union select
-
Crackus 8 Write Up (Union SQL Injection)CTF/Web 2020. 4. 16. 18:59
공백 필터링이 되고 있다. 그래서 '|' 기호는 띄어쓰기가 없어도 된다는 점을 이용하여 값을 넣어보았다. pw='||id='admin 딱봐도 DB에 admin이란 id가 없는 것 같다.... 스읍.. 그래서 이럴때 사용 가능한 union select 기법을 사용해보기로 했다. 그렇게되면 공백을 사용하여야하는데 공백은 여러가지 우회방법이 있는데 이번에는 필자가 애용하는 %0a를 사용하여 풀었다. 블로그들을 보니 union select를 이용해서 푼 풀이가 많지 않은 것 같다. 그래서 자세히 적어보려고 한다. union은 기본적으로 병합의 의미를 갖고 있으며 sql에서는 두개의 쿼리를 이어주는 역할을 한다. 고로 필자는 기존 "select id from play_sql08 where pw=''" 쿼리문을 사..
-
LOS 22 - dark_eyes Write up (union select를 이용한 에러 기반 blind sql injection, if문 필터링 우회)CTF/Web 2020. 4. 1. 03:15
이번 문제도 에러 기반의 문제이다. 하지만 저번 문제에서 쓴 if문이 막혀버렸다. 이럴 때는 union select를 사용하면 된다. union select 는 어떤 원리로 이용 할 수 있을까? 우선 기존 union select 를 통한 우회방법을 인지하고서 풀 수 있는 문제이다. 그점은 이번 라업에선 넘어가도록 하겠다. 간단히 짚고 넘어가면 select 1을 하면 필드에 1이 들어간다. 그런데 여기에 union select를 하면 어떻게 될까? 1뒤에 3이 밑에 들어간다. 이걸 어떤식으로 이용하는 걸까? 그건 바로 2줄이라는 특징을 이용하는 것이다. 우선 우리가 푸는 Los 문제는 sql문을 읽고 가져오는 데이터가 1줄이다. 하지만 우리가 2줄의 결과값을 억지로 넣어서 가져오게 한다면 어떻게 될까? ?..