SQL Injection Injection(삽입)은 외부 입력값을 내부처리에 사용하는 경우, 외부 입력값 처리를 조작하는 문자열 포함 여부를 확인하지 않고 사용하는 경우 또는 원래 의도했던 처리가 변경되어 수행되는 것을 의미합니다. => 처리가 쿼리문을 만들고 실행하는 처리 : SQL Injection => XPath 또는 XQuery 구문을 이용해서 xml 문서를 조작하는 처리 : XPath 삽입, XQuery 삽입 => LDAP 서버에 쿼리를 실행하는 처리 : LDAP 삽입 => 운영체제 명령어를 실행하는 처리 : Command Injection(운영체제 명령어 삽입) Injection(삽입) 취약점을 방어하기 위해 입력값을 검증 및 제한하여 외부에서 전달되는 값에 처리를 조작하는 문자열 포함여부를 ..
openeg sqlmap 공격 (1) Kali Linux에서 http://victim:8080/openeg사이트로 이동하여 로그인 합니다. 아이디 : admin' # 패스워드 : 1234 => 관리자로 로그인됩니다. => 해당 사이트의 로그인 페이지는 SQL Injection 취약점이 존재합니다. (2) Kali Linux에서 sqlmap을 설치합니다. $ sudo apt update $ sudo apt install sqlmap -y (3) sqlmap을 사용하여 공격을 시도합니다. (3)-1 $ sqlmap -u http://victim:8080/openeg/login.do -u는 공격할 타겟 주소를 주기 위해 사용합니다. -u 뒤에는 취약한 페이지 주소를 넣습니다. 옵션은 Default로 enter..
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..