본문 바로가기

Web Hacking27

Lord of SQL Injection 15단계, assassin풀이 이번 포스팅은 15단계, 어쌔신 풀이이다! 드디어 반절정도 온 느낌이다. 사실 los를 풀면서 많이 성장했다고 생각한다. 배운 것도 많고, 얻은 것도 많다. 하루 한 문제씩 풀어가는 재미도 쏠쏠하고. 이걸 토대로 더 많은 것을 할 수 있을 것 같은 느낌이다. 빨리 코드부터 확인해보자! 이번에도 코드가 짧다. 신기하게 이번에는 =이 아닌 like로 쿼리문이 구성되어 있다. 단순하게 생각해보면 id를 admin으로 넣어주면 해결 될 것 같은데, 싱글쿼터가 막혀있으니 아무래도 id가 admin 이라는 값을 가진 얘의 pw값을 직접 알아내야할 것 같다. 저번 문제에서는 like 를 = 으로 해석하는 정도까지만 알고있어도 문제가 풀렸지만, 이번 문제에서는 like의 와일드카드를 알고있어야 풀린다. 여기서, lik.. 2019. 11. 8.
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.