[bWAPP] iframe Injection
·
Hacking/Web Hacking
iframe Injection iframe은 HTML 문서 안에서 또 다른 HTML 문서를 출력하는 태그로, 어느 위치든 상관없이 인젝션 공격을 할 수 있다. iframe 인젝션은 독립적으로 만들 수 있어서 HTML 인젝션 중에서도 공격에 자주 사용한다. HTML 인젝션에서 사용하는 태그와 마찬가지로 페이지 내에 iframe 태그를 주입하는데, 주로 악성 URL을 삽입한 후 사이즈를 0으로 설정하여 숨기는 방법을 사용한다. 따라서 사용자가 의도하지 않은 악성 웹 사이트에 접속하거나 경고창을 띄울 수 있다. 이번 실습에서 목표로 하는 것은 success 경고창을 띄우는 것이다. 난이도 low iframei.php 페이지는 GET 방식으로 데이터를 전송받으므로 URL에 변수를 노출한다. 변수는 ParamUr..
[bWAPP] XML/XPath Injection (Search)
·
Hacking/Web Hacking
XML XML은 데이터를 트리 구조의 노드로 표현하며 사용자 정의로 데이터를 분류한다. f matrix 위의 예시에서 최상위 노드는 'movies'고 하위 노드는 'action'이다. action의 하위 노드에는 'id'와 'name'이 있다. 이렇듯 XML로 사용자는 다양한 데이터를 편의에 맞게 분류할 수 있다. Xpath Xpath는 일종의 쿼리로, XML 데이터베이스 내용을 선택하고 조작하기 위하여 사용한다. XML은 트리 구조로 정의되어 있어서 다음 예시처럼 '/' 문자를 사용하여 최상위 노드부터 질의할 곳을 지정한다. $result = $xml->xpath ('/movies/action[id='" .$id ."' and name='" .$name . "']"); 이외에도 Xpath에 사용하는 명..
[bWAPP] XML/XPath Injection (Login Form)
·
Hacking/Web Hacking
XML XAML은 데이터를 트리 구조의 노드로 표현하며 사용자 정의로 데이터를 분류한다. f matrix 위의 예시에서 최상위 노드는 'movies'고 하위 노드는 'action'이다. action의 하위 노드에는 'id'와 'name'이 있다. 이렇듯 XML로 사용자는 다양한 데이터를 편의에 맞게 분류할 수 있다. Xpath Xpath는 일종의 쿼리로, XML 데이터베이스 내용을 선택하고 조작하기 위하여 사용한다. XML은 트리 구조로 정의되어 있어서 다음 예시처럼 '/' 문자를 사용하여 최상위 노드부터 질의할 곳을 지정한다. $result = $xml->xpath ('/movies/action[id='" .$id ."' and name='" .$name . "']"); 이외에도 Xpath에 사용하는 ..
[bWAPP] HTML Injection – Reflected (Current URL)
·
Hacking/Web Hacking
HTML Injection Injection 인젝션 : 공격자가 악의적으로 주입한 데이터를 웹 애플리케이션에서 데이터베이스의 정상적인 쿼리 일부로 인식하고 실행할 때에 발생하는 취약점 데이터를 입력받거나 데이터베이스 정보를 요청하는 곳에는 인젝션 공격이 가능하다. 공격 방법이나 사용 언어에 따라 인젝션의 종류가 달라지는데, 대표적인 유형으로 SQL 인젝션, HTML 인젝션, OS Command 인젝션, LDAP 인젝션 등이 있다. ​ HTML 인젝션 HTML 인젝션 : 코드 인젝션 공격의 하위 개념으로, 취약한 매개변수에 악의적인 HTML 코드를 삽입하는 공격 공격자는 사용자가 연결을 요청한 페이지에 HTML 태그를 삽입하여 의도하지 않은 내용을 보게 하거나 악의적인 사이트에 연결 시킬 수 있다. ​ H..
BeeBox 취약점 목록
·
Hacking/Web Hacking
A1. Injection 1. HTML Injeciton HTML Injeciton - Reflected (GET) HTML Injeciton - Reflected (POST) HTML Injeciton - Reflected (Current URL) HTML Injeciton - Stored (Blog) 2. Other Injection iframe Injection LDAP Injection (Search) Mail Header Injection(SMTP) OS Command Injection OS Command Injection - Blind PHP Code Injection Server-Side Includes (SSI) Injection 3. SQL Injection SQL Injection (G..
[IT@Security] Web 취약점 15. 크로스사이트 리퀘스트 변조(CSRF)
·
Hacking/Web Hacking
CSRF 공격이란? 사이트 간 요청 위조(또는 크로스 사이트 요청 위조 Cross-site request forgery)는 사용자의 신뢰(인증) 정보 내에서 사용자의 요청을 변조함으로써 해당 사용자의 권한으로 악의적인 공격을 수행할 수 있는 취약점으로 사용자 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격 기법이다. OWASP - CSRF 관련 참고사항 https://owasp.org/www-community/attacks/csrf Cross Site Request Forgery (CSRF) | OWASP Foundation Cross Site Request Forgery (CSRF) on the main website for The OWASP Fou..
[IT@Security] Web 취약점 14. 취약한 패스워드 복구
·
Hacking/Web Hacking
취약한 패스워드 복구란? 취약한 패스워드 복구 로직(패스워드 찾기 등)으로 인하여 공격자가 불법적으로 다른 사용자의 패스워드를 획득, 변경할 수 있다. 따라서 패스워드 복구 로직을 변경하고 인증된 사용자 메일이나 SMS에서만 재설정된 패스워드를 확인할 수 있도록 조치해야 한다. 취약한 패스워드 복구 점검 점검 내용 웹 사이트 내 패스워드 복구 절차의 적절성 점검 점검 목적 패스워드 복구 로직을 유추하기 어렵게 구현하고, 인증된 사용자 메일이나 SMS에서만 복구 패스워드를 확인할 수 있도록 하여 비인가자를 통한 사용자 패스워드 획득 및 변경을 방지하기 위함 점검 대상 웹 애플리케이션 소스코드 1. 재설정(또는 패스워드 찾기)되는 패스워드 몇 개를 획득하여 사용자의 연락처, 주소, 메일 주소, 일정 패턴을 ..
[IT@Security] Web 취약점 13. 불충분한 인증
·
Hacking/Web Hacking
불충분한 인증이란? 중요정보(개인정보 변경 등) 페이지에 대한 인증 절차가 불충분할 경우 권한이 없는 사용자가 중요정보 페이지에 접근하여 정보를 유출하거나 변조할 수 있으므로 중요정보 페이지에는 추가적인 인증 절차를 구현하여야 한다. 불충분한 인증 점검 점검 내용 중요 페이지 접근 시 추가 인증 요구 여부 점검 점검 목적 중요 페이지에 추가 인증으로 접근을 강화하여 불필요한 정보의 노출 및 변조를 차단하기 위함 점검 대상 웹 애플리케이션 소스코드 1. 중요정보(개인정보 변경 등) 페이지 접근 시 재인증 여부 확인 개인정보 수정 페이지에 접근 시 회원 비밀번호 확인을 통해 재인증을 하는 것을 확인했다. 수정한 회원 정보 저장 시에도 역시나 재인증을 하는 것을 확인할 수 있었다. 2. 인증 후 페이지에 아이..
[IT@Security] Web 취약점 12. 약한 문자열 강도
·
Hacking/Web Hacking
약한 문자열 강도란? 약한 문자열 강도 취약점: 웹 사이트에서 취약한 패스워드로 회원가입이 가능할 경우 공격자는 추측 및 주변 정보를 수집하여 작성한 사전 파일로 대입을 시도하여 사용자 계정을 탈취할 수 있는 취약점 해당 취약점 존재 시 유추가 용이한 계정 및 패스워드의 사용으로 인한 사용자 권한 탈취 위험이 존재하며, 해당 위험을 방지하기 위해 값의 적절성 및 복잡성을 검증하는 로직을 구현하여야 한다. 약한 문자열 강도 점검 점검 내용 웹페이지 내 로그인 폼 등에 약한 강도의 문자열 사용 여부 점검 점검 목적 유추 가능한 취약한 문자열 사용을 제한하여 계정 및 패스워드 추측 공격을 방지하기 위함 점검 대상 웹 애플리케이션 소스코드 1. 웹 사이트 로그인 페이지의 로그인 창에 추측 가능한 계정이나 패스워..
[IT@Security] Web 취약점 11. 크로스 사이트 스크립팅
·
Hacking/Web Hacking
Cross-site scripting이란? Cross-site scripting(XSS) : 웹 페이지에 악성 스크립트를 삽입하여 해당 스크립트가 다른 사용자들에게 실행되도록 하는 공격, 주로 사용자의 입력값을 웹 페이지에 동적으로 표시할 때 발생한다. 공격 방식은 크게 stored 공격 방식과 reflected 공격 방식으로 나누어진다. 악의적인 사용자는 입력 필드나 URL 매개변수 등을 통해 스크립트를 삽입하고, 이 스크립트는 다른 사용자들의 브라우저에서 실행된다. 이러한 스크립트는 사용자의 쿠키 정보, 세션 데이터, 민감한 개인 정보 등을 탈취하거나 수정할 수 있다. Stored 공격 방식 Stored XSS : 악의적인 스크립트가 서버에 저장되어 다른 사용자에게 계속해서 전달되는 방식의 XSS 공..
[IT@Security] Web 취약점 10. 악성 콘텐츠
·
Hacking/Web Hacking
악성 콘텐츠란? 웹 사이트 게시판, 댓글, 자료실 등에 정상적인 콘텐츠 대신 악성 콘텐츠를 주입하여 실행될 경우 사용자가 해당 콘텐츠 열람 시 악성코드 감염 및 웹 페이지 변조 등 보안상 심각한 위험에 노출될 수 있다. 따라서 사용자 입력 값에 대한 검증 로직 추가 및 실행 제한 설정이 필요하다. 악성 콘텐츠 점검 점검 내용 게시판 등에 악성 콘텐츠 삽입 및 실행 여부 점검 점검 목적 사이트 내 악의적인 콘텐츠 삽입 및 실행을 방지하기 위함 점검 대상 웹 애플리케이션 소스코드, 웹 방화벽 1. 콘텐츠 삽입 및 파일 업로드 제한 필터링 적용 여부 점검 파일 업로드가 가능한 게시판에 php 파일 업로드가 가능하다. 이러한 경우 웹쉘이나 기타 악성 파일을 업로드 할 수 있기 때문에 패치가 필요하다. 2. 게시..
[IT@Security] Web 취약점 9. 정보 누출
·
Hacking/Web Hacking
정보 누출이란? 웹 사이트에 중요정보(개인정보, 계정정보, 금융정보 등)가 노출되거나 에러 발생 시 과도한 정보(애플리케이션 정보, DB 정보, 웹 서버 구성 정보, 개발 과정의 코멘트 등)가 노출되는 취약점이다. 과도한 정보 누출은 공격자들의 2차 공격을 위한 정보로 활용될 수 있다. 웹 사이트에 노출되는 중요정보는 마스킹을 적용하여야 하며, 발생 가능한 에러에 대해 최소한의 정보 또는 사전에 준비된 메시지만 출력해야 한다. 정보 누출 점검 점검 내용 웹 서비스 시 불필요한 정보가 노출되는지 여부 점검 점검 목적 웹 서비스 시 불필요한 정보가 노출되는 것을 방지함으로써 2차 공격에 활용될 수 있는 정보 노출을 차단하기 위함 점검 대상 웹 애플리케이션 소스코드, 웹 서버 1. 웹 사이트에 중요정보가 평문..