본문 바로가기
728x90
반응형

전체 글201

[Node.js] 2장 2.1 ES2015+ 자바스크립트는 문법 변경 사항이 존재한다. 2015년에 자바스크립트 문법에 매우 큰 변화가 존재하는데, 변화한 문법에 대해 알고 있어야한다. 2.1.1 const, let const와 let이 공통적으로 갖는 블록 스코프에 대해 알아보자. var은 함수 스코프를 가진다. 이러한 경우 호이스팅이 발생하게된다. const와 let은 블록 스코프를 사용함으로써 호이스팅 문제를 해결할 수 있다. const와 let의 차이점은 const는 한 번 값을 할당하면 다른 값을 할당할 수 없다. const 와 let 중 무엇을 써야할까? 자바스크립트를 사용할 때 한 번 초기화했던 변수에 다른 값을 할당하는 경우는 의외로 적다. 따라서 변수 선언 시에 기본적으로 const를 사용하고, 다른 값을 할당.. 2024. 2. 2.
[Node.js] 1장 1.1 핵심 개념 이해하기 1.1.1 서버 서버란 무엇일까? 서버는 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램이다. 1.1.2 자바스크립트 런타임 노드는 무엇인가? 노드는 자바스크립트 런타임이다. 런타임은 특정 언어로 만든 프로그램들을 실행할 수 있는 환경을 뜻한다. 따라서 노드는 자바스크립트 프로그램을 컴퓨터에서 실행할 수 있다. 기존에는 자바스크립트 프로그램을 웹 브라우저 위에서만 실행할 수 있었다. 브라우저는 자바스크립트 런타임을 내장하고 있으므로 자바스크립트 코드를 실행할 수 있다. 1.1.3 이벤트 기반 이벤트 기반이란 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식이다. 이벤트로는 클릭이나 네트워크 요청 등이 있을 수 있다. 노드도 이벤트 기반 방식으로 .. 2024. 2. 2.
[드림핵] Dream Gallery 풀이 보호되어 있는 글 입니다. 2024. 1. 22.
[드림핵] login-1 풀이 https://dreamhack.io/wargame/challenges/47 login-1 python으로 작성된 로그인 기능을 가진 서비스입니다. "admin" 권한을 가진 사용자로 로그인하여 플래그를 획득하세요. Reference Server-side Basic dreamhack.io race condition 문제이다. 로그인 페이지가 있다. 회원가입도 할 수 있다. 비밀번호를 재설정할 수 있다. backupCode가 있는데, 이것은 회원가입하면 주어진다. 이런 식으로 말이다. 로그인 후 메인 페이지에서 우측 상단에 ID, Name, Level이란 것들이 나온다. level이 뭔지 확인하기 위해 코드를 살펴보자. #!/usr/bin/python3 from flask import Flask, requ.. 2024. 1. 13.
[드림핵] baby-sqlite 풀이 https://dreamhack.io/wargame/challenges/1 baby-sqlite 로그인 서비스입니다. SQL INJECTION 취약점을 통해 플래그를 획득하세요! 해당 문제는 숙련된 웹해커를 위한 문제입니다. dreamhack.io sqlite에서 일어날 수 있는 sqli 문제이다. 특별할 것 없어보인다. 바로 코드를 확인해보자. #!/usr/bin/env python3 from flask import Flask, request, render_template, make_response, redirect, url_for, session, g import urllib import os import sqlite3 app = Flask(__name__) app.secret_key = os.ura.. 2024. 1. 10.
[드림핵] out of money 풀이 보호되어 있는 글 입니다. 2024. 1. 10.
728x90
반응형