Study/Web 25

[DVWA] Reflected XSS

Reflected XSS Low Step 1) 입력 폼에 스크립트 구문 삽입 Step 2) 스크립트 구문으로 인식된 것을 확인 view source) Get방식으로 name의 값을 받아 그대로 전달 Medium view source) str_replace 함수를 통해 ''를 공백처리 Step 1) 대소문자를 섞어 필터링을 우회 Step 2) 스크립트 구문으로 인식된 것을 확인 High view source) preg_replace 함수를 통해 필터링 (*str_replcae와 preg_replace의 다른 점은? preg_replace는 정규표현식을 사용!) i옵션 -> 대소문자를 구별하지 않음 . -> 줄바꿈 문자 외에 모든 문자와 매치됨 * -> 반복

Study/Web 2021.06.13

XSS(Cross Site Scripting)

XSS란? cross site scripting의 약자 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법 클라이언트를 대상으로 한 공격 사용자의 정보(쿠키, 세션, 토큰 등) 탈취 크게 세가지로 분류: reflected xss, stored xss, dom based xss Reflected XSS 반사형 크로스 사이트 스크립팅 사용자에게 입력 받은 값을 서버에서 되돌려 주는 곳에서 발생 공격자가 악의적인 스크립트를 삽입한 URL 생성 사용자에게 해당 URL을 누르도록 유도 URL을 누른 사용자는 악의적인 스크립트의 실행으로 공격을 당함 Stored XSS 웹 서버에 저장되었다가 실행이 되는 스크립트 공격 공격자가 웹 애플리케이션에서 xss 취약점이 있는 곳을 파악 악성스크립트 삽입 -> DB에..

Study/Web 2021.06.13

[Web]robots.txt

robots.txt 웹사이트에 웹 크롤러같은 로봇들의 접근을 제어하기 위한 규약 ※크롤러란? 크롤링하는 소프트웨어 ※크롤링(crawling) 혹은 스크레이핑(scraping) 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위 -> 웹 상의 다양한 정보를 자동으로 검색하고 색인하기 위해 사용 검색 엔진 사이트들은 검색 속도를 높이기 위해 robot 이라는 프로그램을 만들어서 자동으로 웹 페이지들을 크롤링하는 방법을 사용 다만 노출을 원치 않는 경우, 이 robots.txt에 “안내문” 형식으로 특정 경로에 대한 크롤링을 자제해 줄 것을 권고하는 것 Ex) 크롤링하는 로봇 프로그램이 http://www.example.com의 웹 사이트를 방문할 경우 먼저 http://www.example.com..

Study/Web 2021.01.03

[Web][beebox]HTML Injection - Reflected (GET)

LEVEL : Low 정상적인 입력 Frist name : seomj Last name : 74 코드입력 Frist name : Hello Last name : Bye -> 'Welcom+First name 입력값+Last name 입력값'으로 출력 -> 입력값을 검증하지 않아 HTML 태그로 인식하여 그대로 해석 -> 이를 통해 악의적인 공격이 가능 LEVEL : Medium Low level 입력 Frist name : Hello Last name : Bye -> Low와는 다른 결과가 나타남 -> 태그를 필터링한다고 예측 가능 -> 문자를 URL 인코딩하여 입력 -> URL 인코딩은 ASCII 코드의 HEX 값 앞에 %를 붙인 값 - '' = %3E, '/' = %2F (URL 인코딩은 코딩을 해서..

Study/Web 2020.12.21

HTTP Request, Response

HTTP : HypeText Transfer Protocol HTTPS : HypeText Transfer Protocol Secure Socket Layer http, https는 웹(www)에서 이루어지는 통신을 정의한 프로토콜이다. 기본 포트로 80(HTTP), 443(HTTPS) 포트를 사용한다. HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜이다. HTTP는 클라이언트와 서버 사이에서 평문 메시지로 이루어져있다. HTTPS는 이를 보완하기 위해 등장하였다. HTTPS는 SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화한다. HTTP는 사용자가 서버에 요청을 하는 Request와 사용자의 요청에 대한 서버의 응답인 Response로 이루어진다. HTTP Request 서버에..

Study/Web 2020.07.12