웹 썸네일형 리스트형 webhacking.kr [문제 24번] 24번 문제를 풀어보겠다. 해당 문제의 배점은 100point이며, 다소 쉬운 문제로 예상된다. 군말없이 클릭해보자. 현재 접속 클라이언트의 IP주소가 보여지며, Wrong IP!라는 메세지를 보여준다. 무언가 적절한 아이피 주소로 변경한다면, 해당 문제를 풀 수 있을 것 같다. 소스코드 또한 확인해보자. 소스코드에 눈에 띄는 부분이 있다. index.phps 를 제공하고 있다. 의심의 여지없이 확인해보자. 다음과 같은 소스코드를 보여주며, 해당 소스코드를 분석하여, 공격방법을 생각해보자. 코드 분석) 분석에 주석을 구체적으로 달아놓았으니 참고하자. 여기서 눈여겨 봐야할 부분이 '12'와 '7.' '0.'을 공백으로 대체한다는 것이다. 만약 112277..00..00..1 해당 문자열을 대입했을 경우, .. 더보기 webhacking.kr [문제 23번] 23번 문제를 풀어보겠다. 해당 문제의 배점은 200point이다. 23번 문제를 접속해보니, 입력 폼 한가지가 있고, 힌트로는 를 인젝션하라고 한다. 그럼 한번 해당 스크립트를 인젝션해보자. 당연히 이렇게 쉽게 될리가 없다. 특정 문자들이 필터링 되어 있는 것으로 확인된다. 어떤 문자열들이 필터링 되어 있는지 체크해보자. 해당 문자열을 토큰 단위로 쪼개어 체크해보았다. 1) 4) alert 5) ( 6) 1 7) ) 8) ; 9) / 해당 필터링 된 문자들을 확인해보면, 각 특수문자들을 필터링 되어있지 않지만, 'script'와 'alert'문자열들은 필터링 되어있는 것으로 확인됬다. 그렇다면 해당 문자열을 이루고 있는 문자들도 필터링 될까? 다행이 아닌 것으로 확인되었다. 그렇다면 해당 문자들을 nu.. 더보기 webhacking.kr [문제 16번] 오늘은 16번 문제의 풀이를 작성해보도록 하겠다. 해당 문제의 배점은 100point이다. 해당 문제를 클릭하자 16번 문제 페이지의 좌측 상단에 뚱이(별) 한마리가 자리 잡고 있다. 기계적으로 소스코드를 확인해보자. 해당 소스코드를 확인하면 바디태그에 onload와 onkeypress 메소드가 등록되어 있는 것을 확인할 수있다. onload : 바디가 로딩될 때 실행될 루틴이 저장되어있다, onkeypress : 바디 요소가 활성화 되어있을 때 키입력시 발생할 이벤트가 등록되어 있다. onkeypress에 등록되어 있는 함수를 확인해보자. 특정한 정수값에 따라 star요소(별)이 이동하는 것을 확인할 수 있다. (단, 크롬브라우저에서 해당 스크립트는 작동하지 않는다.) 여기서 특정한 정수값은 뭘 뜻할까.. 더보기 webhacking.kr [문제 13번] 3번째 라인으로 넘어가서 문제 13번을 풀어보겠다. 해당 문제의 배점은 1000point이며 지금까지 나온 문제 중 제일 높은 배점을 갖고있다. 클릭해보자. SQL INJECTION기법으로 푸는 것으로 예상되며 힌트로 select flag from prob13password라고 주어져 있다. 그렇다면 시험삼아 인젝션을 시도해보자. 몇가지 문자들이 필터링 되어있는 것 같다. 다사다난한 삽질(?)이 예상된다. 임의로 여러가지를 테스트해보자. 1) 0을 입력시 아무런 반응이없다. 2) 1을 입력시 3) 2를 입력시 4) 2이상을 입력시 해당 결과를 토대로 예상해보면 result가 1일때는 참 0일때는 거짓으로 나온다고 생각된다. 해당 가설을 검증해보자. no=2 or 1 (참) 이라는 쿼리를 보내서 해당 결과.. 더보기 webhacking.kr [문제 9번] 중간에 알바면접이 있어서 포스팅을 못했다. 미루고 미루던 웹해킹 9번 문제를 풀어보겠다. 9번문제 무려 900point로 전체 문제 중 두번째로 점수 배점이 높다. 해당 문제를 풀면 대략적인 다른 문제들의 난이도를 예상할 수 있을 것으로 예상된다. 문제 클릭시 다음과 같은 페이지를 보여준다. 소스코드를 확인해보자. 별다른 정보는 없지만 각 페이지가 no=1, no=2, no=3로 하이퍼링크 되어 있는 것을 확인할 수 있다. 실제 각각의 페이지를 확인해보자. 1번 페이지 2번 페이지 3번 페이지ㅓ 다음과 같은 페이지를 분석해보니. 데이터베이스에서 no일때의 각각의 id값을 가져와 화면에 뿌려주는 것으로 확인된다. 또한 no=3일때의 id값의 길이는 11로 힌트가 주어졌다. 과연 해당 가설이 맞는지 no=4.. 더보기 이전 1 다음