일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리버싱
- 시스템
- reversing
- 시스템해킹
- 리눅스
- dreamhack
- writeup
- Aleph One
- #picoCTF2018
- 정답
- KOISTUDY
- 해킹 공부
- 스택
- Hxd
- 버퍼오버플로우
- 카이사르
- cryptography
- WEB
- #hacking
- CTF
- 번역
- grep
- 해설
- general skills
- Protostar
- Smashing The Stack For Fun And Profit
- picoCTF2018
- write up
- forensics
- picoCTF
- Today
- Total
목록CTF(해킹대회) (28)
Security || AI
문제의 제목을 보고 robots.txt에 관련된 문제라는 것을 추측하게 되었다. 평소 같았으면 못 풀었겠지만 얼마 전 우연히 Wechall이라는 워게임 사이트에서 관련 문제를 robots.txt에 관련된 내용을 구글링 해가며 풀었던 기억이 나서 풀 수 있었다.이 문제도 그 문제의 풀이 방식을 응용하여 사이트의 주소 뒤에 /robots.txt를 붙여 접속하니 아래의 사진과 같은 robots.txt의 내용을 볼 수 있었다. 여기서 Disallow: /65c0c.html을 통해 로봇이 접근하지 못하게 한것을 볼 수 있다. 그러므로 disallow를 한 페이지에 들어가면 아래의 사진처럼 FLAG를 얻어낼 수 있다.
문제의 웹사이트에 들어가서 사이트를 둘러보면 아래의 사진과 같이 메뉴에 admin page가 있는 것을 볼 수 있다.이 문제의 힌트를 보면 admin페이지의 로그인 과정을 데이터베이스에서 처리하는 것을 볼 수 있다. SQL쿼리에서는 id를 검증하는 쿼리 뒤에 바로 비밀번호를 검증한다. 그러므로 id를 admin으로 하고 뒤의 내용을 무시하면 되므로 SQL에서의 주석문을 사용하면된다. 그러므로 ID에 admin'-- 를 넣으면 뒤의 비밀번호 검증을 주석처리하므로 로그인이 성공된다. 별다른 필터링이 없어 쉽게 풀 수 있는 문제이다.
문제의 message를 HxD로 열면 아래의 사진과 같은 문자열이 나온다. 이 문자열을 보고 추측을 해보면 원래의 FLAG형식은 pico로 시작하는데 이 문자열은 PICO인 대문자로 시작한다는 것을 알 수 있다. 실제로 아스키코드표를 보면 대문자가 소문자보다 아스키코드 값이 작은 것을 볼 수 있다. 또한, 중괄호가아닌 대괄호인 것을 볼 수 있다. 그래서 추측을 해보면 P와 p의 아스키코드값의 차이는 32이므로 문자열 전체에 32씩 더한 아스키코드 값을 출력하면 풀릴 것이다. #include #include #include int main() { char s[10000]; gets(s); for(int i=0; i 이런 소스를 짜면 아스키코드가 32씩 추가된 문자열을 볼 수 있다.
문제의 cat이라는 jpg파일을 다운받은 후 HXD를 사용하여 분석을 하면 되는 문제이다.JPG의 EOI 다음의 문자열은 사진에 영향이 없으므로 뒤의 문자열을 보면FLAG를 얻을 수 있다.
파일을 다운받은 후 HXD로 열어 분석을 해보면 아래와 사진과 같은 문자열이 나온다. 문제가 카이사르 문제였으므로 picoCTF{ } 사이의 문자열을 해독하면 문제를 풀 수 있을 것이다. 전에 카이사르 문제에서 썻던 소스코드에 이 문제의 문자열을 넣고 프로그램을 실행시키면 11번째에서 FLAG를 얻을 수 있다.
admin panel에서 로그인하는 과정을 캡처한 pcap파일이다. 로그인을 할 때는 POST방식으로 통신을 했을 것이므로 와이어샤크에서 HTTP로 필터링하여 분석한 결과 아래와 같이 나왔다. 위의 HTTP패킷들을 보면 542 POST /login이라는 패킷을 분석을 해보면 아래의 그림처럼 id는 admin이고 비밀번호는 picoCTF{n0ts3cur3_894a_6546}를 볼 수 있다.