Bee-Box 소스코드에서 Command Injection이 발생하는 원인 찾기 [보안 취약점 진단 및 대응/Bee-Box] - Bee-Box(비박스) OS Command Injection Bee-Box(비박스) OS Command Injection Bee-Box(비박스) OS Command Injection (1) Kali Linux에서 http://beebox/ 사이트로 이동하여 로그인 하고, 목록에서 OS Command Injection을 찾아 이동합니다. (bee/ bug) (2) Lookup 버튼을 클릭하여 결과를 확인합니다. (3) psjin230.tistory.com [commandi.php] #1 Bee-Box cmd에 다음 명령어를 입력하여 commandi.php 파일을 확인합니다. 명령..
Bee-Box(비박스) OS Command Injection (1) Kali Linux에서 http://beebox/ 사이트로 이동하여 로그인 하고, 목록에서 OS Command Injection을 찾아 이동합니다. (bee/ bug) (2) Lookup 버튼을 클릭하여 결과를 확인합니다. (3) Bee-Box 가상머신에서 nslookup 명령어를 실행합니다. 입력 > nslookup www.nsa.gov => 웹페이지를 통해 요청한 결과와 동일한 내용을 출력하는 것을 확인할 수 있습니다. => 사용자 화면에서 전달한 값이 서버 내부 운영체제 명령어 실행에 사용되는 것을 유추 (4) bWAPP에 다음 값을 입력하고 버튼을 클릭합니다. 입력 값 > www.nsa.gov | ls => ls 명령어를 실행했을..
WebGoat(웹고트) Command Injection (1) Window xp에서 http://victim:8080/WebGoat/attack 사이트로 이동하여 목록에서 Command Injection을 찾아 이동합니다. (webgoat / webgoat) (2) 사용자 값이 서버로 전달되는 과정을 확인합니다. => 사용자 화면에서 입력 : BasicAuthentication.help(도움말) => 서버 내부에서는 cmd.exe /c type "C:\FullstackLAB\workspace\서버경로\WebGoat\lesson_plans\English\BasicAuthentication.html" => cmd.exe /c type 운영체제 명령어 실행 => BasicAuthentication.html 운..
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 ..