Lord of SQL Injection 13단계, bugbear풀이
·
Archive/Hacking
오늘은 기분이 좋아서 포스팅을 계속 올리게 된다. 여유를 찾은 것 같아 기분이 좋다! 조만간 블로그에 새로운 카테고리를 하나 생성할 것 같다. 이번에도 블라인드 인젝션이다! 계속 보던거니 즐거운 마음으로 임해보자! 제약이 점점 많아진다. 필터링 하는 것들이 늘어나는데, 그만큼 알아가는 범위도 넓어진다. 오늘의 주요한 코드는 이것이다. preg_match 를 통해 ' 는 pw와 no 에서 둘다 막혔고, substr, ascii, = , or , and , (공백) , like, 0x 가 막혔다. 여태껏 = 를 우회하려고 쓰던 like 가 막혔다. 그렇다면 또 다시 우리는 우회할 것을 찾으면 된다! 우린 답을 찾을것이다. 늘 그랬던 것처럼. 구글링을 해보니 in을 우회용으로 사용할 수 있다. 공백은 탭으로 ..
Lord of SQL Injection 12단계, darkknight풀이
·
Archive/Hacking
이번 포스팅은 12번째! 다크나이트이다. 이름이 정말 멋있고 썸네일(?) 도 멋있다. 개인적으로 칼 등의 무기를 든 것보다 방패를 든게 더 멋있는 것 같다. 사설이 길었다. 빠르게 코드로 넘어가자! 12번 다크나이트 문제도 블라인드인젝션 유형의 문제이다. 주요한 코드를 살펴보자! preg_match 를 통해 pw 에서는 ' 가 필터링되어 있고, no에서는 ' 와 substr, ascii, = 이 필터링 되어있다. 이 쿼리문을 보면 pw에는 우리가 입력한 값을 싱글쿼터로 감싸주고 있으나, no에서는 아무런 보호막(?)이 없다. 우리가 no를 아무값이나 막 쓰고 or 을 사용하여 쿼리문을 이어주면 된다. 이제 블라인드 인젝션 공격을 시행해보자! 더보기 먼저 길이를 알아내야한다. ?no=1234 || leng..
Lord of SQL Injection 11단계, golem풀이
·
Archive/Hacking
이번 포스팅은 11단계, 골렘 풀이 포스팅이다. 드디어 발표 두개를 무사히 다 끝냈다. 마음이 홀가분한 상태로 하는 공부는 기분이 좋다! 과제를 끝냈으니 즐거운 기분으로 포스팅을 시작해 보자! 코드부터 살펴보겠다. 자아,,, 이번에도 블라인드 인젝션이다. 주요한 코드만 뽑아서 다시 보자. preg_match가 우리가 쓰면 안될 것을 알려준다. or 와 and, 그리고 우리가 문자열을 잘라낼때 쓰던 substr, = 이 금지당했다! =이 금지당하면 like로 우회 가능하다. 이것은 저번 문제에서도 사용했던 것인데, 기억이 나지않는다면 10단계 스켈레톤 풀이를 다시 보고오길 바란다. substr은 무엇으로 우회해야할지 잘 모르겠어서 구글링했다. 두가지가 나타난다. 1. substring 2. mid 이 두가..
Lord of SQL Injection 10단계, skeleton풀이
·
Archive/Hacking
이번 포스팅은 10단계 스켈레톤 풀이이다. 사실 요즘 ppt만들고 발표하는 과제가 많아져서 블로그 포스팅할 시간이 없었다. (핑계) 과제가 정말 많다. 하지만 불굴의 의지를 가진 나를 아무도 막을 순 없으셈 다 안할래 포스팅 시작하겠다! 빠르게 코드부터 살펴보자. 보자마자 코드가 짧아 안심되었다. 주요한 코드를 살펴보자! 이 코드에서 특별한 점은, pw 값을 받고 난 후 and 1=0 이라는 구문이 조건이 더 붙은것이다. 평소 해왔던대로 pw를 닫고 or 연산자를 써서 id='admin' 을 추가하면 될 것 같다. 하지만 ?pw=' or id='admin' 만 써넣는다면 and 1=0 때문에 결과값이 나오지 않는다. and보다 or가 우선 순위가 더 낮기때문이다. and 부터 처리된다는 사실을 기억하고 ..