Web 모의해킹 20

Webhaking.kr에서 회원가입

웹해킹에 대해 관심을 갖고 계신 분이라면 한번쯤은 들어봤을 사이트입니다. 처음 입문하실 때 회원가입 하는 페이지는 나오지 않고 로그인 하는 페이지만 나오기 때문에 많이 당황하실텐데요 회원가입 하시는 방법을 설명드리겠습니다. 우선 webhaking.kr 의 URL로 접속을 합니다. 위의 [그림 1]과 같이 회원가입 하는 폼이 없고 로그인 하는 폼 화면만 있습니다. 마우스 우클릭 통해 페이지 소스를 확인해봅니다. 소스코드를 보시면 Register가 주석처리 되어 있고 join과 URL경로가 통해 뭔가 수상하다는 것을 느낄 수 있습니다. 그대로 복사하여 webhaking.kr의 URL뒤에 붙여서 입력해봅니다. 회원가입하는 폼 화면은 나타났습니다. 하지만 decode me 라는 칸에 이상한 값이 적혀있습니다. ..

Web 모의해킹 2019.05.13

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

웹보안) 리눅스를 통한 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

웹보안) 리눅스를 이용한 문서 실행시키기

메모장에 저장되어 있는 html과 css 파일을 리눅스로 실행시켜보자 그전에 우선 css에 대해 간단히 개념만 알아보자면, css(Cascading Style Sheet) : 디자인 서식 파일 - anchor (하이퍼링크) - link : 해당 문서와 연결된 정보 (type, src, ref 를 꼭 입력한다.) 정도만 알면 될것이다. html 파일과 css 파일을 만든다. html 에는 노래 가사를, css 파일에는 이미지에 대한 정보를 입력한다. 이렇게 따로 저장해주면된다. 하지만 위에 사진처럼 css파일이 저장되었다면 제대로 저장된것이 아니라 html 파일로 저장되었을 것이다. 메모장에서 css파일을 만들고자 할때 간혹 css 파일이 안만들어지고 계속 html 파일이 만들어 질땐 탐색기에 들어가서 확..

Web 모의해킹 2018.02.13

웹보안) HTML

웹보안을 하기전에 간단하게 html을 익히고 있어야 한다. 우선 태그(tag)란? 컨텐츠(화면에 보여지는 내용)의 타입을 정하는 용도이다. - : opening tag, begin tag , closing tag, end tag - : self closing. 여는쪽에서 닫아준다. 웹을 이해하는데 있어서 태그는 굉장히 중요하다. html은 메모장에서 간단하게 나타낼 수 있다. 우선 위에 입력한 내용들을 살펴보자면 제일 큰 제목 이정도만 알아도 될것이다. 메모장의 html 파일을 저장한 후 크롬으로 실행시키면 위와 같은 화면이 출력된다. 태그의 종류에는 block tag와 inline tagr가 있다. block tag : 한 블럭을 전부 차지하는 태그. 즉, 은 한 블럭을 전부 차지하므로 블럭태그 inl..

Web 모의해킹 2018.02.13
반응형