전체 글

    [LOSI] Lord of SQL Injection Level 18 - Nightmare

    필자는 리듬게임을 좋아한다. 매니악하게 빠져든 편은 아니지만 얼 불춤도 했고, 리듬 닥터도 했고, deemo나 Bullet per Minute 등 리듬이 들어가는 게임은 전반적으로 좋아한다. 리듬게임을 접해본 사람은 알겠지만, 보통 악몽 난이도는 게임의 끝판왕처럼 여겨지고는 한다. 우리는 벌써 SQL Injection의 nightmare까지 왔다. 자축하자. 코드 우선 다음과 같은 문자열이 필터링 된다. (통상 주석으로 사용되던 #과 -가 필터링된걸 보니, 이번에는 query끝에 무슨 짓을 한 것이 틀림없다.) prob, 언더바(_), 점(.), 역슬래쉬(\), 샵(#), 대시(-) 추가로 strlen()함수를 이용해서 pw에 넣을 수 있는 값을 6자리로 제한하고 있다. query는 직관적이다ㅓ. pw를..

    [LOSI] Lord of SQL Injection Level 17 - Zombie assasin

    필자는 Lord of SQL Injection을 포스팅하며, 몬스터의 이미지를 구하고 있다. 아니 좀비 어쌔신은 어디서 이미지를 구한단 말인가? 거두절미하고 코드를 만나보도록 하자. 코드 id과 pw에 strrev()함수가 들어갔다. strrev는 문자열을 뒤집는 함수로 $str = "asdf" 라면 strrev($str)의 결과는 "fdas"가 된다. 또한 addslashes가 들어가서 따옴표들에 역슬래시(\)를 자동으로 붙여주어 이스케이프 시켰다. 해결방법 Answer Url : los.rubiya.kr/chall/zombie_assassin_eac7521e07fe5f298301a44b61ffeec0.php?id=%22 이 문제의 핵심은 addslashes가 strrev에보다 먼저 실행된다는 점이다...

    [LOSI] Lord of SQL Injection Level 16 - Succubus

    서큐버스 눈나.... 저번 시간은 assassin문제를 해결하는 방법을 알아보았다. 이번 몬스터는 서큐버스로 코드로 공략법을 생각해보자 코드 id와 pw에 둘 다 다음과 같은 것들이 금지되어 있다. 바로 정답을 알아보자 금지항목 : prob, 언더바(_), 점(.), 역 슬래쉬(\), 작은따옴표(') 해결방법 Answer Url : los.rubiya.kr/chall/XXXX.php?id=\&pw=%20or%201=1--%20; 이번 문제는 문자열 안에서 특수문자를 쓰는 원리를 이해하면 쉽다. 프로그램 문자열은 특수문자를 처리하기 위해 역 슬래쉬(\)를 넣게 된다. 따라서 위와 같이 id에 \를, pw에 or 1=1을 넣게 되면 다음과 같이 처리된다. 결과적인 query는 id='' or 1=1--; 이..

    [LOSI] Lord of SQL Injection Level 15 - assassin

    올... 이번에는 조금 맵시 있는 몬스터를 만났다.(일부로 제목도 소문자로 썼다. 대문자는 둔해 보여서) 암살자라는 이름을 달고 온 이 몬스터를 무찌르기 위해 코드를 확인하고 공략법을 이야기해보자 코드 실행되는 쿼리문은 하나이다. prob_assassin이라는 table에서 pw like '{$_GET[pw]}' 인 값을 가져와서 admin이면 success이다. 즉 pw를 통해서 admin 레코드를 가져오는 것이 assassin을 무찌르는 방법이다. 다행히도, helllo {$result [id]}가 있으니, blind sql injection을 실행하기 아주 좋은 환경이다. 해결방법 Answer Url : los.rubiya.kr/chall/assassin_14a1fd552c61c60f034879e5..

    [LOSI] Lord of SQL Injection Level 14 - Giant

    이번에 우리가 공략할 몬스터는 거인이다. 이 커다란 문제를 해결하기 위해서는 이전에 배웠던 내용을 잘 생각해야 된다. 코드 응? 일단 쿼리가 1234를 가져오도록 했다.;; 공백과 개행과 캐리지 리턴, 탭은 막힌 상황이고, 우리의 입력값이 빈칸으로 인식되는 무엇인가가 되면 좋을 거 같다. 해결방안 Answer Url : los.rubiya.kr/chall/XXXX.php?shit=%0C 기억할지 모르겠지만, 공백을 우회하는 여러 가지 문자열이 있었다. 기억 안 나면 아래 포스팅을 공부하고 오자 2021.04.13 - [정보보안-실습/SQL Injection] - [LOSI] Lord of SQL Injection Level 5 - Wolfman [LOSI] Lord of SQL Injection Leve..

    [LOSI] Lord of SQL Injection Level 13 - BugBear

    12번까지 열심히 올리고 한숨 자고 오니까 머리가 맑아진 기분이다. 역시 잠과 퇴근은 사랑이다. 개인적으로 몰라서 그런데 bugbear가 한국말로 뭐지? 바로 문제로 넘어가자 * 이 문제를 해결하기 위한 코드는 python으로 작성되어있습니다. * * 작성된 blind sql injection 코드에 대한 해설은 4번 orc에 자세하게 나와있습니다. * 2021.04.13 - [정보보안-실습/SQL Injection] - [LOSI] Lord of SQL Injection Level 4 - Orc [LOSI] Lord of SQL Injection Level 4 - Orc 무서운 몬스터가 우리 앞을 막아섰다. 오크라고 불리는 이 몬스터는.... 심각하게 뚱뚱한 이 몬스터를 쉽게 이길수 없다는 생각이 든다..