| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Python
- 크롤링
- Selenium
- 후기 크롤링
- 백준
- Bandit
- split()함수
- 리버싱
- Welcome_rev
- 네이버스토어 후기
- 파이썬
- 웹크롤링
- HackCTF
- Baekjoon
- Reversing Me
- 백준2557
- split()
- 리뷰 크롤링
- 유튜브크롤링
- reversing
- Handray
- Linux
- MySQL
- ctf
- c언어
- 댓글크롤링
- SQL
- 워게임
- 백준 1008번
- 리눅스
- Today
- Total
목록HackCTF (3)
root@hfairy:~$
냐하하하하라니.. 정말 얄밉다. 얄미워도 주어진 파일을 다운받았다.오늘도 습관적인 헥사 확인..ㅎㅎ (사용 프로그램: 010 editor)아스키 값을 확인해보면 flag is라는 문장이 보인다.아랫줄에 flag라는 단어가 하나 더 보이긴 하는데 뭔진 잘 모르겠다.일단 리눅스로 넘어가서 파일을 실행해봐야겠다고 생각했다.파일의 종류를 파악하기 위해 file명령어를 입력했고, ELF 파일이구나~파일이구나~ 정도만 이해했다.그리고 무작정 실행시켜봤지만 실패했다.그래서 chomod 명령어를 입력해 권한을 변경해주고 다시 실행시켰다. ‘flag를 뛰어넘었습니다!’라는 문장이 출력되는 것을 확인했다.flag값을 뛰어넘었다는 것은 코드 실행이 ‘flag를 뛰어넘었습니다!’라는 문장이 출력되기 전에 멈춰야 원하는 fla..
이번 문제에는 코드가 작성되어 있다.전체 코드를 확인해보면 위의 사진과 같은데 처음엔 코드를 실행해봤지만 원하는 답을 얻진 못했다.코드를 분석해서 해결하는 문제인 거 같다. 원하는 값을 얻기 위해 for문에 주어진 조건을 확인해봐야할 것 같다.입력값(enter)과 serial의 길이가 같으면 for문을 실행한다.enter[i] ^ (i % 2)에서 enter값을 0 또는 1로 XOR 연산(두 값을 비교해 값이 같으면 0, 다르면 1 계산)을 실행하는 것을 확인했다.XOR연산은 a^b=c이면 a=c^b라는 특징을 가지고 있다. 따라서 enter[i] ^ (i % 2) == serial[i]는 enter[i] == serial[i] ^ (i % 2)임을 알 수 있다.주어진 조건과 특징들을 활용해 코드를 작성..
먼저 주어진 파일을 다운받았지만 딱히 실행되는 파일은 아니었다. 그래서 거의 습관화된 헥사 확인하기로 들어갔다..(사용 프로그램: 010editor) 아스키값을 확인하던 중 flag값으로 보이는 값을 발견했다. SGFja0NURnt3M2xjMG0zXzcwX3IzdjNyNTFuNl93MHJsZEBfQCFfIX0= 값을 그대로 복사해서 제출해봤지만 오답인 것을 확인했다. flag라고 생각했던 값(SGFja0NURnt3M2xjMG0zXzcwX3IzdjNyNTFuNl93MHJsZEBfQCFfIX0=)의 마지막 문자를 보면 '='문자가 있는데 이 문자는 base64로 인코딩하는 과정에서 생성된 문자임을 확인하고 base64 디코딩을 진행했다. 인터넷에서 찾은 base64페이지에서 진행했다. (https://www..