전체 글 108

XSS (Cross Site Scripting)

XSS 란? Cross Site Scritpting 은 어플리케이션에서 브라우저로 전송하는 페이지에서 사용자가 입력하는 데이터를 검증하지 않거나, 출력 시 위험 데이터를 무효화 시키지 않을때 발생한다. 즉, 공격자가 브라우저에서 실행될 수 있는 악성 스크립트를 웹서버에 삽입했고, 사용자가 이를 요청해 자신의 브라우저에서 실행되게 될 때 공격자에 의해 작성된 악의적인 스크립트가 사용자에게 전달되는 공격이다. 공격방식은 자바스크립트의 특징을 이용하여 다른 사람의 컴퓨터에서 실행을 시킨다. ex) alert 스크립트가 실행되기만 해도 XSS에 대해 취약하다고 볼 수 있다. 웹 브라우저 내에서 적절한 검증이 없이 실행되는 것이기 때문에 사용자의 세션을 탈취/ 웹사이트를 변조/PC 오작동 등 발생. 공격자가 직접..

Web 모의해킹 2018.03.24

웹보안) CSRF (Cross - Site Request Forgery)

CSRF란? Cross - Site Request Forgery : 교차 사이트 요청 위조 라고 할 수 있다 특정 사용자를 대상으로 하지 않고 불특정 다수를 대상으로 로그인된 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정,삭제,등록,송금 등)를 하게 만드는 공격기법. CSRF는 기본적으로 XSS (Cross Site Script) 공격과 매우 유사하다. XSS 공격의 발전된(변종된) 형태로 보기도 한다. 둘의 차이점은 XSS 공격은 악성 스크립트가 클라이언트에서 실행되는 반면에 CSRF 공격은 사용자가 악성 스크립트를 서버에 요청한다는 차이가 있다, 즉 XSS는 script를 이용한 공격을 할 수 있고 CSRF는 HTML을 이용한 공격이라고 할 수 있다. 일반적으로 CSRF 공격이 성공하려..

Web 모의해킹 2018.03.23

웹보안) DataBase 와 PHP

DataBase 에서 입력, 수정, 삭제는 쿼리가 제대로 실행 되었는지(성공) 안되었는지(실패) 둘중 하나밖에 없다. select : 조건에 만족하는 결과가 있다면 다 가져올 수 있다, 실패하면 false가 출력되고 성공하면 resource를 출력. 쿼리를 성공했는지 실패했는지 두가지 밖에 없다. 어떤 값을 입력하느냐에 따라 리턴값이 달라진다. 조회 - 조건에 맞는 조회된 데이터가 있는가? (조회된 데이터가 있다면 모두 가져올 수 있음) - 조건에 맞는 조회된 데이터가 없는가? 웹 브라우저에서 화면이 한번 출력되면 코드는 끝이다. alter 쿼리를 이용하면 no 번호도 새로 초기화가 가능하다 출력의 개수를 알 수 있는게 num rows이다. 즉 select 에서 실행한 결과가 num rows로 들어감. ..

Web 모의해킹 2018.03.09

웹보안) 데이터베이스 개념 및 연동

DB를 사용하기 전 기본적으로 아래의 표를 참고하여 CHAR 과 VARCHAR의 차이를 알아야한다. CHAR 같은 경우 CHAR(4) 즉 괄호안에 숫자를 입력한 바이트만큼만 처리한다. 입력값이 0이어도 4바이트, 초과되어도 4바이트 그래서 고정값을 입력할 때 많이 사용된다. VARCHAR같은 경우 괄호안에 숫자를 입력해놓았지만 그 숫자만큼까지 수동적으로 바뀔 수 있다. 입력값이 0이면 1바이트로 줄었다가 2개를 입력하면 3바이트, 4개를 입력하면 5바이트 값이 제각각인 것을 나타낼 때 많이 사용된다. #mysql -u root -p 명령어를 통해 패스워드를 입력하고 DB에 연결한다. show batabases; 명령어는 데이터베이스 계정을 확인할 수 있다. use user; 를 통해 user 계정을 선택..

Web 모의해킹 2018.03.08

웹보안) 사용자 인증

