2024/09 11

Stored XSS

Stored XSS(저장 XSS, 영구적 XSS)공격자가 공격 스크립트를 웹사이트에 저장해두거나 게시판 등의 게시글 등에 저장해둔 후 사용자가 해당 페이지에 접속하거나 게시글을 클릭하였을 경우 실행되도록 하는 공격이다. 공격자가 페이로드를 전송한 뒤 다수의 피해자가 해당 페이지에 접속하면 XSS 공격에 노출일대다 공격 가능반사 XSS와 영구 XSS 모두 위험하고 두 공격이 동시에 일어날 수 있음 특정 페이지에 삽입된 페이로드를 통한 XSS도 가능1. 공격자가 게시물에 악성 스크립트를 삽입2. 피해자가 게시물을 클릭하면 공격자의 자바스크립트가 포함된 응답이 전송3. 브라우저에서 공격 스크립트가 실행되면 공격자는 피해자의 쿠키, 세션 등의 정보를 얻을 수 있음   Stored XSS 공격 실습DVWA 에 접..

Reflected XSS

XSS 공격웹 애플리케이션에서 많이 나타나는 취약점의 하나로 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점이다. 이를 통해  사용자의 정보(쿠키, 세션 등)를 탈취하거나 웹사이트 변조, 피싱 공격 등을 할 수 있다.   Reflected XSS(반사 XSS)사용자가 입력한 URL 이나 Parameter , Cookie 등을 기반으로 스크립트가 실행되도록 하는 공격이다.한 번의 HTTP 요청과 응답에서 행해지는 XSS로 어떠한 정보도 저장되지 않음어떤 공격 페이로드나 검색어를 이용하든 각 경우마다 새로운 결과 페이지를 생성-> 결과적으로 공격자가 생성해 놓은 링크를 피해자가 클릭하게 유도하는 방식! 기본적으로 URL의 CGI 인자에 Script Code를 삽입하는 것이다...

AWS WAF 실습 환경 구성

DVWA 설치위협 요인이 내재된 환경을 구성하기 위해 CloudFormation을 실행한다. CloudFormation을 통해 다음과 같은 AWS 리소스가 생성된다. 1. AWS 리전 확인AWS 관리 콘솔로 들어가서 AWS 서울 리전을 선택하였다. 2. EC2 키페어 생성EC2 키페어는 EC2인스턴스 생성을 위해 필요한 항목이므로, CloudFormation 템플릿을 실행하기에 앞서 EC2 키페어를 생성한다.  3. Cloud Formation 템플릿 실행CloudFormation Stack을 생성하였다. 조금 기다리니까 CREATE_COMPLETE라고 상태가 변경되며 생성이 완료되었다!   DVWA 확인1.DVWA 웹 페이지 접속 확인DVWA 스택이 정상적으로 생성되었다면 템플릿을 통하여 생성된 DVW..

AWS WAF와 AWS Cloud Formation 개념

AWS아마존에서 제공하는 클라우드 서비스로 네트워킹을 기반으로 가상 컴퓨터와 스토리지, 네트워크 인프라 등 다양한 서비스를 제공하고 있다. 용어 정리 클라우드: 광대한 네트워크를 통하여 접근할 수 있는 가상화된 서버와 서버에서 작동하는 프로그램과 데이터베이스를 제공하는 IT 환경. 클라우드를 이용하면 필요한 컴퓨팅 자원을 인터넷으로 쉽게 이용할 수 있다.  클라우드 컴퓨팅: 클라우드를 이용하여 컴퓨팅 자원을 사용하는 기술적인 방법. 서버, 스토리지, 네트워크 등의 자원을 가상화하여 사용자에게 제공하며, 필요에 따라 이를 확장하거나 축소할 수 있다. 클라우드 서비스: 클라우드 컴퓨팅을 기반으로 제공되는 서비스. 대표적으로  SaaS(Software as a Service, 소프트웨어 기반 서비스), Paa..

5. 크로스 사이트 스크립팅(XSS) 취약점에 대한 공격과 방어

