보안
-
드림핵 웹해킹 stage 2-웹 브라우저보안/WEB HACKING 2024. 3. 14. 21:11
STAGE 2 웹 기본 상식 - Background: Web Browser 1. 웹 브라우저 웹은 글로벌 네트워크 위에 구현되어 있고 정해진 프로토콜을 기반으로 통신한다. 20세기에 등장한 웹 브라우저는 서버와 HTTP 통신을 대신해주고 수신한 리소스를 시각화했다. 웹 브라우저는 뛰어난 이용자 경험(User-eXperience, UX)을 제공하는 소프트웨어 중 하나이다. 이용자는 내부에서 어떤 연산이 일어나는지 전혀 모른다. 이용자가 주소창에 주소를 입력했을 때 웹 브라우저가 하는 동작 1. 웹 브라우저의 주소창에 입력된 주소를 해석한다. (URL 분석) 2. 입력된 주소에 해당하는 주소 탐색 (DNS 요청) 3. HTTP를 통해 해당 주소에 요청 4. 해당 주소의 HTTP 응답 수신 5. 리소스..
-
드림핵 웹해킹 stage 1, stage 2-웹 기본상식보안/WEB HACKING 2024. 3. 14. 20:08
STAGE 1 0. 서론 웹은 우리의 삶과 밀접한 핵심 기술 중 하나이다. 웹 기술에 대한 의존성이 높아진 만큼 웹 서비스를 안전하게 구현하고 관리하는 것이 중요하다. 강의의 목표는 웹 해킹의 기초적인 지식과 기술을 전달하는 것이다. STAGE 2 웹 기본 상식 - Background: HTTP/HTTPS 0. 서론 언어에서의 약속을 잘 지켜야 한다. 1. 인코딩 컴퓨터의 모든 데이터는 0과 1로 수겅된다, -> 인코딩 표준 - 아스키, 유니코드 - 아스키: 7비트 데이터에 대한 인코딩 표준 알파벳과 특수 문자 등을 표현할 수 있음. ex. A = 1000001 컴퓨터 개발 초기에는 문자권마다 고유의 인코딩 표준을 사용했지만 호환성 측면에서 부담이 되었고, 인코딩 호환이 되지 않는 문제가 발생..
-
XSS game 05, 06 (8주차)보안/WEB HACKING 2024. 3. 14. 18:05
XSS game 05 문제: Angular는 애플리케이션을 안전하게 개발할 때 자체 규칙을 가진 매우 인기 있는 프레임워크입니다. 그 중 하나는 Angular의 템플릿 시스템이 실행되기 전에 DOM을 수정할 때 주의해야 한다는 것입니다. 이 과제는 이것이 왜 중요한지를 보여줍니다. 목표는 응용 프로그램의 취약성을 이용하여 JavaScript alert() 함수를 실행하도록 만드는 것입니다. aa를 입력한 후 페이지 소스코드를 확인해보자. 아래에 UTM_PARAMS 가 적혀있다. UTM 파라미터 사용 : 각 유입 채널의 성과를 알아내고자 할 때 어떤 사용자가 어떤 채널로 유입되었는지에 대한 데이터를 쌓고 싶을때 링크 중간에 물음표가 나오면 물음표 앞까지가 원래 url 파라미터 종류 - utm..
-
XSS game 03, 04 (7주차)보안/WEB HACKING 2024. 3. 14. 17:02
XSS game 03 문제: 웹 사이트에서 alert 띄우기 새 창에서 cat 1, cat 2, cat 3를 차례대로 클릭하며 url 을 확인하자. cat 1 -> #1 cat 2 -> #2 cat 3 -> #3 임을 확인할 수 있다. 이제 페이지 소스 코드를 확인해보자. 파란색 부분을 보면 /static/img/cat 뒤에 있는 name 에 숫자를 어떻게 넣는지에 따라 다른 사진이 출력되는 것을 알 수 있다. .jpg 에서 3보다 큰 수 를 넣고 뒤에 onerror='alert(" ")> 를 url 에 쓴다. XSS game 04 문제: 웹 사이트에서 alert 띄우기 먼저 실행시켜보자. signed up 을 클릭하면 이 뜬다. 빈칸에 글을 입력하고 next를 클릭하면 다시 처음의 화면이..
-
XSS game 01, 02 (6주차)보안/WEB HACKING 2024. 3. 14. 16:01
XSS game 01 문제: alert 함수를 사용해서 경고창이 뜨게 만들어라. 을 빈 칸에 입력한다. 경고창이 뜨는 것을 확인할 수 있다. XSS game 02 문제: alert 함수를 사용해서 경고창이 뜨게 만들어라. 3으로 create timer를 설정하면 3초 후 경고창에 Time's up! 이라고 뜬다. 한글로 설정해도 Time's up! 이라고 뜬다. 로 하면 그대로 아래에 출력된다. 페이지 소스코드를 확인해보자. 3을 입력한 후 페이지 소스코드를 보며 onload 부분을 확인해보자. "stratTimer('3');"이라고 되어있다. 따라서 빈 칸에 ')alert('을 작성해준다.
-
BWAPP 5주차(cross-site scripting stored)보안/WEB HACKING 2024. 3. 14. 14:59
Cross-Site Scripting – Stored(Blog) 난이도 : low Quest. 다음 화면과 같이 경고창을 띄워봅시다. bee를 입력하면 이 나온다. 따라서 를 빈칸에 적자. Quest. 사용자의 쿠키 값을 경고창에 띄워봅시다. Hint1. 사용자의 쿠키값은 document.cookie에 저장되어 있습니다. hint 를 이용해서 를 입력한다. Quest. (게시판에 등록된 내용을 삭제하지 않았다면) XSS 공격을 시도할 때마다 경고창이 여러 개가 뜨는 것을 확인했습니다. 왜 그럴까요? 이유를 작성해주세요. Hint1. Stored XSS 방식에 대해 잘 생각해봅시다. Hint2. 소스코드를 확인해봅시다. 테이블에 어떻게 저장되어 있나요? hint2를 참고해서 소스코드를..