전체 글 (177) 썸네일형 리스트형 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)으로 돌아가는 현상이 발생합니다. 이 기능을 무시해야 문제에 접근이 가능하다는 생각을 했지만, 이 기능을 무시하는 방법을 몰라서 검색했습니다 ㅠㅠ. 웹에서 작동하는 경고이기 때문에 자바스크립트를 사용을 한 것이었고, 자바스크립트 기능을 없애면 저 경고문도 나타나지 않는다는 것이었습니다. 크롬에서 문제를 해결하려고 했기 때문에 크롬을 기준으로 작업을 진행하였습니다. 크롬에서 자바스크립트 기능 차단하기 크롬의 옵션에서 설정을 눌러 들어.. 싸이피아 아두이노 스마트카 조립 필요한 부품들도 모두 준비된 상태에서 조립을 시작했습니다. 싸이피아 사이트에서 조립 메뉴얼이 있었지만, 설명을 정확히 이해해야 하는 부분이 있었습니다. 싸이피아에서 같이 제공한 코드를 적용하였습니다. 영상은 없지만 초음파센서로 일정 거리 앞에 장애물이 감지된다면 전진을 멈추고, 방향을 랜덤하게 바꿔서 경로를 바꾸는 형태의 움직임을 가집니다. 더 많이 학습해서 추가적인 기능을 구현하거나 새로운 작동을 하는 장비를 만들어보고 싶네요 ㅎㅎ.. 공부해볼 것이 상당히 많네요...ㅠ -끝- 싸이피아 아두이노 스마트카 키트 구매 아두이노 학습으로 처음 구매해본 스마트카 키트입니다. 아두이노 키트나 부품들을 구입할 수 있는 사이트는 정말 많았어요! 저는 그 중 싸이피아(http://scipia.com)의 스마트카 키트를 구매했습니다. 싸이피아 SCIPIA 쇼핑몰 상품은 잘 받았습니다. 상품 포장을 조금 더 신경 써 주셨으면 합니다. 핀헤더가 약간 꺾여 있습니다. 제품 테스트 확인해 보겠습니다. (2022-07-20 18:41:35 에 등록된 네이버 페이 구매평) scipia.com 가격대는 3만원 초반이었습니다. 아두이노를 완전 처음 접하시는 분들을 위한 메뉴얼도 사이트에서 제공해 주고 있어요. 능숙하게 다룰 수는 없다고 생각해서 사이트 메뉴얼을 참고하기로 했습니다. 키트 제작 메뉴얼은 다른 사이트에서 운영하고 있어요. (http.. 백준 2869(달팽이는 올라가고 싶다) 파이썬(python) 해결 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B 백준 2292(벌집) 파이썬(python) 해결 문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 출력 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. 코드 num = int(input()) start = 1 last = 0 while(True): if num > start: last += 1 start = start + last*6 else: print(la.. 백준 1193(분수찾기) 파이썬(python) 해결 문제 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 이와 같이 나열된 분수들을 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. 출력 첫째 줄에 분수를 출력한다. 코드 num = int(input()) start = 1 up = 2 if num == 1: #1번 분수를 찾을 경우 prin.. 카카오페이에 계좌 연결하기 최근에 근로를 하다보니 지인들이랑 밥을 같이 먹게 되는 경우가 많았습니다. 더치페이를 하기 위해서 계좌에 돈을 보내주는 경우가 잦아졌습니다. 대부분의 분들이 카카오페이를 사용하셔서 토스를 사용하던 저도 한 번 사용해 보기로 했습니다. 카카오페이를 사용하는 방법에는 카카오페이와 연결된 다른 계좌에서 돈을 끌어와 사용하는 것이 있습니다. 그러기 위해서는 다른 계좌정보를 카카오페이에 연결하는 과정이 필요합니다. 카카오페이에 계좌를 연결하는 과정을 설명하겠습니다. 카카오톡 화면에서 ˙ ˙ ˙ 메뉴를 들어가신 다음 타원형 모양의 카카오페이 잔액을 눌러서 들어갑니다. 본인의 카카오페이에 대한 메뉴가 나타나며, 이미지에 체크된 더보기 아이콘을 눌러서 들어갑니다. 연결계좌 관리를 눌러서 들어갑니다. 현재 연결되어 있는.. 백준 2839(설탕 배달) 파이썬(python) 해결 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨지며, 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) 출력 상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약, 정확하.. 이전 1 ··· 6 7 8 9 10 11 12 ··· 15 다음 목록 더보기