일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 안드로이드
- Reflected XSS
- elasticsearch
- logstash
- CTF-d
- InsecureBank
- NTFS
- MFT
- vulnhub
- Docker
- XSS
- base64
- Strings
- kibana
- 2018
- Suninatas
- ESXi
- otter
- 인시큐어뱅크
- 파이썬
- frida
- foremost
- Volatility
- diva
- Openstack
- igoat
- ctf
- beebox
- lord of sql injection
- SQL Injection
- Today
- Total
목록Web Security/Bee-Box (38)
Information Security
Base64 Encoding (secret) - Base64는 다른 이진 데이터 변환 규칙과 관계없이 아스키코드만으로 데이터를 인코딩하므로 플랫폼 제한 없이 사용할 수 있다. Level (Low) Base64 Encoding 쿠키 값을 확인해서 복호화라는 것 같다. 버프스위트를 이용해 쿠키 값을 확인했다. 쿠키 값을 URL 디코딩 후 base64로 다시 디코딩 하면 Any bugs? 패스워드를 확인할 수 있다. 대응방안 secret 변수에 입력된 값은 SHA-1 해시 함수를 사용한 해시 값이다. SHA-1 해시 함수는 결함이 있어서 단순한 문자열이 원문일 경우 해시 값으로 원문을 찾을 수 있다.
Robots Files - robots 파일을 페이지에 대한 접근 권한을 설정하는 파일로, 웹 크롤러의 접근 범위를 설정할 수 있다. Level (Low) Robots Files 파일이 외부에 노출되는 경우 페이지에 대한 접근 권한 자체가 노출되는 것을 말한다. Robots.txt를 보면 admin과 passwords 중요한 디렉터리가 노출되는 것을 알 수 있다. 관리자의 페이지에 아이디와 비밀번호가 노출되는 것을 알 수 있다. Password에 중요한 정보가 노출되는 것을 알 수 있다. heroes.xml 파일에 들어가면 히어로 정보가 노출되는 것을 알 수 있다.
Insecure DOR (Order Tickets) - 티켓의 가격을 조작해 전송한다. Level (Low) 영화 티켓 1장 15 EUR라는 것을 보여준다. 버프스위트를 이용해 15 EUR에서 10 EUR로 값을 수정했다. 티켓 1장이 15 EUR에서 10 EUR로 변경되는 것을 알 수 있다. Level (Medium) 그림 1-2과는 다르게 난이도 중은 가격이 보여주지 않는다. ticket_price 티켓 가격을 5 EUR로 입력해줬다. 티케 값이 그림 1-6에서 입력한 5 EUR로 보여주는 것을 알 수 있다.
Insecure DOR (Reset Secret) - 비밀번호 힌트 변경 요청 없이 초기화할 비밀번호가 전송된다. 변수에 입력된 값을 필터링하지 않는 직접 객체 참조 취약점을 이용하여 버프 스위트로 요청 값을 가로챈 후 다른 사용자의 비밀번호 힌트를 초기화한다. Level (Low) Insecure DOR는 패스워드를 초기화가 되는 것을 알 수 있다. 버프 스위트를 이용해 전달 값을 확인했다. Bee 계정 패스워드가 Any Bugs?로 변경되는 것을 알 수 있다. A.I.M 계정 패스워드를 변경을 시도했다. A.I.M. 계정이 패스워드가 변경되는 것을 알 수 있다. 대응방안 mysqli_real_escape_string 함수를 사용하여 우회한다. SQL 인젝션 공격에 사용하는 특수 문자가 XXE 공격에도..
Insecure DOR (Change Secret) - 사용자의 비밀번호 수정할 수 있는 페이지로 직접 객체 참조 취약점 Level (Low) New secret 비밀번호를 1234로 변경했다. 그림 1-1에서 입력한 비밀번호가 변경되는 것을 알 수 있다. 버프 스위트로 확인한 결과 패스워드가 1234로 전달되는 것을 알 수 있다. 버프스위트를 이용해 A.I.M 계정을 패스워드 1234로 변경을 시도했습니다. A.I.M 계정이 패스워드 1234로 변경된 것을 알 수 있다. Level (Medium) 난이도 중에서는 그림 1-3과는 다르게 token 값이 생성되는 것을 알 수 있다. 대응방안 mysqli_real_escape_string 함수를 사용하여 Null, \n, \r, \ ‘, “, ^Z에 백슬래..
XSS – Reflected (HREF) Level (Low) abc를 입력하면 영화에 대해 투표하라는 페이지를 보여준다. onmouseover함수를 이용해 alert(“1234”)를 입력했다. Vote 버튼에 마우를 올려놓으면 그림 1-3에 스크립트 언어가 동작한다.
XSS – Reflected (PHP_SELF) - 웹 서버가 실행 중인 현재 웹 페이지의 경로를 나타내며 $_SERVER에 속하는 속성이다. Level (Low) First name 123 Last name 123 데이터를 입력했다. 를 입력하면 쿠키 값이 노출되는 것을 알 수 있다. 이번에는 URL 주소에 />스크립트를 닫아주고 를 입력하면 그림 1-3처럼 경고창을 보여준다. 대응방안 htmlspecialchars 함수를 호출하여 입력 데이터를 UTF-8로 인코딩한다. 두 번째 인자에 ENT_QUOTES를 추가하여 XSS에 사용되는 특수 문자들을 HTML 엔티티 코드로 변환하여 스크립트 코드를 입력하여도 웹 브라우저에서는 문자로 인식한다.
phpMyAdmin BBCode Tag XSS - 웹 상에서 MySQL을 관리하기 위한 도구로, PHP 언어로 작성되었으며 호스트 주소에 phpmyadmin 페이지로 이동한다. Level (Low) CVE-2010-4480 취약점을 가지고 있는 문제이다. PhpMyAdmin페이지의 error 페이지로 들어갔다. URL 주소에 에러 페이지 type=abc, error=abcd를 입력하면 그림 1-2처럼 내용을 보여준다. Click을 누르면 xss_eval.php를 불러오는 스크립트 언어다. 그림 1-4처럼 스크립트 언어를 실행하면 xss_eval.php 페이지를 보여준다.