Security/SecureCoding(233)
-
4.Remote Admin Access - WebGoat
Remote Admin Access 어플리케이션은 관리자 인터페이스를 가지고 있습니다. 이 페이지는 특정권한을 가진 사용자에게만 접근 가능하게 하고 일반 유저에게는 보이지 않습니다. 관리자 페이지에 접근가능한 취약점 찾기 LAB 수행 tomcat의 관리자 계정은 /admin으로 접근 가능합니다. http://localhost/WebGoat/attack?admin=true URL에 &admin=true 추가한 후 요청 http://localhost:8080/WebGoat/attack?Screen=10&menu=200&admin=true 하단의 Admin Functions 메뉴에서 관리자에게만 보이는 메뉴항목을 확인할 수 있습니다 메뉴항목에서 마우스 우클릭 > Copy Link Location 으로 링크 주..
-
3.3Stage3: Bypass Data Layer Access Control - WebGoat
3.3Stage3: Bypass Data Layer Access Control LAB 수행을 위한 Tools 도구명형태FireFox-FireBugofflineFireFox-Tamper Dataoffline LAB 수행 FireBug 실행 Ispect 클릭 후 사용자 선택 필드 선택 Manager인 Moe Stooge의 ID value값을 확인합니다. Moe Stooge (manager) 자신의 계정인 Tom Cat(employee)로 로그인 합니다. Tamper Data 실행 Start Tamper ViewProfile 버튼 클릭 Tamper 버튼 클릭 emplyoo_id를 Manager인 Moe Stooge의 ID값으로 변경합니다. > [OK] 클릭 employee_id102 LAB 성공!!! //--..
-
3.1Stage1: Bypass Business Layer Access Control
3.1Stage1: Bypass Business Layer Access Control LAB 수행을 위한 Tools 도구명형태FireFox-Tamper Dataoffline LAB 수행 Tom Cat(employee)선택 후 Tom Cat의 패스워드 tom입력 > Login버튼 클릭 Passwordtom [ViewProfile] 버튼 클릭후 개인 정보 확인 > [ListStaff]버튼 클릭 Tamper Data 실행 Start Tamper ViewProfile 버튼 클릭 Tamper 버튼 클릭 action의 ViewProfile을 DeleteProfile로 변경 > OK actionDeleteProfile LAB 성공!!!
-
1.Using an Access Control Matrix
Using an Access Control Matrix Role(역할)기반의 접근제어에서 role은 액세스허용과 권한을 부여하게 됩니다. role기반의 접근제어는 role허용관리와 role할당으로 구성되며 사용자는 하나 이상의 role을 할당 받을 수 있습니다. 잘못 관리할 경우에는 허용되지 않은 사용자가 리소스(자원)에 접근할 수 있는 취약점을 가지게 됩니다. LAB 수행 사이트에 접속하여 접근제어규칙 탐색하기 (단순하게 Account manger 리소스에 접근할 수 있는 사용자를 순서대로 찾아봅니다.) [Admin]그룹만 "Account Manager"리소스에 접근할 수 있습니다. Select resource: 를 "Account Manager"로 선택하고, Change user 값을 순서대로 바꿔가..
-
2.HTTP Splitting
HTTP Splitting 사용자의 입력값을 검증하지 않아 발생할 수 있는 취약점으로 사용자가 입력값 이외에 CR & LF를 추가해서 서버의 응답에 다른 응답형태를 추가하게 됩니다. 구분의미윈도우UNIX/LINUXCR(%0d)커서의 위치를 줄의 맨 처음 자리로 옮기라는 의미 사용미사용LF(%0a)커서를 다음 줄로 넘기라는 의미사용사용윈도우에서는 한 라인을 넘기기 위해 CR, LF를 같이 사용하지만 UNIX/LINUX에서는 LF만 사용합니다. CR/LF문들을 이용하여 임의의 제약사항들을 우회하여 서버에서 다른 페이지를 불러 올 수 도 있고 임의의 포트로 명령을 보낼 수 도 있습니다. 서버가 CR(%0d) 와 LF(%0a)을 체크하지 않는다는 것은 공격자가 헤더와 본문을 제어할 수 있다는 것을 의미합니다. ..
-
1.Http Basics
Http Basics 브라우저와 웹어플리케이션간의 데이터 전송에 대해 이해합니다. Proxy 설정 후 오고가는 데이터를 확인합니다. 일반적인 구성도 데이터 전송확인을 위해 Proxy서버를 이용한 구성도 Lab 수행 webscarab 을 실행하고proxy를 사용하여 request,response 를 intercept 하도록설정합니다.. 파이어폭스에서 proxy를 enable합니다. honggildong을입력하고 [go]버튼을 클릭합니다. webscarab에서 오고 가는 데이터를 확인합니다. 전달된 이름은 reverse() 되어서 응답되므로 이름이 gnodliggnoh로 출력됩니다. Lab 수행(Detail) Method에서 POST항목 선택 > 마우스 우클릭 > Use as fuzz template 항목 ..