Apache 웹 인증 설정파일 : #vi /etc/httpd/httpd.conf #317gg를 통해을 찾는다. /var/www/html이 Apach의 해당경로이다 Directory 안에 내용을 입력하여 수정한다. AuthType Basic AuthName "Basic Authentication" AuthUserFile /var/www/html/.htpasswd // 사용자의 지정파일 경로(사용자파일을 명령어로 만들어야 한다 Require valid-user // 어떤 사용자에게 인증을 요청할 것인지, // 인증 사용자는 설정파일에 적어놔야 한다. 인증 사용자는 리눅스 계정과 상관이 없다, 인증 사용자는 설정파일에 적어놔야 한다 위처럼 설정해놓고 url을 다시 입력해보면 사진과 같이 인증창이 뜨는것을 확인..

Web 모의해킹 2018.03.08

웹보안) GET 방식을 이용한 웹 브라우저

오늘 공부할 내용은 Web에서 데이터의 전달(입,출력)이다. 데이터를 전달하는 방법은 2가지가 있다 GET방식과 POST방식이 있다. 오늘은 GET방식에 대해 알아보겠다. 우선 웹브라우저에 들어간 후 개발자도구(F12)를 켠다. 리눅스에서 vi를 통해 편집한 파일을 브라우저에서 실행시켰을 때 아래 사진과 같이 html파일이 뜬다. network를 클릭해보면 사진과 같이 vi에서 입력했던 코드를 알 수 있다 또한 Network에 header를 보면 URL, IP주소, GET방식 등 여러가지 정보를 알 수 있다. 하지만 이게 결코 장점은 아니다 . 어떤 값을 입력했을 때 URL에 관련된 경로와 정보가 같이 출력되기 때문에 보안적인 면에서 별로 좋은 편은 아니다. 우선 PHP를 설치해보자 #yum search..

Web 모의해킹 2018.02.21

Linux) yum개념 및 실습

yum 패키지 관리 도구 - rpm기반의 패키지 관리 도구로 의존성 문제를 자동으로 해결해주며, 시스템에 설치되어 있는 패키지 버전과 저장소에 저장되어 있는 패키지의 버전을 비교하여 최신 버전으로 업데이트도 진행한다. - 설치 가능한 패키지 정보를 가지고 있는 저장도(Repository)서버를 이용한다. 저장소라고 얘기하진 않고 Repository , REPO서버 라고 부른다. yum[옵션][명령어][패키지명] 옵션 -y : 설치과정에서 출력되는 질문에 yes(y)로 대답 명령어 - yum은 확장 프로그램(Plug-in)을 설치하여 수많은 명령어를 사용할 수 있다 install 패키지 설치( rpm -i) update 업데이트 ( rpm -U) check-update 업데이트 가능 여부만 확인 remov..

Linux 2018.02.19

웹보안) 리눅스를 통한 DOM,BOM

DOM(Document Object Model) - 문서에 대한 모든 객체를 담고있는 객체 - 요소에 대한 접근 - getElementsByTagName //태그 이름 - getElementsById // id 이름 - getElementsByClassName // 클래스 이름 등으로 가져올 수 있다 BOM(Browser Object Model) - 브라우저에 대한 모든 내용을 담고 있는 객체 - 뒤로가기, 현재 열려있는 정보를 객체화 시킨다. 우선 제일먼저 해야할 것은 기능을 활성화시키는 것이다. #cd /var/www/html 으로 이동한 후 #vi JavaScript.html 을 설정하여 안에 들어가서 편집한다. Apache의 홈디렉토리인 var/www 아래에 html으로 이동한 수 #vi Java..

Web 모의해킹 2018.02.19

Linux) 부팅 프로세스

부팅 프로세스. 1. Power On - 전원이 들어오면 CPU가 ROM(Read Only Memory)에 저장된 Bios(Bios Input Output System) 실행 - BIOS는 POST(Power On Self Test/자체진단기능)을 수행하여 하드웨ㅇ의 장치들을 인식하며 하나 이상 유무를 확인 - 하드디스크를 인식하며 첫번째 섹터(Sector)에서 MBR(Master Boot Record)을 읽어 들여 부터로더를 실행한다 위와 같은 화면이 뜬 것을 본적 있을 것 이다. 이런 화면이 뜨는 것을 POST라고 한다. POST : 예전에는 컴퓨터를 부팅할 때 포스트 화면이 많이 보여졌지만 요즘은 회사 로고로 많이 가리는 편. 포스트를 통해 컴퓨터의 상태를 알 수 있다. 재부팅 화면 중 e 키를 누..

Linux 2018.02.19
반응형