2024 SWLUG 37

6. 오버리프의 보안취약점 및 개인 리소스 노출위험 분석

▶논문 선정 이유취약점에 관련된 논문을 선택하고 싶었는데 이 논문을 통해 오버리프라는 개념과 함께 다양한 측면에서 배울 수 있을 것 같아 선택하였다.   ▶논문 내용Overleaf Output Extract Attack1. Overleaf 개요Overleaf는 온라인 협업 플랫폼으로 LaTeX 컴파일을 지원하여 전 세계 많은 연구자들에게 인기 있는 논문 작성 협업 툴※ LaTeX(레이텍): 과학 논문을 작성할 때 사용되는 필수적인 조판 시스템. 사용자가 문서를 일반 텍스트로 작성하고, LaTeX의 매크로(또는 명령어)를 사용해 서식을 지정한 후, 사용 가능한 컴파일러 중 하나를 사용해 최종 PDF 문서를 생성하는 방식으로 작동한다.  Overleaf에서 제공하는 LaTeX 파일 처리에 해당하는 기본 기능..

Command Injection

Command Injection 공격어플리케이션에 운영체제 명령어(Shell Script)를 실행하는 기능이 존재하는 경우, 외부 입력값을 검증, 제한하지 않고 운영체제 명령어 또는 운영체제 명령어의 일부로 사용하는 경우 발생한다. 이 경우 어플리케이션이 올라간 운영체제를 공격자가 직접적으로 제어할 수 있게 된다. 동작 방식1단계악의적인 운영 체제 명령을 실행할 수 있는 애플리케이션 취약점 찾기 2단계응용 프로그램이 호스트 운영 체제에서 원하는 작업을 실행하도록 명령을 설계일반적으로 HTML 코드, 쿠키 등의 입력 매커니즘을 사용해 애플리케이션에 삽입 3단계브라우저는 명령을 해석하고 호스트의 운영체제 명령으로 변환위협 행위자는 호스트 시스템과 감염된 시스템의 네트워크에서 특정 명령 실행 가능 유형1. 직..

SQL Injection

SQL Injection 공격SQL이란?관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어이다.  SQL Injection이란?웹 애플리케이션과 데이터베이스 간의 연동에서 발생하는 취약점으로, 공격자가 입력 폼에 악의적으로 조작된 쿼리를 삽입하여 데이터베이스 정보를 불법적으로 열람하거나 조작할 수 있는 취약점  공격 유형1. Error based SQL Injection: 논리적 에러를 활용한 SQL 인젝션인증 우회를 위해 논리적 에러를 유도하는 방식의 공격 기법이다.  2. Union SQL Injection: UNION 명령어를 활용한 SQL 인젝션공격자가 추가적인 쿼리를 삽입하여 정보를 획득하는 기법으로, UNION 명령어를 이용하여 여러 쿼리를 합치는 방식을 이용한다. 3. Bli..

2주차_웹해킹 수업 실습

2주차 SQL Injection WebGoat 문제 중 11~13번 실습이다. ※참고로 나는 WebGoat 접속 시 Docker Desktop을 먼저 켜야 명령어로 접근이 가능했다...   11번SQL 문자열 삽입(SQL Injection) 공격으로 employees 테이블의 모든 employee들의 대한 정보를 꺼내와야 하는 문제이다. 우선 공격을 시도하기 전에 Smith와 3SL99A를 입력해보았다.일단 테이블이 이렇게 생겼음을 알 수 있고...이제 공격을 해보겠다."SELECT * FROM employees WHERE last_name = '" + name + "' AND auth_tan = '" + auth_tan + "'";SQL 쿼리문은 위와 같다. 사용자가 입력한 last_name과 auth..

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']){  ..