공부/해킹 과제21 주통기반 취약점 항목 별 공격 시나리오 Injection 공격자가 Injection 취약점을 발견하는 경우 DB 데이터를 탈취할 수 있게 된다. 그렇게 된다면 피해의 규모가 커질 것이다. 정보 누출 공격자는 누출되는 정보를 이용하여 다른 공격에 악용할 수 있다. 악성 콘텐츠 공격자는 웹 페이지에 악성 콘텐츠를 삽입하여 사용자나 관리자가 해당 콘텐츠를 열람 시 악성코드 감염 등 보안상 위험한 공격을 할 수 있다. XSS 공격자가 이용할 수 있는 시나리오는 세션 탈취와 키로거 삽입이 있을 것이다. XSS를 이용하여 관리자의 세션을 탈취하게 된다면 공격자는 관리자 계정을 이용하여 다양한 공격을 할 수 있을 것이다. 공지글에 XSS를 이용하여 악성코드를 삽입할 수 있을 것이고 키로거를 삽입하게 된다면 다른 이용자의 아이디와 비밀번호를 얻을 수 있을 .. 2023. 7. 6. 인증/인가 취약점 인증 그 사람이 맞는지 확인하는 작업 인가 허락된 사람에게 어떤 권한을 부여 CASE 1. 인증 우회 인증 과정은 서버에서 수행해야 하지만 클라이언트에서 인증 과정을 수행하면 문제가 생긴다. 2. 주석 확인 소스코드에서의 주석들을 확인해본다. 3. 권한 우회 클라이언트가 권한을 확인하는지, 서버가 권한을 확인하는지 확인해야 한다. 4. 게시글 읽기 및 수정 권한 게시글 읽기에만 권한을 확인하고 게시글 수정에서는 확인을 안 할 수도 있다. 5. 불충분한 인가 6. 마이페이지 확인 마이페이지에서 관리자의 마이페이지로 넘어갈 수 있다. 이외에도 다양한 케이스들이 있다. 대응방안 서버에서 세션을 통한 검증을 수행한다. 2023. 6. 16. File Upload 마무리 및 File Download 다시 한번 정리해 보면 File Upload 공격은 공격자가 원하는 임의의 파일을 업로드할 수 있는 공격이다. File Upload 취약점이 발생하는 이유는 업로드 되는 파일을 검증하지 않기 때문이다. File Upload 공격 시나리오 1. 웹 쉘 공격자가 올린 파일이 어디에 올라가고 어디에서 실행이 되는지 확인을 해야 한다. POC 코드를 올려서 확인을 한다. 2. 도스 공격 서버에 많은 파일 또는 크기가 큰 파일을 올려서 서버의 자원을 고갈시킨다. 3. 디페이스 공격 웹 서버의 index.html을 변경시켜서 웹 서비스를 방해 4. 페이지 변조(피싱) 사이트를 변조시켜 공격자가 서버 사용자들의 정보를 탈취한다. 5. 악성코드 유포 XSS를 이용하여 악성코드를 유포시킨다. File Upload 대응 .. 2023. 6. 10. File Upload 실습 내가 만들어 놓은 웹서버에 파일 업로드 공격을 해볼 것이다. 파일 업로드 기능을 만들 때 별다른 보안조치를 하지 않아서 바로 가능할 것이다. 먼저 test를 할 수 있는 쉘을 올릴 것이다. 이것을 먼저 올려서 실행이 되는지 확인을 해볼 것이다. 테스트 파일은 업로드되었고 이 파일의 경로를 확인하기 위해 이미지 파일을 하나 올려서 경로를 확인할 것이다. 파일이 있는 경로를 알아냈다. 우리가 올렸던 test.php를 확인해 볼 것이다. 이제 웹 쉘을 올려서 파일 업로드 취약점을 공격할 것이다. 이렇게 웹 쉘을 만들어주고 게시판에 올릴 것이다. 이렇게 웹 쉘을 업로드했고 이제 파일이 있는 경로로 들어가 볼 것이다. 테스트 파일은 다운에 성공했지만 웹 쉘은 실패하였다. 그러면 경로로 그냥 진입해 볼 것이다. 파.. 2023. 6. 8. File Upload File Upload 공격자가 임의의 파일을 업로드할 수 있는 공격 여러 가지 코드를 올려서 취약점을 공격할 수 있지만 웹 쉘을 올려 서버를 장악하는 것을 초점으로 잡을 것이다. 웹 쉘은 공격자가 원격에서 웹서버에 명령을 수행하도록 올린 스크립트 파일이다. 따라서 File Upload 공격으로 웹 서버에 웹 쉘을 올리고 실행할 수 있게 된다면 공격자는 서버를 장악할 수 있게 된다. 가장 중요한 건 우리가 웹 서버에 실행할 수 있는 파일을 올릴 수 있어야 하고 그 파일이 업로드된 위치를 알고 실행할 수 있어야 한다. 웹 쉘을 올린 후 우리는 웹 브라우저로 올린 웹 쉘을 요청하게 되고, 이를 이용하여 소스코드를 탈취하게 된다.(DB를 탈취함) 또는 웹 쉘을 올린 후 Reverse shell을 연결시켜 킨다... 2023. 6. 2. SSRF 실습 SSRF 공격에 대해서 실습을 해볼 것이다. https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-localhost Lab: Basic SSRF against the local server | Web Security Academy This lab has a stock check feature which fetches data from an internal system. To solve the lab, change the stock check URL to access the admin interface at ... portswigger.net 위의 링크로 들어가서 실습을 해볼 수 있다. 문제를 해결하려면 관리자 인터페이스에 액세스 해서 carl.. 2023. 6. 1. CSRF 1, 2, 3 문제풀이 CSRF에 관한 문제를 풀어볼 거다. CSRF 1 1번 문제이다 CSRF를 이용해서 admin의 비밀번호를 바꾸는 문제이다. 로그인 페이지가 있고 회원가입을 먼저 할 거다 아이디는 test 비밀번호는 1234로 회원가입을 진행했다. 로그인을 하였고 마이페이지를 먼저 확인했다. URL로 값이 넘어가는 게 보이고 버프스위트로 확인할 것이다. 파라미터가 GET으로 넘어가는 것을 확인할 수 있다. 따라서 http://ctf.segfaulthub.com:7777/csrf_1/mypage_update.php라는 주소에서 url로 파라미터를 넘겨주면 비밀번호를 변경할 수 있다. http://ctf.segfaulthub.com:7777/csrf_1/mypage_update.php?id=&info=&pw=1234 위의 .. 2023. 5. 30. CSRF와 SSRF CSRF를 다시 정리해 보면 Cross Site Request Forgery 피해자가 자신의 의도와는 다르게, 자신도 모르게 서버로 임의의 요청을 하게 만드는 공격이다. 피해자의 세션을 활용하는 공격이고, 세션이 활성화된 상태에서 공격을 해야 한다. XSS는 클라이언트 측 스크립트를 삽입해서 클라이언트의 브라우저에서 실행 되게 만드는 공격이다. 공격이 이루어지는 곳 모든 요청에 대해서 이루어진다. 다만 이것을 취약점으로 보는 건 컨설턴트의 주관이 들어가게 된다. 공격 기법 1. GET Method URL 링크를 만들어서 전달 -> 로그인 한 다음에 볼 수 있는 페이지(세션이 생성되고 난 후) 2. POST Method 무조건 XSS를 찾아서 이용해야 한다.(같은 도메인에서 찾아야 한다. -> 세션을 이용.. 2023. 5. 26. CSRF 1 CSRF(Cross Site Request Forgery) 피해자가 자신의 의도와는 다르게, 자신도 모르게 서버로 임의의 요청을 하게 만드는 공격 의도하지 않았던 요청을 서버에 보내는 공격 피해자의 세션을 활용 -> 피해자가 로그인을 한 상태(게시판, 메일함) 어디서 발생할까? 모든 요청에서 발생한다 -> 민감한 요청(비밀번호 변경, 이메일주소 변경, 관리자 계정 등록 등) 생각보다 의외로 많이 일어난다. CSRF 공격 방법 1. GET 방식으로 처리가 되는지 확인 GET 방식으로 처리가 되면 매우 편하다. URL링크를 공격 링크로 만들어서 공격을 하면 된다. 2. POST Method POST Method만 지원하는 곳은 XSS 취약점을 같이 활용해서 공격을 한다. iframe과 form 태그를 이용해.. 2023. 5. 19. 이전 1 2 3 다음