Web Hacking

Web Hacking/LOS

Lord of SQL Injection - ouroborus

Ouroborus. 아래 내가 그림판으로 그린 작품처럼 생겼다. "꼬리를 삼키는 자"로 통한다고 한다. 과연 이번에는 무슨 문제일까. 코드를 보면 딱히 구체적인 필터링은 사용하고 있지 않다. 사용할 수 있는지는 모르겠지만, 풀려있는 무기들이 많다. 이후에 query 문의 where 부분이 참값이 될 경우, 화면에 'Pw : ...' 를 띄우는 것 같다. 우선 테스트를 몇개 해보자. pw=' or 1%23 아무런 반응이 없다. table에 아무런 데이터가 존재하지 않는 것 같다. 지난번에도 table에 데이터가 존재하지 않았던 문제가 있었다. 이때는 union 을 통하여 데이터를 새롭게 전달해주어야 한다. pw=' union select 1%23 우선은 출력을 하는 데에 성공하였다. 하지만 문제가 하나 더..

Web Hacking/LOS

Lord of SQL Injection - alien

query가 두 개 존재하는 문제이다. 잘 보면 위쪽 query 는 no 값에 아무런 quotation 이 사용되고 있지 않다. 반면에 아래의 query2는 single quotation 이 사용된 모습이다. 먼저 두 개의 query를 동시에, 동일한 query로 만들어주어야 할 것이다. 싱글쿼터와 주석을 잘 활용하면 될 것 같다. 다음과 같이 작성해보자. no=1 union select 1#' union select '1 결과는 아래와 같다. query : select id from prob_alien where no=1 union select 1#' union select '1 query2 : select id from prob_alien where no='1 union select 1#' union..

Web Hacking/LOS

Lord of SQL Injection - zombie

문제 형식은 앞전의 문제 ouroborus 와 매우 유사하다. 필터링에 'ace' 라는 문자열이 포함되어있어 Quine 은 사용하지 못할 것 같다. 이번 문제에는 table에 데이터가 존재할 수도 있을 것 같다. 확인해보자. pw=' or 1%23 음. 없다. 이번 문제에도 테이블에 아무런 데이터가 존재하지 않는다. Quine도 사용하지 못한다. replace 함수를 다른 함수로 대체할 수 있는지 찾아보았지만 그런 것은 존재하지 않았다. 어떤 기술을 발휘해야 이 난관을 뚫을 수 있을까. 이전에 SQL Injection 에 대한 공부를 할 적에, Real World 환경에서의 SQL Injection 을 테스트 사이트에서 진행한 적이 있었다. DB 시스템에서 사용하는 메타데이터들의 집합, informati..

Web Hacking/LOS

Lord of SQL Injection - frankenstein

Blind & Error-Based SQL Injection 문제인 것 같다. 싱글쿼터는 필터링하지 않아서 문자열 탈출은 수월하게 이루어질 것 같다. 그런데 필터링에 괄호들과 'union' 이 존재한다. 서브쿼리와 함수는 이용하지 못할 것 같다. 코드의 첫 번째 paragraph를 보면 마지막 line에 query에 error가 존재하면 "error"라는 문자열 페이지로 exit 된다. 바로 이것을 이용하면 될 것 같다. 우선 오류를 어떻게 만들어 내야할지 고민해야 한다. union을 사용할 수 없기 때문에 subquery로 하여금 select으로 뽑아낼 2개의 columns 보다 많은 수의 column들을 뽑아 오류를 발생시키는 것은 불가능하다. 이때 정수의 범위를 벗어나게 하여 오류를 발생시킬 수 있..

Lucvs
'Web Hacking' 카테고리의 글 목록 (5 Page)