분류 전체보기 (171) 썸네일형 리스트형 webhacking.kr old-6 이해하기 old-6의 페이지 구성은 view-source, ID 값과 PW 값입니다. view-source 링크를 새 페이지로 열어보았습니다. 소스 코드 분석 php 코드 부분을 확인해 보았습니다. $val_id="guest"; $val_pw="123qwe"; for($i=0;$i webhacking.kr old-24 이해하기 old-24 문제는 client ip와 agent 정보로 시작합니다. view-source를 새 링크를 통해 열어보았습니다. 소스 코드 분석 if($ip=="127.0.0.1") { solve(24); exit(); } 해당 if문을 통해서 $ip의 값이 127.0.0.1을 가질 때 문제가 해결되는 것을 확인할 수 있습니다. if($REMOTE_ADDR){ $ip = htmlspecialchars($REMOTE_ADDR); $ip = str_replace("..",".",$ip); $ip = str_replace("12","",$ip); $ip = str_replace("7.","",$ip); $ip = str_replace("0.","",$ip); } $ip의 값은 $REMOTE_ADDR의 값에 의해 .. webhacking.kr old-18 이해하기 old-18 페이지는 "SQL INJECTION" 이름을 가지고 있습니다. 아래에 "view-source" 링크가 있습니다. 새 탭을 열고서 링크를 들어갔습니다. 소스코드 분석 색 표시가 되어있는 php 구문이 이번 문제의 핵심입니다. db가 언급되는 것으로 보아 데이터베이스를 다루는 것이며, 사용자 정보가 저장된 것으로 생각됩니다. 페이지의 제목이 SQL INJECTION인 만큼 정보를 알아낼 수 있는 SQL 삽입을 통해서 데이터베이스에 비정상적 동작을 하도록 유도하는 것이 문제 해결의 실마리입니다. 이를 위해서는 데이터베이스에 접근하는 구문을 이해하여 어떻게 동작하는지 알아야 합니다. webhacking.kr old-17 이해하기 old-17 100pt 문제의 페이지로 들어가겠습니다. 텍스트 상자와 체크박스로 구성된 화면입니다. f12를 눌러서 페이지 소스코드를 확인하겠습니다. 페이지 소스코드 분석 script 태그에서 unlock이라는 이름으로 큰 분량의 연산 결과를 저장하는 것을 알 수 있습니다. function sub(){ if(login.pw.value==unlock){ location.href="?"+unlock/10; } else{ alert("Wrong"); } } login.pw.value는 사용자가 입력한 텍스트 값을 의미합니다. 그 값이 unlock의 값과 같다면 페이지 이동(location.href)이 발생하게 됩니다. 문제가 해결된다는 의미입니다! 이번 페이지의 문제는 해당 연산을 어떻게 수행할 것인지 물어보.. webhacking.kr old-16 이해하기 old-16 100pt 문제의 해결을 시작하겠습니다. 페이지에 들어가면 별이 찍혀있는 것을 확인할 수 있습니다. 하지만 이것으로 정보를 알기엔 너무나 부족합니다. 크롬에서 키보드 f12를 눌러서 페이지 소스코드를 확인했습니다. 페이지 소스코드 분석 이전의 문제들에 비해서 코드의 형식과 길이가 길어졌음을 확인할 수 있습니다. 그래서인지 친절하게 주석으로 "do it"이라는 표시를 해주셨네요 :) 다른 코드들을 자세히 해석하는 것보다 do it을 집중적으로 알아보겠습니다. if(cd==124) location.href=String.fromCharCode(cd)+".php"; // do it! cd는 변수를 의미하는 것 같습니다. 124일 때 실행되는 코드입니다. location.href 문장이 있으니 정답과.. webhacking.kr old-14 이해하기 100pt 난이도의 문제를 해결해 보았습니다. 페이지의 구성은 흑색 배경에 입력창과 체크박스로 구성되어 있습니다. 체크박스를 클릭하면 Wrong 경고 메시지가 나타나는 것을 확인할 수 있습니다. 올바른 값을 입력 후 check를 클릭하면 문제가 해결되는 구조 같습니다. 크롬에서 키보드 f12를 눌러서 페이지 소스코드를 확인해 보았습니다. 페이지 소스코드 분석 먼저 폼(form) 태그가 있는 문장을 확인해 보겠습니다. HTML의 폼(form) 태그는 사용자의 입력에 대한 정보를 다룰 때 적절합니다. 입력된 데이터를 한 번에 서버로 전송하여 처리하도록 할 수 있습니다. 폼을 식별하기 위한 이름으로 "pw"를 지정한 것을 알 수 있습니다. input은 사용자가 입력을 가능하게 하는 태그입니다. type = ".. webhacking.kr old-15 이해하기 제공되는 pt가 난이도와 비례하다면 가장 쉬운 난이도의 문제입니다. webhacking.kr 첫 시작이기 때문에 난이도 순서로 해결을 진행하기로 했습니다. 입장하자마자 첫 화면으로 쫓아내는 문제라서 입문자에게 당황 그 자체... 확인을 누르면 첫 화면(webhacking.kr)으로 돌아가는 현상이 발생합니다. 이 기능을 무시해야 문제에 접근이 가능하다는 생각을 했지만, 이 기능을 무시하는 방법을 몰라서 검색했습니다 ㅠㅠ. 웹에서 작동하는 경고이기 때문에 자바스크립트를 사용을 한 것이었고, 자바스크립트 기능을 없애면 저 경고문도 나타나지 않는다는 것이었습니다. 크롬에서 문제를 해결하려고 했기 때문에 크롬을 기준으로 작업을 진행하였습니다. 크롬에서 자바스크립트 기능 차단하기 크롬의 옵션에서 설정을 눌러 들어.. 싸이피아 아두이노 스마트카 조립 필요한 부품들도 모두 준비된 상태에서 조립을 시작했습니다. 싸이피아 사이트에서 조립 메뉴얼이 있었지만, 설명을 정확히 이해해야 하는 부분이 있었습니다. 싸이피아에서 같이 제공한 코드를 적용하였습니다. 영상은 없지만 초음파센서로 일정 거리 앞에 장애물이 감지된다면 전진을 멈추고, 방향을 랜덤하게 바꿔서 경로를 바꾸는 형태의 움직임을 가집니다. 더 많이 학습해서 추가적인 기능을 구현하거나 새로운 작동을 하는 장비를 만들어보고 싶네요 ㅎㅎ.. 공부해볼 것이 상당히 많네요...ㅠ -끝- 이전 1 ··· 9 10 11 12 13 14 15 ··· 22 다음