웹 해킹
-
모의해킹의 네 번째 커맨드 인젝션 공격웹 해킹 2021. 3. 14. 13:18
커맨드 인젝션 공격은 SQL 인젝션 공격과 더불어 인젝션 리스크와 관련된 주요 공격 기법이다. 커맨드 인젝션 공격의 결과로 호스트 내부의 명령어를 실행할 수 있기 때문에 대부분 심각한 영향을 초래할 수 있다. 커맨드 인젝션은 명령어를 삽입한다는 뜻으로, 웹 요청 메세지에 임의의 시스템 명령어를 삽입하고 전송하여 웹 서버에서 해당 명령어를 실행하도록 하는 공격이다. 커맨드 인젝션 실습을 해보겠다. 보안 레벨을 low로 설정하고 커맨드 인젝션 메뉴를 선택한다. 리눅스의 경우 shell_exec 함수가 호출된다. ping -c 4 는 ping을 보내는 횟수를 4번을 정한다는 의미이다. target은 ip이다. 만약 ping 뒤에 ;을 입력하고 다른 명령어를 추가하면 ping 명령어가 끝나면 ; 뒤 명령어가 실..
-
모의해킹의 세 번째 SQL 인젝션 공격웹 해킹 2021. 3. 13. 14:46
SQL 인젝션 취약점은 웹 서버 영역의 데이터베이스로 전송되는 SQL 쿼리문을 사용자가 임의로 조작할 수 있는 경우를 말한다. 공격자는 이 취약점을 이용하여 데이터베이스에 저장되어 있는 다른 사용자의 개인정보를 허가되지 않은 정보에 접근하거나 데이터를 변조할 수 있다. SQL 인젝션 공격은 WHERE 구문 우회와 UNION 공격으로 나뉜다. WHERE 구문 우회 부터 보면, 쿼리문에 where 조건문이 있는데, 그 뒤에 or '1'='1' 과 같이 항상 참이 되는 조건을 추가하면 SQL 인젝션 공격이 성공할 수 있다. UNION 공격은 합집합으로 UNION 뒤에 구문을 같이 포함시켜 쿼리문을 실행시킨다. 쿼리문 끝에 #은 뒤에 오는 내용을 주석처리하고자 할 때 사용하는 특수문자고 만약 없다면, 가장 끝에..
-
모의해킹의 두 번째 취약한 인증 공격웹 해킹 2021. 3. 10. 09:39
공격자는 사용자 계정 정보를 확인하거나 세션 토큰과 같은 인증에 사용되는 토큰 정보를 입수하여 인증과정을 우회한다. 취약한 인증 리스크는 인증 과정이 제대로 보호되어 있지 않아서 공격자가 인증 과정을 우회할 수 있는 경우 발생한다. 예) 로그인 시도에 제한을 하지 않는 경우, 브루트 포스 공격이 시도될 수 있다. 브루트 포스 공격은 특정 정보(주로 사용자의 패스워드)를 알아내기 위한 공격이다. 패스워드 크래킹을 위해 사용하기도 하며, 웹 어플리케이션을 대상으로 사용자의 패스워드를 알아낼 때 사용한다. 브루트 포스 공격의 첫 번째 방법은 일련의 문자들을 하나씩 입력하는 방법이 있다. 이 방법의 단점은 패스워드 길이가 길어지면 공격이 어렵다는 것이다. 브루트 포스 공격의 두 번째 방법은 사람들이 자주 쓰는 ..
-
모의해킹의 첫 번째 정보수집웹 해킹 2021. 3. 9. 17:36
정보 수집은 모의해킹의 대상을 정하고 가장 처음 수행하게 되는 단계이다. 정보 수집은 두 가지로 분류되는데, 웹 애플리케이션을 서비스하기 위한 호스트 환경에 대한 정보와 웹 어플리케이션 자체에 대한 정보로 나뉜다. 서버의 응답을 통해 정보를 수집하는 방법을 배너 그래빙이라하는데, 이 방법은 응답 메시지의 서버 헤더를 살펴보는 방법이다. 웹 브라우저에서는 F12 -> Network에서 확인할 수 있다. 웹 취약점 스캐닝이란 자동화된 프로그램을 이용하여 웹 사이트의 여러 가지 정보를 수집하고 이 정보들을 바탕으로 어떤 취약점이 있는지 알아내는 과정이다. 칼리 리눅스에 설치되어 있는 웹 스캐닝 프로그램 중 nikto라는 프로그램으로 정보를 쉽게 수집할 수 있다. 디렉터리 인덱싱 취약점은 웹 서버의 잘못된 설정..