일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 리눅스서버 기본 활용 방안
- 정보처리기사 #정처기
- 모각코 #8월과정 #html #css #javascript
- BlindSQLInjection
- XSS종류
- 삽입정렬 #insertion sort
- 케이쉴드주니어 #1주차
- 자료구조 #알고리즘 #최소비용신장트리 #그래프
- K-Shield 주니어 10기 #지원후기 #최종합격후기 #정보보안 #
- SQL #Injection
- 윈도우 서버 기본 활용 방안
- DB backup server
- Docker #취약점진단
- XSS방어방법
- 케이쉴드주니어 #3주차 #apache #tomcat
- SQLInjection방어방법
- 기업 IT 인프라 구성의 이해
- rsyslog
- 자료구조 #알고리즘 #tree #트리순회
- 케이쉴드주니어 #2주차 #웹 구성 요소의 이해
- 케이쉴드주니어 #1주차 #온라인
- 케이쉴드주니어 #3주차 # 가상기업인프라구성
- css #display #position
- 케쉴주
- 정보보안기사
- 스톱워치 #JS
- 케이쉴드주니어 #2주차 #네트워크 구성 용어의 이해
- css #속성
- 버블정렬 #bubble sort
- css #float #flexbox #container #item #main-axis #cross-axis
- Today
- Total
목록Study/보안 (6)
itsme

2) 검색 페이지공격 앞서 만든 검색 페이지에 실습을 진행하였다. 검색창에 를 이용하여 alert 경고창이 나타나게 하였더니 이와 같이 나타났다. 클라이언트의 브라우저에서 실행된 alert 함수는 개발자가 의도한 것이 아니다. 사용자의 입력으로 인해 개발자가 의도치 않은 스크립트가 실행이 된 것이다. 이러한 공격을 XSS라고 한다. 앞서 만든 검색 페이지는 사용자의 입력값을 그대로 HTML에 출력시켰기에, 공격자가 임의의 Javascript코드를 실행하기 위한 공격 구문을 삽입하여 실행시킬 수 있었다. 검색페이지에는 Reflected XSS 취약점을 갖고 있다. 3) XSS 방어방법 1. 공격 구문에 활용된 수 있는 특수문자들에 대해 프런트엔드에서의 역할을 하지 못하는 일반 문자로 만든다. SQL Inj..
앞서 다루었던 SQL Injection공격은 데이터베이스를 대상으로 공격을 수행한다. 즉, 서비스를 운영하는 서버에 대한 공격이라고 할 수 있다. 하지만 XSS의 공격대상은 공격자와 동일한 웹 서비스를 사용하는 다른 사용자이다. 다시 말해, 공통적으로 사용하고 있는 웹 서비스의 취약점을 이용해서 다른 사용자가 의도치 않은 행위를 수행하게 하는 것이다. XSS는 사용자의 입력값이 프런트엔드 코드에 영향을 줄 수 있는 경우에 발생할 수 있는 취약점이다. 1) XSS의 종류 1. Reflected XSS 반드시 XSS 공격 구문이 포함된 URI로 사용자가 접근을 해야만 공격이 이루어지는 XSS. 2. Stored XSS 공격자가 웹 서비스에 XSS 공격 구문이 들어간 무엇인가를 게시하면, 다른 사용자들이 공격..

3) SQL Injection 방어 방법 앞서 만든 사이트의 경우 개발자가 문자열이라는 범위 안에 사용자의 입력값을 넣고자 의도했으나, 싱글쿼터를 이용해서 그 범위를 임의로 벗어날 수 있었다는 것이 핵심이다. 1. 특수문자 필터링 가장 쉬운 방법은 싱글쿼터를 막는 것이다. 사용자가 입력하는 싱글쿼터가 쿼리에서의 역할을 수행하지 못하는 그냥 일반 문자로 만들면 된다. PHP에는 addslashes라는 함수를 이용하여 일반문자로 바꿔줄 수 있다. addslashes라는 함수의 역할은 싱글쿼터, 더블쿼터, 어퍼스트로피, NULL의 앞에 역슬래시를 붙여 쿼리에서의 역할을 못하는 일반 문자로 만들어 주는 함수이다. php파일에서 id와 pw부분을 바꿔주고 앞서했던 것과 같이 id : admin'-- , pw:12..

2) Blind SQL Injection Blind SQL Injection 이란? 조건이 참일 때와 거짓일 때 서버에서 주는 응답의 차이만을 가지고 정보를 유출시키는 공격 방법 id : aa' union select user(),1-- , pw : 123 현재 데이터베이스를 사용 중인 사용자가 누구인지에 대한 정보를 빼내기 위한 공격 구문이다. id : a' or 1

SQL Injection 공격? SQL에 악의적인 쿼리를 삽입하여 실행되게 만드는 것이다. 앞서 만든 로그인 서비스를 공격하는 것으로 실습을 해봤다. 1) 직접 만든 로그인 페이지 공격하기 id : admin', pw : admin이라고 로그인시도를 하자 오류가 났다. 작은따옴표는 반드시 짝수개여야만 한다. 하지만 임의로 하나 넣음으로써 쿼리 내 싱글쿼터의 개수가 홀수개가 되어 문제가 발생한 것이다. id : admin'-- , pw : admin 이라고 로그인 시도를 하자 성공적으로 로그인이 되었다. 싱글쿼터(작은따옴표)로 인해 'admin'으로 문자열의 범위는 종료되고 하이픈 2개와 공백은 명령어로 처리된다. 이때 mysql에서 하이픈 2개와 공백은 주석을 의미한다. 따라서 ' 와 and이후 조건문은..

웹해킹에 첫발을 내딛기 위해 '누구나 쉽게 따라 하며 배우는 웹 해킹 첫걸음'을 참고하기로 하였다. SQL Injection, XSS, 파라미터 변조 등 공격을 수행하기위해 간단한 로그인, 검색 페이지를 만들었다. 1. 실습환경 구성 - ubuntu, vmware 이용하여 가상환경에서 공격이 이루어 질것이다. 2. 리눅스 vmware에서 리눅스를 이용하여 실습이 이루어진다. 리눅스 명령어를 이용하면 다양한 프로그램을 명령어 한줄로 설치가 가능했다. 이점이 window보다 편리하게 느껴졌다. 3. 로그인, 검색 페이지 구현하기 1) 서버구축 apache, php, mysql를 이용. 앞서 이야기 했듯이 window에서 3가지 프로그램을 설치하려면 각각의 사이트에 들어가 하나하나 설치를 해야했다. 하지만 가..