일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- lord of sql injection
- CTF-d
- XSS
- frida
- SQL Injection
- 2018
- kibana
- 안드로이드
- 파이썬
- vulnhub
- logstash
- Strings
- diva
- Suninatas
- Volatility
- Docker
- ctf
- Openstack
- InsecureBank
- foremost
- igoat
- NTFS
- MFT
- beebox
- otter
- 인시큐어뱅크
- elasticsearch
- base64
- Reflected XSS
- ESXi
- Today
- Total
목록WarGame/SUNINATAS (33)
Information Security
그림 1-1처럼 ID admin, PW 123456789 입력 시 False 문구를 확인할 수 있다. 그림 1-2에서 소스코드를 보면 guest/guest이고 admin의 PW를 찾는 게 목표인 것 같다. 그림 1-3처럼 guest/guest 입력이 OK guest 문구를 확인할 수 있다. 파이썬으로 Blind SQL Injection 소스코드를 통해 N1c3Bilnl) PW를 얻을 수 있었다. 그림 1-5처럼 admin/N1c3Bilnl) 입력 시 OK admin 문구를 확인할 수 있다.
그림 1-1처럼 ID, PW 입력해 계정 로그인을 하면 풀리는 문제인 것 같다. 소스코드를 보면 Hind ID admin, PW 0~9999라는 것을 볼 수 있다. 그림 1-3처럼 ID admin, PW 1234 입력한 결과 아무 반응이 없었다. 파이썬 소스코드를 통해 0~9999 브루트 포싱 공격을 시도한 결과 77707 PW 값을 얻을 수 있다. ID admin, PW 7707 입력한 결과 Authkey 값을 얻을 수 있다.
그림 1-1처럼 KEY Finding 문구를 확인할 수 있다. 그림 1-2처럼 소스코드에서 힌트를 확인할 수 있다. 그림 1-3을 보면 URL 주소에 web13.zip를 입력하면 알집 파일을 다운로드할 수 있다. 그림 1-4를 보면 알집 파일 내용을 확인할 수 있다. 비밀번호가 설정되어 있는 것을 알 수 있다. 압축을 풀려 했을 때 비밀번호가 설정되어 있어서 그림 1-4처럼 AZPR 프로그램을 이용해 압축 비번을 찾아낼 수 있다. 그림 1-4에서 구한 압축비밀번호 7642를 입력했다. 그림 1-6처럼 압축풀면 사진 파일 4개를 확인할 수 있다. whitehack1.jpg 사진 파일 hexdump를 확인하면 first key : 3nda192n를 확인할 수 있다. whitehack2.jpg 사진파일 hex..
7번 문제 화면이다. 그림 1-2처럼 중간에 YES 버튼이 있는 것을 확인할 수 있다. 그림 1-3처럼 Yes 버튼 클릭 시 "Fail.. Your too slow" 문구를 보여준다. 그림 1-4처럼 소스코드에서 힌트를 보면 Faster and Faster 확인할 수 있다. 그림 1-5처럼 구글 개발자도구를 이용해 http://www.suninatas.com/challenge/web07/web07.asp 브라우저에 입력하고 콘솔에 에 document.frm.submit() 이라는 스크립트를 실행시키면 Yes 버튼과 같은 효과를 낼 수 있다.
그림 1-1을 보면 Key 값을 Chek 하면 풀리는 것 같다. 그림 1-2처럼 소스코드 내용을 보면 eval() 함수를 통해 packer라는 자바스크립트 난독화 되어 있는 것을 알 수 있다. Hint 12342046413275659 힌트를 확인할 수 있다. 그림 1-3처럼 packer 난독화를 해독을 하면 코드 내용을 확인할 수 있다. (PACKER 난독화 : https://beautifier.io/) 구글 개발자 도구를 이용해 Hint 12342046413275659 값을 PASS 변수에 집어넣어 9c43c20c 값을 획득했다. 그림 1-5처럼 9c43c20c 값을 넣었더니 Authkey 값을 확인할 수 있다.
그림 1-1처럼 User-Agent 정보를 보여주고 있다. Plus 버튼을 클릭 시 포인트의 값이 1씩 증가하는 것을 알 수 있다. 소스코드의 내용을 확인해보니 50 point 값과 SuNiNaTaS라는 힌트를 확인할 수 있다. 계속 클릭을 시도해 포인트 값을 25까지 만들었다. 그림 1-4처럼 포인트 값을 25로 만들었더니 "I like the SuNiNaTas brower!"라는 경고창을 확인할 수 있다. 그림 1-4처럼 User-Agent 값을 SuNiNaTaS로 변경 후 포인트 값을 50까지 만들었다. 그림 1-6처럼 Auth key 값을 확인할 수 있다.
그림 1-1처럼 3번 문제를 보면 "Write articles in Notice Board!"라는 문구만 표시되어 있다. 그림 1-2처럼 FREE WRITE 게시판에 URL을 보면 /board/free/write를 확인할 수 있다. 그림 1-1을 보면 notice 게시판에 글을 쓰라고 해서 그림 1-3처럼 URL 주소에 board 대신에 notice로 변경 후 NOTICE 게시판이 나온 것을 알 수 있다. 그림 1-4처럼 NOTICE 게시판에 글을 등록했다. NOTICE 게시판에 게시글을 등록하면 키 값을 확인할 수 있다.
그림 1-1을 보면 로그인 화면이 보입니다. ID/PW 입력하여 성공하면 Authkey를 보여주는 것 같습니다. 그림 1-2 test/1234 입력한 결과 "You can't join! Try again 경고창을 보여주는 것을 알 수 있다. 그림 1-3을 보면 문제 2번에 대한 소스코드이다. 부분을 보시면 chk_form() 함수를 이용하여 id값과 pw값을 불러와 비교를 하는 것을 알 수 있다. id==pw 값이 같으면 alert("You can't join! Try again"); 메시지를 보여주고 id/pw 값을 초기화를 하는 것을 알 수 있다. id/pw 값이 다르면 submit() 함수가 실행되는 것을 알 수 있다. 그런데 Hint를 보면 Join / id=pw 값이 같아야 한다는 것을 알 수 ..