메타문자(meta character) 메타문자는 어떤 기능에서 특별한 용도 또는 의미를 가지고 있는 문자를 뜻하며, 의미문자, 특수문자(기호)라고도 부릅니다. ex) URL에서 https://www.test.com/lab/file?name=repo&date=231215 => ? : 요청 파라미터의 시작 => = : 파라미터의 이름과 값을 구분 => & : 파라미터와 파라미터를 구분 ex) SQL문에서 select * from users where id = 'susujin' and pw = '1234' => ' '(작은따옴표) : 문자열 데이터의 시작과 끝 이스케이프 이스케이프는 의미문자에서 의미를 제거하고 문자 그 자체로 사용하고자 할 때 씁니다. 이스케이프 방법 1) 인코딩 방법을 이용해서 다른 형태로..
WebGoat(웹고트) Stage 1:String SQL Injection (1) Window xp에서 http://victim:8080/WebGoat/attack 사이트로 이동하여 목록에서 Stage 1:String SQL Injection을 찾아 이동합니다. (2) 사용자 입력값이 서버로 넘어가는 과정을 확인합니다. 식별정보는 사용자는 12명 중에 선택해야하고, 인증정보는 패스워드를 입력해야합니다. (3) Neville Bartholomew로 로그인해보겠습니다. => 서버로 전달될 때 employee_id=112&password=pass&action=Login 로 전달되어야 합니다. 서버 내부에서는 아래와 같이 처리될 것이라 유추 => select * from 테이블명 where userId = 11..
WebGoat(웹고트) Exploit Hidden Fields 실습 (1) Window xp에서 http://victim:8080/WebGoat/attack 사이트에 접속합니다. (webgoat / webgoat) (2) 목록에서 Exploit Hidden Fields를 찾아 이동합니다. 해당 페이지에서 사용자가 입력해야하는 값을 확인합니다. 물건을 구입하기 위해서는 모델명, 가격, 수량, 금액이 필요합니다. 그 중 사용자 입력이 필요한 값은 수량입니다. (3) 사용자 입력값이 서버로 전달되는 과정을 확인합니다. => 개발자도구 또는 소스보기를 통해 확인 가능 => 서버로 전달될 때 QTY=1&SUBMIT=Purchase&Price=2999.99로 전달 => 입력창, 버튼, 히든필드 값이 서버로 전달되는..
SQL Injection 취약점 - 외부 입력값에 쿼리 조작 문자열 (# ') 포함 여부를 확인하지 않고 쿼리문 생성 및 시행에 사용하는 경우 - 쿼리의 구조와 의미가 변형되어 실행되는 취약점 원래는 ID(식별정보)와 PW(인증정보)를 비교하여 로그인을 해야하는데, 쿼리의 구조와 의미가 변형되면 ID(식별정보)만으로도 로그인이 가능해집니다. 예상되는 문제점 - 권한 밖의 데이터 접근 가능 - 해당 데이터베이스가 동작하는 서버를 원격에서 조작 가능(서버의 제어권 탈취) - 해당 쿼리를 통해 제공하는 기능을 우회 또는 오용하는 것이 가능 #1 사용자 계정을 모르는 상태로 로그인 시도 (1) Window xp에서 http://victim:8080/openeg사이트에 접속하여 임의 값을 넣어 로그인을 해봅니다...
실습환경 구성 [Kali Linux] 애플리케이션 취약점을 점검하거나, 그 취약점을 이용한 공격을 하기 위한 도구들을 모아놓은 것입니다. 다운로드: https://www.kali.org/get-kali/#kali-virtual-machines Get Kali | Kali Linux Home of Kali Linux, an Advanced Penetration Testing Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments. www.kali.org [Bee-Box] bWAPP이 설치된 가상머신으로, 웹 애플리케이션의 취약점들을 테스트해볼 수 있도록 만들어 놓은 것입니다. 다운로드: ..
Lab: SQL injection vulnerability allowing login bypasshttps://portswigger.net/web-security/sql-injection/lab-login-bypass Lab: SQL injection vulnerability allowing login bypass | Web Security AcademyThis lab contains a SQL injection vulnerability in the login function. To solve the lab, perform a SQL injection attack that logs in to the application as ...portswigger.net SQL Injection 로그인 우회 관리자 ..
SQL Injection SQL Injection은 OWASP Injection 공격 중 한 형태로, RDBMS(관계형 데이터베이스)에서 나올 수 있는 공격입니다. => OWASP는 The Open Web Application Security Project의 약자로, 오픈소스 웹 애플리케이션 보안 프로젝트입니다. => 주로 웹에 관한 정보노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하며 10대 웹 애플리케이션의 취약점을 발표합니다. => Oracle/Mysql/MSSQL/ProstgreSQL... [SQL Injection 종류] ▷ Boolean Based SQL Injection: 쿼리 요청 시 응답 값의 참/거짓 반응을 통해 DB 결과 조회 ▷ Error Based SQL Injection..
Lab: Exploiting XSS to perform CSRFhttps://portswigger.net/web-security/cross-site-scripting/exploiting/lab-perform-csrf Lab: Exploiting XSS to perform CSRF | Web Security AcademyThis lab contains a stored XSS vulnerability in the blog comments function. To solve the lab, exploit the vulnerability to perform a CSRF attack and change ...portswigger.net Stored XSS 공격 및 CSRF 공격 구문 작성 CSRF는 XSS 공격의 ..