지식정리(11)
-
Path Manipulation
Path manipulation 위험도 high 요약 file 시스템 경로를 입력값이나 변수로 제어가능할 때, 공격자가 의도할 경우 보호해야할 파일이 접근, 수정될 수 있습니다. 설명 path manipulation은 공격자가 파일 시스템 작업에 사용되는 경로를 지정할 수 있고, 리소스를 지정해서 다른식으로는 허용될수 없는 권한을 얻을 수 있을 때, 이 두 조건을 만족할 때 성립한다. 공격자는 특정 파일을 덮어쓰거나, 제어하는 식으로 실행권한을 획득할 수 있다. 예시 file 접근 시 file 경로에 request.getParameter(NAME) 같이 parameter 값이 포함 되는 경우가 있는데, 해당 parameter 값을 제어해서 ../../tomcat/conf/server.xml 같이 상위 디..
2023.01.17 -
Division by Zero(0으로 나누기)
Divison By Zero 0으로 나누기 업무상 접하는 오류이다. 어플리케이션 평균 시간을 측정할 때 쓰일 수 있다. 이전 언어를 배울 때 약식으로 계산기 프로그램을 만드는데, 그 때 접했었을 수도 있다. 하지만, 기본적인 문제를 간과하는 바보같은 실수는 누구든지 어디든지 발생할 수 있다. 취약점 0으로 나누기는 수학적으로 정의되어 있지 않다. 0을 제수로 나누기를 시도시 CPU 레벨에서 예외가 발생하고, 프로그램의 비정상 적인 종료 혹은 DoS(Denial of Service)를 유발 할 수 있다. 해결법 나누기 연산에 대해 나누는 수가 0인지 체크하는 코드를 작성해서 입력값의 유효성을 검증한다. 예외처리를 통해 해당 케이스를 공통적으로 처리할 수 있다. if( numberOfSomething == ..
2023.01.17 -
7. CSS
CSS CSS란? Cascading Style Sheets HTML 요소가 어떻게 화면에 보여져야 하는지 묘사한다. 여러 web page의 layout을 조정할 수 있기에 생산성이 있다. 외부 stylesheets는 CSS 파일로 따로 저장 가능하다. W3C(World Wide Web Consortium) 에서 web page를 tag로 포매팅할 때 생기는 경제성과 복잡해지는 문제를 해결하기 위해 개발. style formatting을 html 에서 제거 CSS의 구문 selector Declaration Declaration h1 { color : blue; font-size : 12px } property value property value selector : 스타일 지정하고자 하는 HTML 요소 ..
2022.05.20 -
6. Browser는 어떻게 동작하는가?
브라우저의 주요 기능 서버에 요청해서 받은 웹 자원을 브라우저 창으로 보여주는 것 웹자원 : HTML 문서(보통), PDF, 이미지 URI(Uniform Resource Idenfier) : 자원의 위치 browser의 표준(웹 표준) brower가 html 파일을 보여주는 방식은 html과 css 표준에 달려있다. 해당 표준은 W3C 라는 컨소시엄에서 주도하여 유지된다 브라우저들이 일부만 갖다 쓰고 확장해서 호환성 이슈 발생 공통 BUI(Browser User Interface) URI 주소 창 뒤로 가기, 앞으로 가기 버튼 즐겨찾기 옵션 새로고침, 중지 버튼(페이지 갱신, 로딩중 중지) home button( 홈페이지로 가기 위한) 브라우저는 어떻게 동작하는가 개요 web performance 관련한..
2022.05.15 -
5. Domain name이란?
Domain Name 이란? 요약 인터넷의 모든 웹서버에 대응하여 제공하는 사람이 읽을 수 있는 주소 모든 인터넷 연결된 PC는 public IP를 통해서 접속 가능 IPv4 / IPv6 는 컴퓨터가 다루기 쉽지만 사람들이 해당 서비스가 뭔지 누가 운영하는지 이해하기도 어렵고 외우기도 어렵다. 심지어 시간이 지남에 따라 바뀔 수도 있다. 이러한 문제를 해야결하기 위해 domain name이라는 사람이 읽을 수 있는 주소를 쓴다. Domain Name의 구조 . 로 나뉘며 오른쪽에서부터 읽는다. ex) developer.mozilla.org org = TLD(Top level Domain) mozilla = label 1 developer = label 2 TLD : 도메인 네임 뒷편에 있는 서비스의 일반..
2022.05.13 -
4. Web Hosting이란?
Web Hosting란? web hosting? web(WWW) 공간을 임대(hosting) 하는 것 Web hosting service는 Internet hosting service의 일종으로 개인과 단체가 WWW를 통해 웹사이트를 제공 Web host(단체) : 인터넷 연결 제공, 데이터 센터에서 클라이언트 이용에 대한 임대/소유하는 서버 공간을 제공 하는 회사 Internet hosting service - 인터넷 서버를 운영하는 서비스, 단체와 개인이 콘텐츠를 인터넷에 제공하는 것을 도와준다. 호스팅 구분(dotname 기준) Linux hosting = Apache MySQL PHP window hosting = IIS, MySQL, ASP .NET hosting - IIS, MSSQL, (HT..
2022.05.12