전체 글 (8) 썸네일형 리스트형 [웹 취약점] Cross-Site Scripting(XSS) 취약점의 정의 및 대응 방안2 ■ XSS 공격 구문(태그)1. and ※태그 : 웹 페이지에서 이미지를 나타낼 수 있는 태그 3. ※태그 : 웹 페이지 안에 다른 html파일을 불러와서 삽입 4. ※태그 : 외부 콘텐츠를 포함시킬 수 있는 컨테이너를 정의(*PDF 등) 5. ※태그 : 멀티미디어를 웹 페이지에 삽입할 수 있음(*오디오, 비디오, 자바 애플릿, 액티브x, 플래시 등) 6. ※태그 : 해당 문서에 대한 정보인 메타데이터를 정의 7. (*b태그도 사용됨) 8. 9. : 벡터 기반 그래픽을 XML 형식으로 정의하는 그래픽을 담기 위한 태그=> 공격 구문은 엄청나게 많음. 2. 3. 4. 5. on 이벤트 핸들러(onload, onerror, onfocus onmouseover 등 매우 많음)■ XSS 공격.. 쿠키 vs 세션 VS JWT - Http 프로토콜을 이용하여 통신 -> 비연결성(Connectionless), 무상태(Stateless)의 특징을 지님 쿠기(Cookie)- 서버에서 발급해줌 - 브라우저에 저장/존재함 - 브라우저에서 요청할 때마다 쿠키를 서버로 보냄 - 장점 : 인증을 위한 추가적인 데이터 저장이 필요없음 - 단점 : 보안상의 문제가있음. / 쿠키 사이즈가 커질수록 네트워크 부하가 심해짐.Name(이름) : 쿠키를 구별하는 데 사용되는 키 (중복 불가)Value(값) : 쿠키의 값Domain(도메인) : 쿠기가 저장된 도메인Path(경로) : 쿠기가 사용되는 경로Expires(만료기한) : 쿠키의 만료기한세션(Session)- 서버에서 클라이언트별 세션ID를 부여하고, 세션 정보를 서버에 저장한다.- 서버에서 생성.. [웹 취약점] Cross-Site Scripting(XSS) 취약점의 정의 및 대응 방안1 1. XSS의 개념XSS는 Cross-Site Scripting의 약어로, 공격자가 공격하려는 웹사이트에 스크립트를 삽입하여 사용자의 웹 브라우저에서 해당 코드가 실행되도록 하는 공격 기법이다. 따라서 사용자가 의도하지 않은 행동을 수행시키거나, 쿠키나 세션 토큰 등의 민감한 정보를 탈취하여 세션 하이재킹(Session Hijacking) 공격으로 악용될 수 있다.2. XSS의 종류Reflected XSSStored XSSDOM XSS그 외 Blind XSS이나 CSS XSS, Json XSS 등 파생된 여러 XSS도 존재한다. 2.1 Reflected XSSStored XSS와 달리, 사용자에게 입력받은 값을 서버에서 되돌려 주는 곳에서 발행하는 반사형 공격 기법이다. 보통 GET 방식을 사용하는 UR.. 2023-09-29 PHP와 MYSQL을 활용한 회원가입 페이지 구축(2) 보호되어 있는 글입니다. 2023-09-29 PHP와 MYSQL을 활용한 회원가입 페이지 구축(1) ※ 목표 : 회원가입 페이지 구축 (로그인 중복확인) ※ 시나리오 [1] 회원가입 창 구축 ◀ ◀ ◀ ◀ ◀ ◀ [2] 아이디 중복확인 ◀ ◀ ◀ ◀ ◀ ◀ [3] 비밀번호 일치확인 [4] 회원가입 완료 [1] 회원가입 창 구축 (join.php) 1) 이름 / 아이디 / 아이디 중복확인 후 받을 히든 decide_id / 아이디 중복여부 확인 버튼 / 비밀번호 / 비밀번호 확인 폼 생성 2) method 형식은 POST로 지정 submit 버튼 클릭 시 join_ok.php 페이지 이동 / 자동완성 x [2] 아이디 중복확인 1) 아이디 폼에 지정해준id를(get형식으로 받음) 변수 -> userid로 지정 2) 변수 userid를 check.php로 넘겨주기 위한 url구조 생성 3) 아이디 폼에 아.. 2023.09.12 PHP와 MySQL을 활용한 로그인 웹 구현(2) 이전 글인 2023.09.05 PHP와 MySQL을 활용한 로그인 웹 구현(1) Review 1. html을 활용한 로그인창 구현 2. mysql DB 및 table 생성 3. php-mysql 연동 3-2. 이후 연동된 php와 mysql을 활용하여 로그인 시도 지난번에 이어 오늘은 로그인 시도 시 성공과 실패에 따른 팝업창 표시+로그인 성공시 메인페이지 이동을 구현해보겠다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 1. 핵심 로그인 비밀번호를 잊어버리셨나요? 여기Click Not a member? Sign Up 2. 구현 구축단계 설정 1) POST 형식으로 받은 id,pw를 각각 지정 2) mysql과 연결 3) if문 설정(mysql 2023.09.05 PHP와 MySQL을 활용한 로그인 웹 구현(1) 이것저것 아무것도 모르는 상황에서 구글링을 하였고 다른 블로그, 유투브, 구글링을 통해 나와같이 로그인창을 구현하는 사람들 것을 많이 참고하였다. 아무것도 모르는 zerobase였기 때문에 내 공부방식은 다른사람들의 예시를 참고하여 구현해보고 그 안의 코트를 공부해보는 중이다. 1. html을 활용한 로그인창 구현 2. mysql DB 및 table 생성 3. php-mysql 연동 1. html을 활용한 로그인창 구현 // 문서 형식 선언 // 문서의 시작과 끝에 표시, lang=속성, 'ko'(한국어) 'en'(영어) 'ja'(일본어) 속성값 // 헤드 끝 // 웹 브라우저 화면에 표시 될 컨텐츠 // 보여지는 형태 로그인 ID : pw : // input type에 따라 보여지는게 다름(찾아보면 재.. 2023.09.02 APM setup - 목표1 : APM setup - 목표2 : APM을 활용한 웹개발(회원가입창) 목표1 : APM setup 과제에 시작하기에 앞서 아무것도 알지못한 나는 구글창에 APM을 검색하였고, 그 정의를 알게되었다. [ A:Apache(서버), P:PHP(백앤드), M:MS-SQL(DB) ] 1) 구글에서 APM 설치 다운 파일 다운 (설치 후에 백신돌림) 2) 설치완료 후 Apache와 MY-SQL 정상작동 확인 목표1-1 : APT setup 점검 ※ 알게된 점 : 각각 컴퓨터를 로컬이라고 부르며, 개인의 로컬주소는 127.0.0.1 이라고한다. (= localhost) 1) 검색창에 127.0.0.1 검색 (= localhost) 2)디렉터리 확인 먼지는 모르겠으나 따라해본다. 내PC -> 로컬디스크 -.. 이전 1 다음