웹해킹

    「웹해킹을 위한 자바스크립트(Javascript) 훑어보기」- 6. 전개(spread)와 분해

    본 글은 Udemy(유데미)에서 제공하는 Colt Steele님의 「The Web Developer 부트캠프 2023」 강의를 수강하며 배운 내용을 바탕으로 작성했습니다. 웹 해킹 및 보안에 쓰이는 자바스크립트 코드를 보고 이해할 수 있는 수준에 다다르기 위해 전반적인 내용을 가볍게 훑어보는 기획입니다. spread spread는 전개 구문으로, 내응을 하나하나 분리합니다. 함수 호출 시 const nums = [13,4,5,21,3] Math.max(nums) //NaN Math.max(...nums) //21 위 코드에서 Math.max() 함수는 개별적인 숫자 인수를 받아 최댓값을 반환합니다. 그냥 nums 배열을 넘겨주게 되면 배열 자체를 숫자로 변환할 수 없으므로 NaN(Not a Number)..

    「웹해킹을 위한 자바스크립트(Javascript) 훑어보기」- 5. 콜백(callback)

    본 글은 Udemy(유데미)에서 제공하는 Colt Steele님의 「The Web Developer 부트캠프 2023」 강의를 수강하며 배운 내용을 바탕으로 작성했습니다. 웹 해킹 및 보안에 쓰이는 자바스크립트 코드를 보고 이해할 수 있는 수준에 다다르기 위해 전반적인 내용을 가볍게 훑어보는 기획입니다. 콜백 함수(callback function) 콜백 함수는 다른 함수의 인자로 이용되는 함수입니다. 콜백 함수를 이용하는 메서드를 살펴보며 이해해 봅시다. forEach forEach는 주어진 함수를 배열 요소 각각에 대해 실행합니다. const numbers = [1,2,3,4,5] /* function print(element) { consloe.log(element) } numbers.forEach(..

    「웹해킹을 위한 자바스크립트(Javascript) 훑어보기」- 4. 함수

    본 글은 Udemy(유데미)에서 제공하는 Colt Steele님의 「The Web Developer 부트캠프 2023」 강의를 수강하며 배운 내용을 바탕으로 작성했습니다. 웹 해킹 및 보안에 쓰이는 자바스크립트 코드를 보고 이해할 수 있는 수준에 다다르기 위해 전반적인 내용을 가볍게 훑어보는 기획입니다. 함수 JS에서 함수의 기본적인 형태는 다음과 같습니다. function add(x, y) { let sum = x + y; return sum; } 어떤 프로그래밍 언어든 블록과 지역변수의 개념은 비슷합니다. 블록(중괄호 '{'와 '}' 사이) 안에 정의된 변수는 해당 블록 안에서만 사용할 수 있습니다. 그런데 let, const가 등장하기 전 사용했던 변수 선언 키워드인 var는 블록 범위의 영향을 받..

    「웹해킹을 위한 자바스크립트(Javascript) 훑어보기」- 3. 데이터 구조(배열, 객체, 반복)

    본 글은 Udemy(유데미)에서 제공하는 Colt Steele님의 「The Web Developer 부트캠프 2023」 강의를 수강하며 배운 내용을 바탕으로 작성했습니다. 웹 해킹 및 보안에 쓰이는 자바스크립트 코드를 보고 이해할 수 있는 수준에 다다르기 위해 전반적인 내용을 가볍게 훑어보는 기획입니다. 이번에는 JS의 데이터 구조, 배열과 객체를 간단하게 알아보겠습니다. 이를 활용하는 반복 구문도 함께 알아보도록 합시다. 배열(array) 연속된 데이터를 표현할 수 있는 구조로, 어떤 자료형이든 넣을 수 있습니다. 대괄호로 감싸서 배열임을 표현합니다. let array = []#배열 선언 let colors = ["red", "orange"] 자바스크립트에서 배열은 다른 언어에서의 리스트(list)와 ..

    「웹해킹을 위한 자바스크립트(Javascript) 훑어보기」- 2. 출력, 참과 거짓(truthy and falsy)

    본 글은 Udemy(유데미)에서 제공하는 Colt Steele님의 「The Web Developer 부트캠프 2023」 강의를 수강하며 배운 내용을 바탕으로 작성했습니다. 웹 해킹 및 보안에 쓰이는 자바스크립트 코드를 보고 이해할 수 있는 수준에 다다르기 위해 전반적인 내용을 가볍게 훑어보는 기획입니다. 자바스크립트로 무언가 출력하기 개발자도구의 출력 기능 지금까지 브라우저의 콘솔을 통해 자바스크립트의 동작을 확인해 왔습니다. 저장된 값을 확인할 때 별도의 출력 함수 없이 단지 변수 이름을 입력하는 것만으로 결과를 확인할 수 있었습니다. 이는 자바스크립트에서 제공하는 기능은 아니고, 브라우저의 개발자 도구에서 지원하는 기능입니다. 개발자 도구의 콘솔은 전역 스코프(global scope)에서 실행되는 J..

    「웹해킹을 위한 자바스크립트(Javascript) 훑어보기」- 1. 원시 타입(Primitive type)

    본 글은 Udemy(유데미)에서 제공하는 Colt Steele님의 「The Web Developer 부트캠프 2023」 강의를 수강하며 배운 내용을 바탕으로 작성했습니다. 웹 해킹 및 보안에 쓰이는 자바스크립트 코드를 보고 이해할 수 있는 수준에 다다르기 위해 전반적인 내용을 가볍게 훑어보는 기획입니다. 시작하기 전 헛소리 상대: "전공이 뭐예요?" 나: "산업보안학과예요." 상대: "...?" 나: ".. 컴퓨터공학과랑 비슷한데, 해킹 방어를 좀 더 많이 배워요." 상대: "오!! 그럼 해킹할 줄 아세요?!" 나: "아.. 학년이 낮아서 해킹까지는 안 배웠어요..." 사람을 만나서 학과 얘기를 하다 보면 무. 조. 건 위와 같이 대화가 흘러갑니다. 명색이 보안학과인데, 해킹을 할 줄 모른다니! 거의 9..

    웹 애플리케이션 정찰 - 서브도메인 찾기

    이 글은 "웹 애플리케이션 보안 - 정찰, 공격, 방어 세 단계로 배우는 웹 애플리케이션 보안의 모든 것"을 읽고 공부한 내용을 정리한 글입니다. 서브도메인 찾기 API 엔드 포인트를 테스트하기 이전에 도메인 구조에 익숙해져야 한다. 웹 애플리케이션은 단일 도메인으로 서비스하지 않는다. 서브도메인을 찾아내 기록하는 것은 웹 애플리케이션 정찰의 첫 단계이다. 우리가 궁금한 것은, "도메인이 인터넷에 연결되어 있을텐데, 이 인터넷에 액세스할 수 있는 다른 서버도 갖고 있는가?"이다. 그러므로 서브도메인 탐색을 통해 아직 방어가 덜 된 쉬운 타깃을 찾는다. API와 end point API(Application Programming Interface)는 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙..

    VM ware, Kali Linux, DVWA로 웹해킹 환경 구축하기

    해킹 공부 환경을 구축하려면 가상화 툴을 이용해야 한다. 실제 사용하는 시스템 자체에 설치하면 취약해지거나 건들다가 망가질 가능성이 있기 때문이다. 대표적인 가상화 환경 툴, 버추얼 머신으로는 VM ware와 Virtual Box가 있다. 원래 VM ware는 유료라고 알고 있었는데, 비상업적 목적 & 개인 사용자에게는 무료로 제공된다고 해서 VM ware를 설치해보기로 했다. VMware 설치 VMware 설치는 어렵지 않다. 윈도우 환경 내에서 설치하는 것이므로 간단한 선택 몇 번을 거치면 실행할 수 있다. KALI Linux(칼리 리눅스) 설치 KALI Linux 다운로드 다음으로 칼리 리눅스를 설치할 차례다. https://www.kali.org/get-kali/ Get Kali | Kali Li..