반응형
SMALL

Javascript 21

XSS game level 6 - Follow the 🐇

Mission Description Complex web applications sometimes have the capability to dynamically load JavaScript libraries based on the value of their URL parameters or part of location.hash. --> 복잡한 웹 애플리케이션은 가끔 해당 URL 파라미터 또는 location.hash의 일부에 따라 JS 라이브러리를 동적으로 할당하는 기능을 가지고 있다. This is very tricky to get right -- allowing user input to influence the URL when loading scripts or other potentially dang..

XSS game level 5 - Breaking protocol

Mission Description Cross-site scripting isn't just about correctly escaping data. Sometimes, attackers can do bad things even without injecting new elements into the DOM. --> XSS는 단순히 데이터를 올바르게 이스케이프하는 것이 아니다. 가끔 공격자들은 DOM에 새로운 요소를 주입하지 않고 나쁜 짓을 할 수 있다. Mission Objective Inject a script to pop up an alert() in the context of the application. --> 애플리케이션의 내용에서 alert()를 팝업창에 띄우도록 스크립트를 주입해라 Solve ..

XSS game level 4 - Context matters

Mission Description Every bit of user-supplied data must be correctly escaped for the context of the page in which it will appear. This level shows why. --> 사용자에게 제공되는 데이터의 모든 비트는 표시되는 페이지의 내용에서 올바르게 탈출되어야 한다. 이번 레벨은 그 이유를 보여준다. Mission Objective Inject a script to pop up a JavaScript alert() in the application. --> 스크립트를 주입하여 애플리케이션에서 javascript alert()를 팝업 창에 띄우시오. Solve 첨에 코드를 보고 timer에 입력한 값..

XSS game level 3 - That sinking feeling...

Mission Description As you've seen in the previous level, some common JS functions are execution sinks which means that they will cause the browser to execute any scripts that appear in their input. Sometimes this fact is hidden by higher-level APIs which use one of these functions under the hood. --> 이전 레벨에서 봤듯이, 몇 가지 흔한 Javascript들은 실행 싱크이다. 즉, 입력에 나타나는 스크립트를 브라우저가 실행하게 된다. 가끔 이 사실은 후드 아래에서 이 ..

XSS game level 1 - Hello, world of XSS

Mission Description This level demonstrates a common cause of cross-site scripting where user input is directly included in the page without proper escaping. --> 이 레벨은 사용자 입력이 적절한 탈출 없이 페이지에 직접 포함되는 사이트 간 스크립팅의 일반적인 원인을 보여준다. Interact with the vulnerable application window below and find a way to make it execute JavaScript of your choosing. You can take actions inside the vulnerable window or di..

JavaScript - 배열

*배열 - 연관된 데이터를 모아서 한번에 관리하기 위해 사용하는 데이터 형식 - 변수는 하나의 데이터, 배열은 여러 데이터를 하나의 변수에 저장함 - 문자열도 문자와 다르게 배열로 간주 *배열의 생성 - var 변수명으로 선언 후 []를 사용하여 원소들 담기 - 인덱스는 0부터 하나씩 증가하여 사용 ex) 0, 1, 2, 3 ... (0부터 시작하는 이유는 c언어의 포인터와 관련) *배열의 사용 - 인덱스가 하나씩 바뀔 때 해당 원소가 바뀌므로 반복문을 이용하여 사용하면 편리해짐 var members = ['egoing', 'k8805', 'sorialgi']; for(i = 0; i < members.length; i++){ document.write(members[i].toUpperCase()); d..

JavaScript - 함수

*함수 - c언어와 동일 - 하나의 로직을 재실행 할 수 있도록 하는 것 - 코드의 재사용성을 높여준다. (즉, 똑같은 코드를 반복해서 적을 필요가 없음) - function 함수명( [인자...[,인자]] ){코드 return 반환값} 형식 *함수의 정의와 호출 - 함수는 function을 쓰고 그뒤에 이름과 인자들을 적을 ()를 적음 - {}안에 실행할 코드들과 반환 값을 return을 통해 적어주면 됨 function numbering(){ i = 0; while(i < 10){ document.write(i); i += 1; } } numbering(); 위 코드 같은 경우는 반환 값이 없는 함수이다. *함수의 입출력 1) return - return 뒤에 따라오는 값을 함수의 결과값으로 반환 +..

JavaScript - 반복문

*반복문 - 컴퓨터에게 반복적인 작업을 실행하기 위한 문장 *반복문 문법 - c언어와 동일 1) while - while (조건){반복해서 실행할 코드}형식 - while의 조건에서 조건이 항상 참이 되면 무한 반복문이 됨 while(true){ document.write('coding everybody '); } 2) for - for(초기화; 반복조건; 반복이 될때 마다 실행할 코드){반복해서 실행할 코드}형식 - while과 마찬가지로 조건이 항상 참이 되면 무한 반복문이 됨 for(var i = 0; i < 10; i++){ document.write('coding everybody'+i+' '); } *반복문 제어 - c언어와 동일 1) break - 반복작업 중간에 반복을 중단 시킴 - 조건문..

JavaScript - 조건문

*Boolean - 참과 거짓으로 구성된 데어터 형 - True, False 두 가지 밖에 없음 - 조건문에서 중요한 역할 *Boolean대체제 1) 01 - 0은 false를 의미 - 1은 true를 의미 2) false와 동일한 의미의 데이터형 - '' (빈문자열) - null (빈문자열) - undefined - NaN *조건문 - 주어진 조건에 따라서 다르게 동작하도록 하는 것 *조건문 문법 - c언어와 동일 1) if - if 뒤의 괄호에 조건이 온다 - 조건이 될 수 있는 값은 Boolean으로 참이면 조건문의 중괄호 구문이 실행 됨 2) else - if만으로 상황을 처리하기 복잡해서 사용 - if문의 반대의 경우를 의미 3) else if - 케이스를 여러 경우로 나눌 수 있음 - if ~..

JavaScript - 주석, 세미콜론, 연산자

*주석 - // : 그 줄의 뒷 부분을 주석처리 할 때 사용 - /**/ : 여러 줄을 한꺼번에 주석처리 할 때 사용 - 코드에서 컴퓨터에게 해석하지 말라는 의미 - 에러 없이 원하는 문구를 적어놓을 때 사용 가능 - 디버깅 확인할 때도 사용 가능 *줄바꿈 - 명령이 끝났다는 의미 - 줄바꿈 없이 ;를 사용하면 똑같은 의미 *여백(들여쓰기) - 가독성을 위한 행위 - 안 해도 상관은 없는데 왠만하면 하는게 좋음 *연산자 - 값에 대해서 어떤 작업을 컴퓨터에게 지시하기 위한 기호 - 대입 연산자와 비교 연산자, 논리 연산자로 구분 (논리 연산자는 조건문에서 다룰 예정) *대입 연산자 - =는 우항의 값을 좌항의 변수에 대입하는 대입 연산자 *비교 연산자 - 비교 하기 위한 연산자 - 프로그래밍에서 비교는 ..

반응형
LIST