본문 바로가기

분류 전체보기845

Challenge 13 1000점이라는 높은 점수가 걸려있는 문제이다. 필터링이 많은것을 제외하고는 그리 어렵지 않은 문제였다. 일단 문제페이지에 접속해보면 HINT : select flag from prob13password 라는 힌트가 존재한다. prob13password 테이블에서 flag 를 추출해내는게 우리의 목표이다. 소스도 존재하지 않아 처음에는 감을 잡기 애매했다. 그러다가 Blind SQLi 라는 힌트를 얻게 되었고 공격을 시도하게 됬다. 일단 쿼리를 전송하는 부분이 어떠한 역할을 하는지 알아보기 위하여 아래와 같은 쿼리를 넣어봤다. ?no=1%0din(1) - 1 표시 ?no=1%0din(2) - 0 표시 (=가 필터링되므로 in 을 사용하였다.) 예상대로 참/거짓 판별유무를 표시하는듯하다. 처음에는 워게임 .. 2014. 6. 15.
Python Blind,Time Based SQL Injection Source [GET] import httplibimport urllibresult=''length=1string="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_-=+"for i in range(1,100): if(length '+string[j]print 'Password is '+result [POST] import httplibimport urllibresult=""length=1string="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_-=+"for i in range(1,100): if(length=2: result=result+strin.. 2014. 6. 15.
Challenge 57 후..시험기간이라 빠르게 풀고 다시 공부하려 했는데 대충대충 하는 습관때문에 하루종일 삽질을 하게 된 문제이다.. 소스부터 확인해보자. 2014. 6. 12.
Challenge 45 ID 와 PW를 입력하여 로그인하는 간단한 폼이 존재한다. 소스를 확인해보자. 2014. 6. 12.
Challenge 51 간단한 아이디와 패스워드 입력부분이 나온다. 처음에는 Blind SQLi 인줄 알았다. 소스를 확인해보자. 2014. 6. 10.
Challenge 55 해당 주소로 들어가면 슬라임같이 생긴 것이 마우스를 따라온다. 조금 움직이다 보면 슬라임에 잡혀 GAME OVER 라는 창이 뜨게 된다. RANK 페이지를 들어가보면 ID 와 RANK 와 SCORE 가 있다. 점수부분을 눌러보니 score 라는 변수를 통하여 값을 GET 방식으로 넘겨준다. 아마 이 부분이 인젝션 포인트인 것 같다. 먼저 참/거짓의 반응을 알아봤다. score=0 and 1=1# (참, id=localhost) score=0 and 1=2# (거짓, id 공백) 그다음 필터링 되는 항목들을 검사하기 위하여 여러가지 키워드들을 넣어봤다. SELECT 가 필터링 된다. SELECT 가 필터링 될 시 procedure analyse() 함수를 이용하면 테이블명을 알아낼 수 있다. rank.ph.. 2014. 6. 8.