Command Injection Command Injection은 운영체제 명령어(쉘 명령어)를 실행하는 기능이 존재하는 경우, 외부 입력값을 검정, 제한 하지 않고 운영체제 명령어 또는 운영체제 명령어의 일부로 사용하는 경우 발생하는 취약점입니다. 이 공격을 통해 공격자는 시스템 제어권을 탈취하여 해당 시스템을 마음대로 제어할 수 있게 됩니다. => 검증하지 않았다는 것은 추가 명령어 실행에 사용되는 &, |, ; 등의 문자열 포함여부를 확인하지 않았다는 의미 => 제한하지 않았다는 것은 내부 조직에서 사용할 수 있는 명령어 또는 명령어의 파라미터 값을 미리 정의하고 정의된 리스트 내에서 사용되도록 하지 않았다는 의미 Command Injection 취약점을 방어하기 위해 외부 입력값을 검정, 제한하여..
Bee-Box(비박스) SQL Injection(GET/Search) 사용자 입력 값이 영화 제목에 포함되어 있다면 해당 영화를 조회해서 보여주는 서비스로, 사이트의 취약점을 이용하여 해당 사이트에 등록된 사용자 계정 정보를 탈취하면 문제 해결 (1) Bee-Box에서 http://localhost/bWAPP/sqli_1.php 사이트로 이동하여 로그인 하고, 목록에서 SQL Injection(GET/Search)을 찾아 이동합니다. (bee/ bug) (2) 사용자 값이 서버로 전달되는 과정을 확인합니다. SQL Injection(GET/Search) 사이트에서 오른쪽 마우스 클릭 > View Page Source 클릭 => 전달과정은 GET /bWAPP/sqli_1.php?title=man&actio..
WebGoat(웹고트) Blind String SQL Injection pins 테이블에서 cc_number 컬럼 값이 4321432143214321인 name 컬럼 값을 찾으면 문제해결 (1) Window xp에서 http://victim:8080/WebGoat/attack 사이트로 이동하여 목록에서 Blind String SQL Injection을 찾아 이동합니다. (webgoat / webgoat) (2) 사용자 값이 서버로 전달되는 과정을 확인합니다. => Account Number: 계좌번호 입력 => 전달과정은 POST attack?Screen=39&menu=1100 accunt_number=101&Submit=Go! => 서버 내부에서는 select * from accounts where a..
소스코드를 통해 SQL Injection이 발생하는 원인찾기[보안 취약점 진단 및 대응/WebGoat, Bee-Box] - WebGoat(웹고트) Blind Numeric SQL Injection WebGoat(웹고트) Blind Numeric SQL InjectionWebGoat(웹고트) Blind Numeric SQL Injection pins 테이블에서 cc_number 컬럼 값이 1111222233334444인 pin 컬럼 값을 찾으면 문제해결 (1) Window xp에서 http://victim:8080/WebGoat/attack 사이트로 이동하여 목록에서 Blind Numepsjin230.tistory.comBlindNumericSqlInjection.java #1 eclipse에서 Ctrl ..
WebGoat(웹고트) Blind Numeric SQL Injection pins 테이블에서 cc_number 컬럼 값이 1111222233334444인 pin 컬럼 값을 찾으면 문제해결 (1) Window xp에서 http://victim:8080/WebGoat/attack 사이트로 이동하여 목록에서 Blind Numeric SQL Injection을 찾아 이동합니다. (webgoat / webgoat) (2) 사용자 값이 서버로 전달되는 과정을 확인합니다. => Account Number: 계좌번호 입력 => 전달과정은 POST attack?Screen=35&menu=1100 accunt_number=101&Submit=Go! => 서버 내부에서는 select * from accounts where ..
WebGoat(웹고트) Numeric SQL Injection 모든 지역의 날씨를 조회하면 문제해결 (1) Window xp에서 http://victim:8080/WebGoat/attack 사이트로 이동하여 목록에서 Numeric SQL Injection을 찾아 이동합니다. (webgoat / webgoat) (2) 사용자 값이 서버로 전달되는 과정을 확인합니다. => 조회내용은 credits에 입력이 됨 => weather station: 지역 선택 (지역코드가 선택됨, 101,102,103,104 중) => 전달과정은 POST attack?Screen44&menu=1100 station=101&SUBMIT=Go! => 서버 내부에서는 select * from weather_data where stat..
실습 시작 전 준비 1. FullstackLAB 실행 C:\FullstackLAB\run.bat를 실행합니다. 이클립스에서 TomCat을 실행합니다. 2. VMware를 실행합니다. Window xp, Bee-Box, Kali Linux를 모두 실행합니다. 3. Window xp에서 프록시를 설정하고 burp suite를 실행합니다. WebGoat(웹고트) LAB:SQL Injection - String SQL Injection 모든 회원의 정보를 조회하면 문제해결 (1) Window xp에서 http://victim:8080/WebGoat/attack 사이트로 이동하여 목록에서 String SQL Injection을 찾아 이동합니다. (webgoat / webgoat) (2) Enter your las..
인증 우회 공격 인증 우회 공격은 다양한 형태가 있습니다. 예를 들어보겠습니다. (ex) admin.test.com 도메인 내 서비스를 이용할 때 서비스 내 권한은 4가지가 있습니다. Admin(관리자): 사용 가능권한은 "가 나 다 라" A(사용자): 사용 가능권한은 "가 나 다" B(사용자): 사용 가능권한은 "나 다" C(사용자): 사용 가능권한은 "가" 비인증(사용자): X => 이러한 형태의 서비스를 운영한다고 가정했을 때 다양한 인증 취약점이 발생할 수 있습니다. => A가 "라" 권한을 사용하는 경우: 서버쪽에서 사용자 권한을 올바르게 체크하지 않아서 발생하는 취약점 => C가 B의 "나,다" 권한을 사용하는 경우 => 비인증 사용자가 C의 "가" 권한을 사용하는 경우 취약점 항목 보안대책 ..