일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dreamhack
- forensics
- general skills
- CTF
- Protostar
- 리눅스
- WEB
- Aleph One
- 정답
- grep
- 번역
- 시스템
- KOISTUDY
- Hxd
- 스택
- picoCTF
- 리버싱
- cryptography
- #picoCTF2018
- writeup
- 해설
- picoCTF2018
- write up
- Smashing The Stack For Fun And Profit
- #hacking
- 카이사르
- 해킹 공부
- 버퍼오버플로우
- reversing
- 시스템해킹
- Today
- Total
목록분류 전체보기 (94)
Security || AI
파일을 다운 받으면 myname이라는 패킷을 캡처해 놓은 pcap파일이 열린다. 어떤 종류의 문제인지 감이 잘 안잡혀 힌트를 보니 아래와 같은 힌트가 나왔다. 이 힌트를 보아 도메인의 이름을 나타내는 도메인 네임 시스템인 DNS를 통해 알 수 있다고 추측할 수 있었다.그러므로 아래의 사진과 같이 DNS를 필터링하여 패킷을 분석해보면 FLAG를 알아낼 수 있다.
문제의 웹사이트에 들어가면 아래의 그림과 같이 로그인 페이지를 볼 수 있다. 하단의 loin.php source code를 눌러보면 아래의 페이지처럼 로그인 페이지의 소스코드를 볼 수 있다. 위의 소스코드의 쿼리를 보면 SELECT 1 FROM users WHERE name='$username' AND password='$password'';admin이라는 아이디로 비밀번호 검증만 우회하면 로그인이 될것이다. 또, 이 소스코드를 보아 별다른 SQL인젝션을 하는데 필터링이없으므로 그대로 SQL인젝션을 진행하면admin'-- 라는 것을 ID에 넣고 로그인하면 로그인을 성공할 수 있고, FLAG를 얻어낼 수 있다.
30초 안에 풀어야 하는 문제들로 구성되어있다.처음에는 시간제한이 있기 때문에 시간을 지나서 답을 풀고 그 답들을 외워서 풀려 했지만 문제들이 랜덤으로 나와 그렇게 풀 수는 없었으므로 정석대로 풀어야하는 문제이다.nc에 접속해보면 아래의 그림과 같이 2진수로 되어있는 5개의 글자를 볼 수 있다. 이 2진수를 아스키코드로 전환하면 첫번째 문제를 풀 수 있다. 이 문제를 푸는 프로그램을 만들고 있었는데 알고보니 Please gibe me the ~~ 위에 답이 있었다.그러므로 첫번째 문제는 위의 내용대로 풀면 된다. 위의 그림 가장 아랫줄에는 16진수로 이루어진 단어로 보이는 문자열이 있다. 이 또한 아스키코드로 변환하여 단어를 찾으면 되는 문제인데 프로그램을 만들려다가 구글에서 그냥 찾아보니 https:/..
먼저 문제에서 주어준 소스를 보면 what is your name? 이라 물은다음에 이름을 입력하는 문제이다. 여기서 아래의 사진처럼 이름의 배열크기는 256이다. 그러므로 이름이 256자 이상이면 메모리가 다른 곳으로 넘어가면서 flag를 흘리는 버퍼오버플로우와 같은 형식의 문제가 될 것이다. 아래의 사진처럼 A를 256자 이상 입력을 했더니 프로그램에서 의도하지 않은 내용이 나오면서 FLAG를 얻어낼 수 있다. picoCTF{a_really_s3cuRe_p4s$word_d98e8d}이다.
문제의 파일은 PNG형식의 PICO CTF라는 문구가 있는 그림이다. 이 그림에서 FLAG를 찾아내면 되는 문제이다.이 문제 역시 HxD를 사용해서 PNG의 EOI뒤에 있는 내용을 보면 FLAG를 얻어낼 수 있다.
문제의 제목을 보고 robots.txt에 관련된 문제라는 것을 추측하게 되었다. 평소 같았으면 못 풀었겠지만 얼마 전 우연히 Wechall이라는 워게임 사이트에서 관련 문제를 robots.txt에 관련된 내용을 구글링 해가며 풀었던 기억이 나서 풀 수 있었다.이 문제도 그 문제의 풀이 방식을 응용하여 사이트의 주소 뒤에 /robots.txt를 붙여 접속하니 아래의 사진과 같은 robots.txt의 내용을 볼 수 있었다. 여기서 Disallow: /65c0c.html을 통해 로봇이 접근하지 못하게 한것을 볼 수 있다. 그러므로 disallow를 한 페이지에 들어가면 아래의 사진처럼 FLAG를 얻어낼 수 있다.