본문 바로가기

전체 글492

[ JAVA ] 001 - JAVA 소개 우리는 흔히 '프로그래밍 언어'를 생각하면 C/C++, Python, Java와 같은 고급언어를 떠올린다. 고급언어란 기계보다 사람에 더 가까운 언어로 사람이 이해하기 쉽고, 복잡한 작업이나 자료 구조, 알고리즘을 표현하기 위해 개발된 언어이다. " 절차 지향 언어 VS 객체 지향 언어 " 이 고급 언어는 절차 지향 언어 와 객체 지향 언어로 구분 지을 수 있다. 절차 지향 언어 란 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 언어이다. 순차적인 처리가 중요한 언어라고 할 수 있다. 대표적으로 C언어가 그렇다. 객체 지향 언어 란 프로그램을 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 구성하여 만드는 프로그래밍 언어이다. 대표적으로 Java가 그렇다. " 플랫폼 종속성 VS 플랫폼 독립성.. 2020. 3. 7.
Lord of SQL Injection 17단계, succubus풀이 이번 포스팅은 17단계, 서큐버스 풀이 포스팅이다. 부쩍 날이 추워졌다. 옷이 두꺼워졌다. 몸이 둔해져서 헬스장을 등록했다! 내 운동상태를 체크하는 카테고리도 하나 만들어둘까, 하는 생각이다. 나는 과거의 나에게서 가끔 내가 원하는 나를 발견하기 때문에, 무엇이든 기록하는 것이 중요한 것 같다. 각설, 코드부터 살펴보자! id 와 pw 둘 다 싱글쿼터가 필터링 되어있다. 지난 문제들과는 다르게 \가 필터링 되어있지 않은 것을 보니 \를 이용해서 문제를 푸는 것이라 짐작된다. \를 사용하면 \ 뒤에오는 것이 문자로 읽히게 된다. 이러한 원리를 이용해서 푸는 것인데, 처음보면 조금 어렵다고 느낄 수도 있다. ?id=부터 시작하면 우리가 입력하는 값이 사진 속의 싱글쿼터 속으로 들어간다. 그렇다면 ?id=\&.. 2019. 11. 8.
Lord of SQL Injection 16단계, zombie_assassin풀이 이번 포스팅은 16단계, 좀비 어쌔신 풀이이다! 새로운 라인에 들어섰으니, 새로운 마음으로 시작! 코드부터 살펴보자! ereg로 싱글쿼터가 필터링되었다. 자, 여기에서는 ereg가 쓰였다. ereg는 대소문자를 구별하고, 널문자를 만나면 뒤의 문자열을 더이상 검열하지 않는다는 특징이 있다! 이러한 특징만 알면 쉽게 풀 수 있는 문제이다! 더보기 ?pw=%00' or 1=1%23 zombi_assassin clear! 2019. 11. 8.
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.