본문 바로가기

Web Hacking/LOS (sql injection)18

Lord of SQL Injection 14단계, giant풀이 이번 포스팅은 giant, 즉 거인 풀이이다! los 에 나와있는 다른 애들은 좀 꺼려지는데, 거인은 한번 만나보고 싶다. 실제로 만나면 걸리버여행기가 내 눈앞에! 코드 보자! 언뜻 보기에는 참 쉬워보인다. 쿼리문에 shit 라는 게 있는데, 여기만 공백 처리해주면 잘 풀릴 듯 싶다. 하지만 난 아직 모르는 것이 많은 사람이기 때문에 공백 우회 종류를 잘 모른다. 막아놓을 것은 다 잘 막아놓았다. 공백과 \n, \r ,\t 이 막혔다. 구글의 힘을 빌려서 공백 우회법을 좀 더 알아보자! %09 : tab %0a : line feed %0b : vertical tab %0c : form feed %0d : carriage return + : 공백과 같은 뜻. 여기서 \n 과 \r, \t 은 %0a, %0d.. 2019. 11. 7.
Lord of SQL Injection 13단계, bugbear풀이 오늘은 기분이 좋아서 포스팅을 계속 올리게 된다. 여유를 찾은 것 같아 기분이 좋다! 조만간 블로그에 새로운 카테고리를 하나 생성할 것 같다. 이번에도 블라인드 인젝션이다! 계속 보던거니 즐거운 마음으로 임해보자! 제약이 점점 많아진다. 필터링 하는 것들이 늘어나는데, 그만큼 알아가는 범위도 넓어진다. 오늘의 주요한 코드는 이것이다. preg_match 를 통해 ' 는 pw와 no 에서 둘다 막혔고, substr, ascii, = , or , and , (공백) , like, 0x 가 막혔다. 여태껏 = 를 우회하려고 쓰던 like 가 막혔다. 그렇다면 또 다시 우리는 우회할 것을 찾으면 된다! 우린 답을 찾을것이다. 늘 그랬던 것처럼. 구글링을 해보니 in을 우회용으로 사용할 수 있다. 공백은 탭으로 .. 2019. 11. 7.
Lord of SQL Injection 12단계, darkknight풀이 이번 포스팅은 12번째! 다크나이트이다. 이름이 정말 멋있고 썸네일(?) 도 멋있다. 개인적으로 칼 등의 무기를 든 것보다 방패를 든게 더 멋있는 것 같다. 사설이 길었다. 빠르게 코드로 넘어가자! 12번 다크나이트 문제도 블라인드인젝션 유형의 문제이다. 주요한 코드를 살펴보자! preg_match 를 통해 pw 에서는 ' 가 필터링되어 있고, no에서는 ' 와 substr, ascii, = 이 필터링 되어있다. 이 쿼리문을 보면 pw에는 우리가 입력한 값을 싱글쿼터로 감싸주고 있으나, no에서는 아무런 보호막(?)이 없다. 우리가 no를 아무값이나 막 쓰고 or 을 사용하여 쿼리문을 이어주면 된다. 이제 블라인드 인젝션 공격을 시행해보자! 더보기 먼저 길이를 알아내야한다. ?no=1234 || leng.. 2019. 11. 7.
Lord of SQL Injection 11단계, golem풀이 이번 포스팅은 11단계, 골렘 풀이 포스팅이다. 드디어 발표 두개를 무사히 다 끝냈다. 마음이 홀가분한 상태로 하는 공부는 기분이 좋다! 과제를 끝냈으니 즐거운 기분으로 포스팅을 시작해 보자! 코드부터 살펴보겠다. 자아,,, 이번에도 블라인드 인젝션이다. 주요한 코드만 뽑아서 다시 보자. preg_match가 우리가 쓰면 안될 것을 알려준다. or 와 and, 그리고 우리가 문자열을 잘라낼때 쓰던 substr, = 이 금지당했다! =이 금지당하면 like로 우회 가능하다. 이것은 저번 문제에서도 사용했던 것인데, 기억이 나지않는다면 10단계 스켈레톤 풀이를 다시 보고오길 바란다. substr은 무엇으로 우회해야할지 잘 모르겠어서 구글링했다. 두가지가 나타난다. 1. substring 2. mid 이 두가.. 2019. 11. 7.