프롤로그문제 다 풀고나서, 이러한 문제들이https://dreamhack.io/lecture/roadmaps/15 Web Hacking Advanced - Client Side웹 해킹 심화 클라이언트 사이드 로드맵입니다.dreamhack.io이런 로드맵에 포함되어있다는 것을 알았다. 개념 모르고..아 물론 knockon 부트캠프하면서 어느정도 배워놔서 이 지식갖다가 푼 거긴 하지만;;저 강의들을 보면서 해볼까 문제https://dreamhack.io/wargame/challenges/434?writeup_page=2 XSS Filtering Bypass AdvancedDescription Exercise: XSS Filtering Bypass의 패치된 문제입니다. 문제 수정 내역 2023.08.04 ..
프롤로그JWT라는 단어를 웹 개발 을 진행하면서 보안이라는 개념에서 이걸 많이 쓴다, 토큰형 방식이다 라고 하면서 거의 이것만을 사용해서 로그인을 만들었다. JWT란 무엇이냐.. 이렇게 된다. 문제https://dreamhack.io/wargame/challenges/1754 baby-jwt**J: JSON으로 데이터 관리하며 W: 웹에서 인증을 책임지는 T: 토큰의 강력한 무기, JWT! 😊** Feat. ChatGPT 플래그 형식은 0xH0P3{...} 입니다.dreamhack.io 코드 및 분석from flask import Flask, request, jsonify, render_template_string, make_responseimport jwtimport datetimeapp..
프롤로그XSS의 개념이랑 무엇을 할 수 있는가에 대한 정리 Cross Site Scripting(XSS)공격자가 악의적인 스크립트를 주입해서 실행시켜 공격하는 해킹 기법이다. XSS라고 부르는데, 이게 앞글자만 따면 CSS인데 XSS라고 부르는이유는? CSS는 이미 HTML 과 CSS 그게 있어서 XSS라고 한다.임의의 스크립트를 실행시켜서 공격하는 기법인데, 이게 어떻게 가능하냐?사용자의 입력값을 HTML, JS 태그로 인식을 해버리는 경우 실행이 된다. 사용자가 안녕 라고 입력을 했는데, 저 을 사용자의 입력인데 실제 태그로 인식이 되어서 h1 크기대로 출력이 되게 된다. 이렇게 실행이 되는 게 XSS기법인데, 악의적인 사용자가 등과 같은 스크립트를 작성하게 되면 실행이 된다.사용자가 URL을 클릭..
프롤로그SQL Injection의 마지막 시간 WAF란?Web Application Firewall의 약자로 한국말로는 웹 방화벽이라고 한다. 웹 애플리케이션을 공격으로부터 보호하기 위한 보안시스템으로, 웹 애플리케이션 레벨에서 발생하는 공격 트래픽을 필터링, 모니터링, 차단하여 웹 애플리케이션을 보호하는 것이다.정리하면 사용자의 input을 제한하기에 필터링이라고 한다.그래서 SQL Injection에서 악성 SQl 쿼리를 탐지 및 차단하고, Cross-Site Scripting(XSS) 공격을 방어하기 위해 악의적인 JavaScript 삽입을 차단하는 등으로 WAF을 사용한다. WAF의 작동 방식WAF는 HTTP/HTTPS 요청을 분석하여, 요청이 정상적인지 또는 악의적인지를 판단한다. 1. 패..
프롤로그2번째 강의이다. 이번에도 좀 자세히 적었다..파이썬 requests 모듈 내용도 들어가있다. Blind SQL Injection쿼리의 실행값을 Response로 받을 수 없을 때 사용하는 SQL Injection이다. 보통 일반적인 SQL Injection에서는 에러 미시지나 쿼리결과를 통해서 정보를 확인할 수 있었다.예시로 들자면로그인을 했을 떄, 현재 어떤 사용자가 로그인이 되었느지 username을 저렇게 보여주는 사이트에서 저 username이 보여지는 부분을 UNION SELECT로 원하는 내용을 추출할 수 있게 만들었었다. 그러나로그인 했을 때 이렇게 아무런 데이터의 내용을 아무것도 보여주지 않는 상황에서는 UNION SELECT를 하더라도 보여지는 정보를 확인할 수가 없는데, 이..
프롤로그메인 강의가 시작되었고, 영상 강의가 제공되었다. 일단 보면서 따라 할까 했는데, 개념 중요한 건 정리하고 가는 게 맞는 거 같아서 정리한다.메리 크리스마스.. SQL InjectionSQL 구문을 주입할 수 있는 취약점이다.사용자의 입력값을 어떠한 검수도 하지 않고 그대로 쿼리에 바로 넣어서 실행하게 되었을 때 발생하게 되는데, 데이터베이스에서 쿼리를 임의로 실행하여 원하는 값을 추출할 수 있게 된다. 로그인 페이지로부터 사용자 id와 pw 를 입력받는 폼이 있다고 가정해보자.그리고 POST요청을 하게 되면 서버로부터 id와 pw를 그대로 받아가게 될 것이다.SELECT * FROM users WHERE id=‘$user_id’ and pw = ‘$user_pw’이런 코드가 있다고 쳤을 때,..