일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 2018
- foremost
- MFT
- otter
- CTF-d
- Docker
- kibana
- Suninatas
- igoat
- Volatility
- NTFS
- Reflected XSS
- 파이썬
- frida
- base64
- logstash
- 안드로이드
- ESXi
- InsecureBank
- XSS
- beebox
- Strings
- 인시큐어뱅크
- SQL Injection
- diva
- Openstack
- ctf
- elasticsearch
- vulnhub
- lord of sql injection
- Today
- Total
목록Web Security/Bee-Box (38)
Information Security
Session Mgmt – Administrator Portals - 세션은 웹 사이트에서 서비스를 제공할 때 사용자의 로그인을 유지하기 위하여 사용한다. 세션 관리가 소홀하면 세션을 가로채서 재사용하는 공격이 가능하다. Level (Low) 사용자가 관리자 페이지에 접근 시도를 했다. 힌트는 URL을 확인해보라고 한다. URL 주소에 admin을 1로 변경했는데 Locked이 풀리는 것을 알 수 있다. Level (Medium) 난이도 중은 URL이 아닌 cookies 값을 확인하라는 것이다. 버프 스위트로HTTP 요청을 가로채서 쿠키 값을 확인했다. 그림 1-2처럼 admin을 1로 수정했다. 관리자 페이지가 노출되는 것을 알 수 있다. 대응방안 페이지의 소스 코드를 확인하면 이전 단계와는 다르게 a..
Broken Auth – Password Attacks - 사용자에 대한 계정 정보를 획득하기 위하여 비밀번호로 입력 가능한 모든 문자 조합을 입력하여 사용자의 계정과 비밀번호가 일치할 때까지 대입하는 공격이다. Level (Low) 버프스위트에 무작위 공격을 시도하려고 Send to Intruder 메뉴로 들어갔다. Clear 버튼을 누른 후 bug 부분만 드래그한 후 Add 버튼을 클릭했다 Brute forcer 공격하기 전에 패스워드 길이를 3으로 설정을 했다. aaa 부터 하나씩 대입하며 공격하는 것을 알 수 있다. 대응방안 아이디와 비밀번호를 알고 있어도 CAPTCHA를 입력하여야 한다. 무차별 대입 공격이 불가능하는 것을 알 수 있다.
Broken Auth – Weak Passwords - 무차별 대입 공격과 비슷해 보이지만 비밀번호를 설정하는 사람들이 선호하는 문자열을 대입하는 공격이다. Level (Low) 아이디 bee 비밀번호 bug로 입력했는데 로그인이 실패했다. 버프 스위트에를 설정 후 사전 파일을 등록했다. start attack을 누르면 사전 파일에 등록되어 있는 단어 별로 공격을 시작한다. Login test Password test로 로그인 성공했다. 대응방안 취약한 비밀번호를 통하여 일어나는 보안 문제는 회원 가입할 때 비밀번호 유효성 검사를 통하여 방지할 수 있다.사용자 비밀번호에 특수 문자, 숫자, 영문이 포함되었는지 정규 표현식을 사용하여 검토한다.
인증 결함 - 인증에 필요한 사용자의 계정 정보를 노출하는 취약점으로, 보통 웹 페이지의 HTML 코드에 계정 정보를 노출하거나 인증을 GET 메서드로 요청하여 URL에 계정 정보가 노출한다. - 웹 사이트 가입할 때 추측할 수 있거나 무차별 대입 공격이 가능한 비밀번호 입력을 허용하는 경우도 포함한다. Level (Low) 아이디 bee 비밀번호 bug를 입력했는데 Invalid credentials! 문구가 나타났다. 소스 코드를 확인한 결과 아이디 tonystark 비밀번호 I am Iron Man을 확인할 수 있다. 그림 1-2에 아이디 tonystark 비밀번호 I am Iron Man 입력 시 로그인 성공했다. Level (Medium) Name 입력란에 brucebanner가 입력되어 있다...
Time Based - 영화 검색 결과를 이메일로 보내는 기능을 한다. 참 거짓에 상관없이 검색 결과는 모두 동일한 메시지를 출력한다. 따라서 참을 구별하기 위하여 sleep 함수를 사용하여 인젝션을 시도한다. Level (Low) ‘ or 1=1 # 참인 쿼리를 입력했는데 아무 반응이 없었다. ‘ or 1=2 # 거짓인 쿼리를 입력했는데 아무 반응이 없었다. 참과 거짓일 때 다른 반응을 출력하도록 쿼리에 sleep 함수를 사용한 결과 빙글빙글 5초 동안 waiting 하는 것을 알 수 있다. 거짓일 경우에는 참과 반응이 다르게 아무 반응이 없는 것을 알 수 있다. 아무 반응이 없는 것을 알고 거짓인 것을 알 수 있다. waiting동작하는 것을 보고 참인 것을 알 수 있다. Level (Medium) ..
Blind SQL Injection 공격 - 쿼리의 결과를 참과 거짓만으로 만 출력하는 페이지에서 사용하는 공격 한다. - 출력 내용이 참과 거짓 밖에 없어서 데이터베이스의 내용을 추측하여 쿼리를 조작한다. Level (Low) 데이터 aaa를 입력한 결과 데이터베이스에 내용이 존재하지 않는 다고 메시지를 보여준다. Iron Man을 입력해 데이터베이스에 존재하는 것을 알 수 있다. 결과가 참이라는 쿼리문을 ‘ or 1=1 # 입력했는데 데이터베이스에 존재한다는 것을 알 수 있다. 결과가 거짓이라는 쿼리문을 ‘ or 1=2 # 입력했는데 데이터베이스에 존재하지 않는 것을 알 수 있다. id가 1인 영화 데이터베이스 명이 첫 번째 글자가 G인 쿼리에서 참이라는 결과를 알 수 있다. id가 1인 영화 데이터..
SQL Injection (Login Form/User) Level (Low) Login 1234 Password 1234를 입력해 Invaild credentials! 메시지를 보여주는 것을 알 수 있다. Login bee Password bug를 입력해 bee 계정 정보를 알려주는 것을 알 수 있다. Login ‘ or 1=1 # Password bug를 입력해 A.I.M. 계정 정보를 알려주는 것을 알 수 있다. Level (Medium) Level (Medium)은 그림 1-3처럼 Iron Man ‘ or 1=1# bug 입력해 Invalid credentials! 메시를 보여준다. 대응방안 addslashes 함수를 통해 쿼터(', ") 같은 특수 문자들을 포함하고 있는 문자열에 역 슬래쉬(\)..
SQL injection (Login Form/Hero) - hero 그룹에 속하는 사용자들이 로그인하면 로그인 사용자의 비밀번호 힌트를 출력한다. Level (Low) Login 1234 Password 1234 입력해 Invalid credentials! 메시를 보여주는 것을 알 수 있다. Login Iron Man, Password ‘ or 1=1 #을 입력해 Neo 계정이 보이는 것을 알 수 있다. Level (Medium) Level (Medium)은 그림 1-2처럼 Iron Man ‘ or 1=1 #을 입력하면 Invalid credentials! 메시지를 보여준다. 대응방안 addslashes 함수를 통해 쿼터(',")같은 특수 문자들을 포함하고 있는 문자열에 역 슬래쉬(\)를 넣음으로써 오..