목록Web Hacking (14)
Information Security Study

'저장된 XSS'는 악의적인 스크립트 코드가 웹에 입력되면서 데이터베이스에 저장된다. 불특정 다수의 사용자가 공격자의 게시물에 접근 => 지속적으로 악의적인 스크립트가 실행 => 위협 영향도 높다 범죄자는 이를 이용해 악성코드를 배포한다 1) 악성 행위를 하는 스크립트 코드를 게시물에 등록 1) 사용자가 게시물을 클릭하면 악성 스크립트 코드가 실행 텍스트 입력 공간에 'Succeed'라는 메시지를 출력하는 스크립트 코드 입력 후 submit 스크립트가 실행되어 경고창으로 'Succeed'라는 메시지를 출력된다. 텍스트 입력 공간에 사용자의 쿠키 값을 경고창으로 출력하는 스크립트 코드를 입력하였다. submit을 누르면 경고창으로 사용자의 쿠키값이 출력된다. 다음 실습 페이지는 비밀번호 힌트를 새로 설정하..

웹 해킹에 대한 기본적인 지식이 부족해 여름학기에 어려움을 꽤 느꼈었는데 드림핵 로드맵으로 차근차근 공부하니 웹 구조/ http와 https의 차이 등.. 을 알 수 있었다 중간 중간 쉬운 예제와 퀴즈도 풀어보았다! 쿠키 값을 이용해 플래그를 찾고 개발자도구를 사용하는 방법을 익혔다.

실습 페이지는 POST 메소드를 사용해 HTTP 연결 요청을 하는 페이지다. XSS 취약점을 알아보기 위해 입력란에 'Succeed' 경고창을 출력하는 스크립트 코드를 입력해 보았다. ok를 누르면 Last name에 입력한 값이 출력된다. First name에는 사용자의 쿠키 값을 경고창으로 출력하는 스크립트 코드를 입력하고 Last name 입력란을 비우고 Go를 눌러보았다. 두 입력란을 모두 채우라는 오류 메시지를 볼 수 있었다. 문자열을 출력하라는 스크립트 코드는 실행되지 않았지만 사용자의 쿠키 값을 출력하는 스크립트 코드는 실행되었다. 문자열 출력 스크립트 코드에는 작은 따옴표가 있었지만 쿠키 값을 출력하는 스크립트 코드에는 작은 따옴표가 없었다. 따라서 작은 따옴표를 우회하는 함수를 사용했다...

실습 페이지는 영화 검색 결과를 이메일로 보내는 기능을 한다. 참, 거짓에 상관없이 모두 동일한 메시지를 출력한다. 참을 구별하려면 -> sleep 함수 사용해 인젝션 시도 검색 결과 동일하기 때문에 오류 메시지 출력 x 따라서 SQL 인젝션 여부를 파악하기 위해 인자에 입력한 시간만큼 응답을 지연시키는 sleep 함수를 사용해 취약점 여부를 파악할 것이다. SQL 인젝션 취약점이 있는지 알아보기 위해 결과를 항상 참으로 만드는 쿼리를 입력한다. and 연산자로 sleep 함수를 호출하기 때문에 이전 쿼리가 참이면 응답을 지연한다. sleep 함수는 인자로 정수형 값을 입력받는다 -> 입력한 숫자의 초 단위로 응답을 지연함 ' or 1=1 and sleep(5)# SQL 인젝션이 성공해 5초 동안 대기 ..

Blind SQL 인젝션 : 쿼리의 결과를 참, 거짓으로만 출력하는 페이지에서 사용하는 공격 출력 내용이 참, 거짓 밖에 없다. => 데이터베이스의 내용을 추측해 쿼리를 조작할 수 있다. Blind SQL 인젝션의 쿼리에 사용하는 함수 - substr - ascii - limit substr 함수 - 첫 번째 인자로 받은 문자열을 지정한 길이만큼 출력한다. - 주로 문자 하나씩 출력하여 이름을 알아낼 때 사용 ascii 함수 - 문자를 아스키 코드로 변환한다. - 작은따옴표를 우회하는 변수일 때 문자를 입력하기 위해 사용 length 함수 - 문자열의 길이 반환 - 문자열의 길이를 알아내면 substr 함수로 문자열을 추측하기 쉬워진다. 세 함수를 통해 임의의 값을 입력하여 데이터베이스 내용을 알아낼 때..