일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- base64
- ESXi
- 안드로이드
- ctf
- Volatility
- otter
- lord of sql injection
- frida
- SQL Injection
- CTF-d
- vulnhub
- 2018
- NTFS
- foremost
- igoat
- Suninatas
- 파이썬
- Reflected XSS
- MFT
- 인시큐어뱅크
- elasticsearch
- kibana
- diva
- InsecureBank
- Strings
- logstash
- Openstack
- XSS
- Docker
- beebox
- Today
- Total
목록전체 글 (426)
Information Security
SQL Injection (Get/Search) - SQL 인젝션은 사용자가 입력한 값을 서버에서 검증하지 않고 데이터베이스 쿼리 일부분으로 인식하여 데이터베이스의 정보가 노출되거나 인증이 우회되는 취약점이다. Level (Low) 데이터베이스 영화 정보 내용들을 확인했다. 입력란에 Iron Man을 입력해 Iron Man 데이터를 보여주는 것을 알 수 있다. SQL Injection 공격을 시도하기 전에 싱글쿼터를 입력해 오류가 나는 것을 알 수 있다. ‘ or 1=1# 쿼리문을 이용해 SQL Injection 공격을 시도해 데이터베이스를 보여주는 것을 알 수 있다. UNION은 SELECT 문이 둘 이상일 때 이를 결합하여 두 질의의 결과를 하나로 반환한다. 2,3,4,5 컬럼이 조회된 다는 것을 알..
OS command Injection - 취약한 변수를 이용하여 시스템 명령어를 주입하고 운영체제 접근하는 공격이다. Level (Low) OS command injection에서 Lookup 버튼을 눌러 리눅스 DNS 정보를 확인했다. 리눅스 명령어 ls를 입력하면 DNS lookup ls로 인식하여 오류가 나는 것을 알 수 있다. ; ls를 입력하면 DNS lookup; ls 인식하여 정보를 확인할 수 있다. Level (Medium) Level (Medium)은 그림 1-2와는 다르게 오류가 보여주는 것을 알 수 있다. 파이프(|)를 이용해 DNS lookup | ls를 입력해 정보를 확인할 수 있다. Level (High) Level (High)은 DNS lookup ;ls 입력하면 오류 메시지를..
PHP Code Injection - phpi.php 파일에서 message 값 검증 미흡으로 시스템 정보가 유출될 수 있는 인젝션 공격이다. Level (Low) 그림 1-1에서 보여주는 message를 클릭하면 test 메시지를 보여주고 url 주소에서 보여진다. PHP에서 리눅스 명령어를 사용하기 위해 system 함수를 사용해 파일목록이 보여지는 것을 알 수 있다. Level (Medium) 난이도 중은 그림 1-1처럼 리눅스 명령어가 실행되지 않는 것을 알 수 있다. 대응방안 Medium과 High에서 세미콜론을 사용하여 다른 명령어를 호출하거나 스크립트 코드를 주입하는 공격이 실행되지 않는다. htmlspecialchars 함수는 두 번째 인자에 ‘ENT_QUOTES’를 추가하여 크로스 상ㅣ트..
HTML 인젝션 - Reflected(Get) - 취약한 매개변수에 악의적인 HTML 코드를 삽입하는 공격 - HTML 태그로 악의적인 사이트에 연결하거나 악성 파일 다운로드하도록 유도 Level (Low) 이번에는 스크립트 언어 123, 123 을을 입력했다. 태그가 해석되면서 결과 값을 보여준다. Reflected는 클라이언트가 서버에 영향을 주는 게 아니라 클라이언트에게 영향을 주는 것을 알 수 있다. 이번에는 쿠키 값을 불러왔다. 경고창에 cookie 값을 보여주는 것을 알 수 있다. Level (Medium) 그림 1-1 처럼 난이도 중에서 데이터를 입력했다. 그림 1-2와는 다르게 스크립트 언어가 그대로 보여주는 것을 알 수 있다. 스크립트 언어가 어떻게 입력되는 지를 확인하기 위해 소스코드를..
그림 1-1 O를 클릭했더니 자꾸 오른쪽으로 이동한다. 페이지의 소스코드 확인 개발자 모드에서 확인한 결과 800번을 클릭하면 다른 사이트로 이동하는 것 같다. left 부분을 799px로 변경해보았다. left 부분을 799px로 변경 후 한번 클릭했더니 문제를 클리어했다.
그림 1-1 6번 문제를 보면 index.phps와 Hint base64를 확인할 수 있다. index.phps 페이지로 이동을 하면 그림 1-2처럼 소스코드를 확인할 수 있다. 그림 1-3을 보면 base64 디코딩 소스코드를 확인할 수 있다. 디코딩 값이 admin이 되어야 하므로 admin/admin을 20번 인코딩한 값이 들어가야 하는 것을 알 수 있다. 쿠키 값에 admin/admin 20번 인코딩 값을 대입하면 문제를 해결할 수 있다.
메타스플로잇에서 smb_delivery 검색 use exploit/windows/smb/smb_delivery 모듈 옵션을 확인 exploit을 하면 DLL 파일이 만들어지는 것을 확인 그림 1-3에서 만들어지 rundll32.exe 파일을 배치 파일로 배포 메타스플로잇에서 8080포트를 열고 윈도우 서버에서 8080포트로 접속 그림 1-5에 보여주는 배치파일을 실행시키면 메타스플로잇에서 세션이 연결되는 것을 확인할 수 있다.
정의 - 시스템의 어떠한 인증 체계에 취약점이 존재하여 공격자가 시스템에 존재하는 사용자 계정 목록을 획득할 수 있는 취약점 영향 - 에러메시지를 통해 아이디/비밀번호를 유/무 판별할 수 있는 정보를 획득할 수 있다. 진단 시스템에 존재하지 않는 아이디와 비밀번호를 입력했다. 메시지를 출력하여 사용자 계정의 존재 유무를 알려준다. 시스템에 존재하는 아이디의 비밀번호를 잘못 입력했다. 비밀번호가 틀렸다는 사실을 메시지로 알려준다. 시스템에 존재하는 아이디와 정확한 비밀번호를 입력했다. 로그인에 성공했다는 메시지가 출력됬다. 대응방안 - 로그인 시도 속도를 제한하여 자동화 도구를 이용한 공격을 방지한다. 로그인 실패시 메시지는 상세한 피드백을 제공하지 않고 포괄적으로 대응한다. 실시간 모니터링을 통해 비정상..