인터넷 보안
| 크로스 사이트 스크립팅 공격2 [Stored XSS]
스토어드 크로스 사이트 스크립팅(Stored XSS) 공격 개요 - 리플렉티드와 달리 바로 반사되는 것이 아니라, 웹 서버에 저장되었다가 실행 됨 - 피싱 과정이 필요 없고 페이지를 접속하는 모든 사용자가 공격할 수 있으므로 더 심각함 스토어드 크로스 사이트 스크립팅(Stored XSS) 공격 실습 - 방명록에 자바스크립트를 삽입 후 방명록에 방문하는 사용자 쿠키 정보 탈취하는 것이 목적 - 리플렉티드 공격처럼 칼리의 아파치 웹 서버 실행, 접근 로그(access.log)를 모니터링 하도록 tail명령어 실행 ㄴ #tail -f /var/log/apache2/access.log - 페이지는 방명록이 구현되어있고, 이름과 메시지를 남길 수 있게 되어있음 - 1. 메시지칸에 쿠키 출력 스크립트를 삽입 ㄴ ㄴ..
| 커맨드 인젝션 공격 [Command Injection]
| 커맨드 인젝션 공격 - 이 공격을 통해 호스트 내부의 명령어 실행이 가능해짐 커맨드 인젝션 공격 개요 - Command Injection은 명령어를 삽입한다는 뜻 - 웹 요청 메시지에 임의의 시스템 명령어를 삽입하고 전송하여 웹 서버에서 해당 명령어 실행하도록 함 - ;(세미콜론)을 입력해 다른 시스템 명령어를 추가함 (;는 리눅스에서 복수 명령어 실행 시 사용하는 문자) ㄴ ping 127.0.0.1; cat etc/passwd 사용시 ping명령어와 cat명령어 동시 실행 커맨드 인젝션 공격 실습 - 아래의 실습 화면은 low level의 실습페이지로 IP입력시 해당 주소로 ping 명령어를 실행한 내용을 보여줌 ㄴ 소스코드를 보면 다음과 같음(shell_exec() 함수를 호출하며, 사용자가 입..
| SQL 인젝션 공격2 [Blind SQL Injection]
블라인드 SQL 인젝션 공격 - 일반 SQL과의 차이점은 앞에서 입력한 것처럼 1 입력 시 정보 출력이 아닌 사용자가 DB에 존재함만 알려준다. - '를 입력하면 SQL형식 에러가 아닌 해당 사용자 ID가 DB에 없다는 메시지가 뜸 ㄴ 에러가 발생하지 않도록 하는 루틴이 구현되어 있음을 추측 가능 - 폼에 5까지 입력했을 경우 존재한다고 뜨지만 6은 존재하지 않는다고 함 ㄴ 비정상적인 값 혹은 없는 값 입력시 존재하지 않는다고 뜨는 것을 알 수 있음 - SQL문 공격실행 여부를 알아내기 위해 테스트 ㄴ 1' or '1'='1'# 혹은 1' AND 1=1# //데이터가 존재한다 뜨므로 처리되었음을 알 수 있음 - 혹시 모르니 확인을 한번 더 함 ㄴ 1' AND 1=2# //틀린 값을 넣었더니 데이터가 존재..
| SQL 인젝션 공격1 [SQL Injection]
| SQL 인젝션 공격 - SQL인젝션 공격으로 인한 피해 사례는 셀 수 없을 정도로 많음 SQL 인젝션 공격 개요 - 웹 서버 영역의 데이터베이스로 전송되는 SQL 쿼리문을 사용자가 임의 조작 가능한 경우 발생 - 이 취약점으로 DB에 저장되어 있는 다른 사용자의 개인정보 등 허가되지 않은 정보 접근, 데이터 변조함 - SQL 쿼리문과 DB에 대한 지식이 있으면 이해가 쉬움 - SQL 인젝션 공격의 사례 ㄴ WHERE 구문 우회 - SELECT name, email FROM users WHERE ID='1' ㄴ 쿼리문을 보면 WHERE 조건문이 있고 사용자가 입력한 ID값 1이 조건으로 입력되고 있다. ㄴ 사용자의 이름과 이메일을 가져오는 쿼리문이다. ㄴ DB는 쿼리문을 실행해 ID가 1인 사용자 정보..
| 취약한 인증 공격 [브루트 포스 공격(Brute Force)]
| 취약한 인증 공격 - 인증 과정이 제대로 보호되지 않아서 인증과정 우회가 가능한 경우 발생 - 브루트 포스 공격이 시도될 수 있음(다량의 패스워드 목록 파일을 이용해 자동화함) 브루트 포스 공격 개요 - 특정 정보(주로 패스워드)를 알아내기 위한 공격 - 로그인에 여러 번 실패해도 제한이 없는 경우 공격이 가능해짐 ㄴ 1. 일련 문자들 하나씩 입력하는 방법(예. 0000~9999 등) ㄴ 2. 자주 쓰이는 패스워드 이용하여 시도(예. password, iloveyou 등) [딕셔너리 공격] - 성능을 높이기 위해 그래픽카드 GPU를 활용하는 크래킹 프로그램 등 활용하기도 함 브루트 포스 공격 실습 - 버프 스위트의 인트루더 기능을 이용해 딕셔너리 공격 수행 - 페이로드 타입이 브루트 포스인 경우는 문..