목록book_summary/web (5)
김승현
파라미터 변조란? 말 그대로 파라미터에 있는 값을 변조하여 의도치 않은 행위를 수행하는 공격. GET메서드의 경우 URL에 파라미터가 그대로 드러나서 변조하기 용의하나, POST나 PUT의의 경우 요청 body에 파라미터가 포함되기 때문에 request와 response를 중간에 수정할 수 있어야 함 -> 이렇게 네트워크를 통해 오가는 request, response 내용을 변조하기 위해 프록시 서버를 이용해야 한다. 프록시 서버란? 클라이언트와 서버가 통신하는 과정 중간에 존재하며 이 통신을 연결해주는 역할의 서버. 클라이언트로부터 요청을 받아 서버에게 전달하고 서버로부터 응답을 받아 클라이언트에게 전달 -> 중간에서 요청, 응답에 대한 확인 및 수정이 가능함 : 변조 가능 프록시 서버를 제공하는 프로..
xss란? cross site scripting의 줄임말로 공격자가 상대방의 브라우저에 스크립트가 실행되도록 해 사용자의 세션을 가로채거나, 웹사이트를 변조하거나, 악의적 콘텐츠를 삽입하거나, 피싱 공격을 진행하는 것 Cross site scripting인데 xss인 이유 - 웹 프론트엔드에서 디자인을 담당하는 언어가 이미 css라는 이름을 가지고 있기 때문 데이터베이스를 대상으로 한 공격인 sqli와 다르게 사용자들을 대상으로 하는 공격임 xss의 종류 xss에는 크게 Reflected XSS, Stored XSS, DOM Based XSS가 있다. Reflected XSS 반사라는 뜻을 가진 reflected를 사용하는 것처럼 xss공격 구문이 포함된 URI로 사용자가 접근을 해야지만 발생하는 xss..
sql injection이란? 해석하게 되면 sql 삽입이며 sql에 악의적인 쿼리를 삽입하여 실행하게 만드는 것. 이때 악의적인 쿼리를 payload라고 함 데이터베이스를 대상으로 하는 공격이기 때문에 정보에 대한 조회, 수정, 삭제를 할 수 있기 때문에 크리티컬함 sqli가 가능한 이유: 아이디 또는 비밀번호를 ''(작은 따옴표)를 기준으로 범위를 지정해서 문자열을 받는 방식인데, 아이디에 admin' or 1=1 --과 같은 방식으로 싱글쿼터를 사용해서 강제적으로 범위를 닫아서 질의문의 내용을 바꿈 여기서 --는 sql에서 주석을 의미함. -> 따라서 1=1 뒷 부분은 모두 주석처리가 되기 때문에 admin이라는 아이디를 가진 계정에 접근하게 됨 우리가 접속해야 할 아이디가 admin인 것을 아는 ..
제작 과정에서 사용된 것들 웹서비스 : apache 해석기 : php paser dbms : MySQL 위의 셋 조합과 Linux를 사용하는 것을 LAPM이라는 이름으로 불렀고 옛날에 이 조합을 많이 사용 -> Nginx, django, mongodb 등 다양한 다른 것들도 많이 쓰는데 옛날에 쓰던 조합을 쓰는 이유 : 낮은 진입 장볍 and 오류가 발생해도 자료가 많아 해결하기 쉬움 apache2, php, mysql-server, libapache2-mod-php, php-mysql을 install함 apache 서버와 파서를 연결하기 위해 libapache2-mod-php를, 파서와 mysql을 위해 php-mysql install 더 찾아본 것 더보기 127.0.0.1에 접속해서 웹서버에 접속하는..
시작 전 기초적인 정보 정리 ubuntu란? linux 기반인 운영체제 linux란? unix 기반 공개 운영체제 linux의 장점 : 무료로 사용 가능. window나 다른 unix 기반 운영 체제의 경우 모두 유료이며 linux의 경우 코드가 공개되어 있어 자기만의 linux를 만들 수 있음 실습을 위한 운영체로 linux가 사용된 이유 무료로 이용가능함 서버로 많이 이용되는 운영체제이기 때문에 인터넷에 정보가 많다. 만약 오류가 발생하면 검색으로 쉽게 해결가능함. 공개 코드이기 때문에 나만의 운영체제를 만들 수도 있기 때문에 제조사에 크게 묶이지 않음. linux 배포판의 종류 예시 - debian, centOS, ubuntu, Redhat linux(유료) 실습에 사용할 운영체제 : ubuntu ..