분류 전체보기(343)
-
웹 보안 공격 - DDOS , Dictionary Attack , Rainbow Table
DDOS Distributed Denial of Service 서버에 비정상적으로 많은 트래픽을 보내는 공격 서비스가 마비되고 많은 비용이 소모된다 DDOS - 사례 DDOS - 방어 제일 단순한데 제일 막기 어렵다 확장 가능한 서비스 구조 설계 IP 필터링 Rate limit 솔루션 구매 Dictionary Attack 미리 사저에 등록해놓은 문자열을 암호로 대입하는 공격 Brute Force의 일종 Dictionary Attack - 사례 Dictionary Attack - 방어 의미가 있는 문자열(apple, banana...) 은 암호로 등록 하지 못하도록 설정 Account Lockout Policy 2-factor Rainbow Table 해시 함수를 이용한 평문을 모두 저장시켜 놓은 표 계정..
2023.09.23 -
웹 보안 공격 - Command lnjection , File Upload Attack , JavaScript lnjection
Command lnjection 애플리케이션에서 사용되는 시스템 명령에 악의적인 명령어를 삽입하는 공격 (WebShell Attack) 서버 root 권한을 취득할 수 있다. Command lnjection - 사례 Command lnjection - 방어 가급적 시스템 함수는 사용 X 민감한 문자를 필터링 - ex) |, & , ; , >,
2023.09.22 -
웹 보안 공격 - CSRF Attack
CSRF Attack Cross-Site Request Forgery 공격자가 사용자를 이용하여 웹 사이트에 요청을 보내는 공격 CSRF Attack- 사례 CSRF Attack- 방어 Referrer Check - 허용한 도메인만 요청하도록 설정 CSRF Token - 모든 요청에 토큰을 발급하여 서버에서 검증 CAPTCHA - 사람이 요청한 것이 맞는지 검증
2023.09.21 -
웹 보안 공격 - XSS
XSS Cross-Site Scriptiog 웹 페이지에 악성 스크립트를 삽입하는 공격 사이트 이용자 정보를 탈취 할 수 있다. XSS - 사례 XSS - 방어 HTML 필터링을 한 후 DB에 저장한다. -ex) , script , html, head, meta,... 만약을 위한 프론트엔드에서도 필터링한다. XSS - 심화 앞서 소개한 방식은 Stored XSS Reflected XSS DOM Based XSS Reflected XSS 검색어 등을 보여주는 곳에 스크립트를 심는 공격 URL을 사용자에게 누르게 만들면 공격 성공 DOM Based XS DOM에 악의적인 스크립트를 심는 공격 브라우저가 해석하는 단계에서 발생되는 공격
2023.09.20 -
웹 보안 공격- SQL lnjection
웹 보안 웹 사이트의 취약점을 공격하는 기술적 위협으로, 웹 페이지를 통하여 권한이 없는 시스템에 접근하거나 데이터 유출 및 파괴와 같은 행위를 말한다. 다양한 공격 기법 SQL lnjection Xss CSRF Attack File Upload Attack Command lnjection Buffer Overflow Dictionary Attack ... SQL lnjection 서버에서 실행되는 SQL을 악의적으로 이용하는 공격 기존 SQL에 악의적인 SQL을 삽입한다. 데이터 탈취, 삭제 등이 가능하다. SQL lnjection -사례 SQL lnjection -방어 SQL에서 특별한 의미를 가지는 문자를 이스케이프한다. - ex) \n, \t , | , / , & , # , ... 준비된 선언을 ..
2023.09.19 -
코딩테스트 입문 100문제 Lv.1(javascript) 숫자 짝꿍
숫자 짝꿍 function solution(X,Y){ let countX = new Array(10).fill(0); const xArr = X.split(""); xArr.forEach((item) => { countX[item]++; }) let countY = new Array(10).fill(0); const yArr = Y.split(""); yArr.forEach((item) => { countY[item]++; }) let ans = []; countX.forEach((item, index) => { if(item !== 0 && countY[index] !== 0){ const min = Math.min(item, countY[index]); ans.push(String(index).rep..
2023.09.04