분류 전체보기

    [LOSI] Lord of SQL Injection Level 6 - DarkElf

    지난 시간 우리는 공백을 우회하는 방법을 알아보았다. 이번에 만나볼 몬스터는 DarkElf로(헤으응 나 죽어), 이 몬스터는 논리 연산자를 필터링한다. 코드 필터링되는 글자중 or, and와 같은 그간 우리가 써오던 논리 연산자들이 있다. 보통 다음의 해답으로 떠올렸을 것이다. Answer Url? : los.rubiya.kr/chall/XXXX.php?pw=1%27%20or%20id=%27admin%27--%20; 자축하자 우린 걸러졌다. 해결방법 Answer Url : los.rubiya.kr/chall/XXXX.php?pw=1%27%20%7C%7C%20id=%27admin%27--%20; 프로그래밍 언어를 공부한 사람은 알겠지만 문법적으로 or와 and를 의미하는 기호가 있다. 바로 파이프(||)와..

    [LOSI] Lord of SQL Injection Level 5 - Wolfman

    어찌 보면 쉬어가는 시간이 될 거 같다. 저번 시간 Blind SQL Injection을 배웠으니, 이번 시간에는 공백을 우회하는 DB 테크닉을 조금 배워보자 코드 눈에 띄는 금지어로 space(공백)이 있다. DB나 코드나 공백은 문법적으로 상당히 중요한 의미를 가진다. 기존대로 문제를 풀었다면 아마 다음과 같은 답이 바로 떠오를 것이다. Answer url? : los.rubiya.kr/chall/XXXX.php?pw=1%27%20id=admin--%20; 아쉽지만 이번에 공백(space, %20) 불가하기에 다음의 필터링 화면을 만나볼 수 있다. 우리는 공백을 대체할 무엇인가가 필요하다 해결방법 Answer Url : los.rubiya.kr/chall/XXXX.php?pw=1%27%09or%09i..

    [LOSI] Lord of SQL Injection Level 4 - Orc

    무서운 몬스터가 우리 앞을 막아섰다. 오크라고 불리는 이 몬스터는.... 심각하게 뚱뚱한 이 몬스터를 쉽게 이길수 없다는 생각이 든다. 일단 코드를 확인하자. * 주의 : 이번 포스팅은 Python을 기본적으로 다룰 줄 아는 사람이 보도록 하자 모른다면 Python부터 짧게 공부하고 오자(다른 언어를 자유자재로 다룰 줄 안다면 이번포스팅에 굳이 Python을 알 필요는 없다. * Python 배우기 : 2021.04.04 - [개발/Python] - [Python] - Python의 설치와 실행 [Python] - Python의 설치와 실행 농사를 지으려면 땅이 있어야 하고, 그림을 그리려면 캔버스가 있어야 한다. 무슨 소리냐. -- Python을 시작하려면 Python을 작성할 수 있는 개발도구가 있어..

    [LOSI] Lord of SQL Injection Level 3 - Goblin

    코볼트를 훌륭하게 퇴치한 우리를 3번째로 반겨주는 몬스터는 고블린이다. 바로 코드를 확인하자 코드 코블린의 코드이다. 일단 id와 pw가 아닌 no라는 파라미터를 받아들이며 다음과 같은 문자열이 금지된다. prob, _(언더바), .(점), \(역 슬래쉬), '(작은따옴표), "(큰따옴표), `(그레이브) 이런! 우린 작은따옴표와 큰따옴표를 금지당했다. 이번에도 역시 no파라미터에 코드를 닫을 수 있도록 해주어야 하는데 어떡하나 싶다(ㄷㄷ). query는 다음과 같다. $query = "select id from prob_goblin where id='guest' and no={$_GET[no]}"; 해결조건은 다음과 같다. admin이 검색되면 성공이다. 이번 문제에서 우리는 두가지를 성공시켜야 한다...

    [LOSI] Lord of SQL Injection Level 2 - Cobolt

    다음으로 우리는 반기는 몬스터는 cobolt이다. 바로 코드로 넘어가자로 우리는 반기는 몬스터는 cobolt이다. 바로 코드로 넘어가자 코드 알고 있는 부분은 빠르게 넘어가고 이번에 못쓰는 문자열은 다음과 같다. prob, _(언더바),.(점), \(역 슬래쉬) 이점은 Level 1이랑 다른 게 없어 보인다. 쿼리를 보자 $query = "select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}')"; 으흠; 이번에 는 id에 해당하는 pw를 md5를 이용해서 해싱하고 해싱 값을 비교한다. * 여담인데, DB를 다뤄본 분들은 아시겠지만, 비밀번호는 일방향으로 암호화, 생체정보는 양방향 암호화하는 것이 현재 개인정보보호법의 기준이다..

    [LOSI] Lord of SQL Injection Level 1 - Gremlin

    으ㅡㅡ 우리를 반겨주는 첫 번째 몬스터는 작은 그렘린이다. 우선 이 친구의 코드부터 알아보자 코드 PHP 코드를 열면 다음과 같은 코드가 우리를 반긴다. 첫 시작이니 하나하나 코드를 분석해 보자