▶논문 선정 이유최근 진행한 연합세미나에서 XSS 취약점에 대해 처음 알게 되었는데 흥미롭게 발표를 들었다. 마침 또 진행하고 있는 클라우드 프로젝트에서도 XSS 취약점에 대해 언급되어 이 기회에 제대로 크로스 사이트 스크립팅 취약점에 대해 알아보기 위해 이 논문을 선택하였다.    ▶논문 내용크로스 사이트 스크립팅(XSS) 공격크로스 사이트 스크립팅은 웹 애플리케이션의 취약점의 일종으로 웹 애플리케이션이 사용자로부터 입력 받은 값을 제대로 검증하지 않고 사용할 경우 나타난다. 공격자가 악성 스크립트를 삽입해 사용자의 정보(쿠키, 세션 등)를 탈취하거나 웹사이트 변조, 피싱 공격 등을 할 수 있다. ※주로 다른 웹사이트와 정보를 교환하는 식으로 작동하므로 사이트 간 스크립팅이라고도한다.  쿠키와 세션에 ..

[webhacking.kr] old-52

▶문제   ▶풀이문제는 admin 페이지에 접근하는 것 같고...guest의 계정은 주어졌다. 우선 admin page로 들어가보았다. 로그인하라는 페이지가 나왔고 일단 내가 알고 있는 guest 계정으로 로그인 해보았다.  로그인은 되었지만 admin이 아니라는 문구가 나온다. 그렇다면 다시 로그아웃 후 아이디와 비번에 임의의 값을 넣어보았다. -> 실패했다는 문구와 뭐가 함께 나올 줄 알았는데...아무것도 안나왔다. 혹시 몰라서 개발자 도구를 켜보았는데도 딱히 나온게 없었다...그래서 프록시 서버를 먼저 보려고 로그인 취소를 눌렀는데이런 화면이 나왔다! view-source를 들어가보니이런 PHP 코드가 나왔다. 여기서 필요한 부분만 뽑아서 해석해보았다. if($_SESSION['login']){  ..

1주차_웹해킹 수업 정리

Hijack a session 풀이사용자의 인증 여부를 파악할 때 사용하는 Hijack cookie 값을 예측해 인증된 사용자의 Hijack cookie 값을 찾아내는 문제   실습 전 준비 사항1. WebGoat 열기Docker Desktop으로 열어보려 했으나 CPU가 0%로 나와서...PowerShell을 관리자 권한으로 실행하여 WebGoat를 실행해보았다.docker ps #실행 중인 컨테이너 목록 확인docker exec -it webgoat /bin/bash #실행 중인 컨테이너 진입위의 명령어를 통해 WebGoat로 진입해준다. pwdcdpwdcd ./WebGoat./mvnw spring-boot:run그 후 위의 명령어를 차례로 입력 후 실행시켜준다. 2. Burp Suite 설정WebG..

백준 - 정수 삼각형

▶문제   ▶풀이n=int(input())d=[]for i in range(n): d.append(list(map(int, input().split())))for i in range(1,n): for j in range(len(d[i])): if j==0: d[i][j]=d[i][j]+d[i-1][j] elif j==len(d[i])-1: d[i][j]=d[i][j]+d[i-1][j-1] else: d[i][j]=max(d[i-1][j-1],d[i-1][j])+d[i][j]print(max(d[n-1])) 삼각형의 각 요소는 두 개의 바로 위 요소 중 더 큰 값에 현재 요소의 값을 더한 것각 요소에 대해 최대 경로합을 계산하기 위해 DP 테이블을 설정삼각형..

백준 2024.09.13

백준 - 신나는 함수 실행

▶문제   ▶풀이그대로 구현하면 값을 구하는데 오래 걸린다고 하였다..그 이유는 동일한 값을 계속 연산하기 때문이다.따라서 dp 알고리즘을 통해 구현해서 if dp[a][b][c] : return dp[a][b][c]즉 dp[a][b][c]의 값이 존재한다면, 해당 값을 리턴하라는 기능만 추가해주면 시간 내로 풀 수 있다.  ※동적 계획(Dynamic Programming)주어진 문제를 이보다 더 작은 크기의 문제들로 나눈 후, 이를 해결해 최종해에 다가가서 해를 찾는 알고리즘주어진 문제를 단계적으로 해결해 나가는 과정에서 종전에 찾아 둔 해를 다시 활용하는 것이 동적 계획법의 중요 절차※메모이제이션중복되는 계산 결과를 저장하여 이전에 계산한 값을 캐시하고, 다시 필요할 때 해당 값을 가져와 재사용 이미..

백준 2024.09.13