반응형

분류 전체보기 712

[Affinity CTF] sooodefault - 웹해킹 / Python

아주 간단한 웹해킹 문제 풀이 자체는 간단한데 시작점을 찾는게 조금 어려울 수 있는 문제였다. 엄밀히 말하면 해킹이라고 보기도 어려운 문제다. 문제 파일은 따로 제공되지 않고 문제페이지 주소만 제공된다. 해당 페이지에 접속해보면 Apache2 Ubuntu Default Page 인 It works! 페이지가 나온다. 이건 사용자가 만든게 아니라 Ubuntu 리눅스에 Apache 를 설치하면 기본으로 있는 페이지이다. 아무리 찾아봐도 이 페이지 외에 다른 페이지를 찾을 수 없었고, 이 페이지에서 뭔가를 찾아서 해결해야 하는듯 했다. wget 명령어를 이용해 해당 페이지의 html 코드를 다운로드 받아봤다. wget 형태로 리눅스 터미널에 입력하면 된다. index.html 의 내용을 천천히 보다보니 특이한..

CTF/웹해킹 2022.12.27

[CTFlearn] GandalfTheWise - 포렌식 / HxD / Base64 / XOR

CTFlearn 의 마흔아홉번째 문제 이번에도 익순한 포렌식 카테고리의 jpg 파일 문제이다. 그래도 이번 문제는 조금 생각이 필요하다. https://hackingstudypad.tistory.com/266 https://hackingstudypad.tistory.com/288 https://hackingstudypad.tistory.com/305 https://hackingstudypad.tistory.com/311 https://hackingstudypad.tistory.com/338 조금씩 다르긴 하지만 이전에 비슷한 문제를 많이 풀이했었다. 이번 문제에서 주어지는 Gandalf.jpg 파일이다. 간달프 할아버지와 함께 멋진 문구가 적혀있다. 주어진 Gandalf.jpg 파일을 HxD 라는 도구를..

워게임/CTFlearn 2022.12.26

[Layer7 CTF] zipzipzipzipzip - MISC / Shell script

zip 파일과 관련된 MISC 카테고리의 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제 제목이 문제를 가장 잘 설명하고 있다. CTF에서도 종종 보이는 유형이다. 문제에서 layer1000.zip 파일이 제공된다. 해당 파일의 압축을 풀면 layer999.zip 파일이 나오고 또 압축을 풀면 layer998.zip 파일이 나온다. 숫자가 줄어드는걸 보니.. layer1.zip 또는 layer0.zip 까지 가야 플래그를 찾을 수 있는듯 하다. 사실 이번 문제는 zip 파일에 별로도 암호 같은게 걸려있지 않기 때문에 Linux 에서 Shell script 를 사용하면 아주 쉽고 빠르게 풀 수 있다. while true; do unzip $(ls *.zi..

CTF/MISC 2022.12.25

[CTFlearn] What could this be? - MISC / 자바스크립트

CTFlearn의 마흔여덟번째 문제 이번 문제는 MISC 카테고리의 문제이다. MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 뭔가 MISC 치고는 점수가 높은데다 Medium 난이도의 문제라 살짝 쫄았다. 문제에서 제공되는 주소로 접속하면 what_can_this_be.txt 파일을 다운로드 받을 수 있다. 해당 파일을 열어보면 이런 내용이 들어있다.. 괄호와 대괄호, 더하기와 느낌표로 이루어진 엄청나게 긴 내용이다. 사람이 인지할 수 있는 알파벳이나 숫자는 전혀 없이 이렇게만 나와있다. 이걸 어떻게 풀어야 하나 고민하다가 예전에 어떤 CTF에서 Javascript 를 이런식으로 난독화 하는걸 본 적이 있는것 같아 일단 시도해보기로 했다. 크롬에서 새 탭을 연 ..

워게임/CTFlearn 2022.12.24

[Root Me] XSS DOM Based - Introduction - 웹해킹 / 크로스사이트스크립트

Root Me에서 제공하는 크로스 사이트 스크립트 문제 이전에 포스팅 했던 문제들과 비슷한 맥락이다. (https://hackingstudypad.tistory.com/48) (https://hackingstudypad.tistory.com/297) (https://hackingstudypad.tistory.com/334) 지난 문제들 풀이를 보면 조금 이해하기 쉽다. 문제설명을 읽어보면 이번 문제의 목표 역시 admin 의 session cookie 값을 훔치는 것이다. 문제페이지에 접속하면 보이는 화면이다. Main 과 Contact 버튼이 있고, 아래는 숫자를 입력할 수 있는 칸이 있다. Choose a number between 0 and 100 이라고 적혀있는데 77이라고 테스트삼아 입력해보고 ..

워게임/Root Me 2022.12.23

[CTFlearn] RSA Beginner - 암호학 / Python

CTFlearn의 마흔 일곱번째 문제 이번엔 RSA 알고리즘과 관련된 암호학 문제이다. Beginner 라 그런지 이전에 포스팅 했던 문제들이랑 비슷하게 쉽게 풀 수 있다. (https://hackingstudypad.tistory.com/337) RSA는 지금까지도 아주 많이 사용하는 공개키 알고리즘의 이름이다. 개발자인 Rivest, Shamir, Adleman 세명의 이름 앞글자를 따서 RSA 라고 이름을 붙혔다. 엄청나게 큰 숫자일수록 소인수분해가 어렵다는것에 착안해서 설계되었다. RSA의 원리는 아래와 같다. 1. 두 소수 p, q를 준비한다. 2. p-1, q-1과 각각 서로소(1외에는 공약수가 없는 수)인 정수 e를 준비한다. 3. ed를 (p-1)(q-1)으로 나눈 나머지가 1의 되도록 하..

워게임/CTFlearn 2022.12.22

[Cyber Security Rumble] Hashfun - 암호학 / XOR / Python

Hash 인듯 Hash 아닌 문제 조금 헷갈렸는데 어렵지 않게 풀 수 있었다. 문제를 보면 FLAG 를 되돌릴 수 있는 방법은 없을거 같다면서 파일을 하나 제공한다. from secret import FLAG def hashfun(msg): digest = [] for i in range(len(msg) - 4): digest.append(ord(msg[i]) ^ ord(msg[i + 4])) return digest print(hashfun(FLAG)) # [10, 30, 31, 62, 27, 9, 4, 0, 1, 1, 4, 4, 7, 13, 8, 12, 21, 28, 12, 6, 60] 주어진 파일의 내용은 파이썬 코드이다. secret 에서 FLAG 라는 값을 가져와서 hashfun(FLAG) 의 ..

CTF/암호학 2022.12.21

[HackTheBox] Canvas - MISC / Javascript Deofuscator

자바스크립트 난독화와 관련된 MISC 카테고리의 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제파일로 Canvas.zip 파일이 주어진다. 압축을 풀면 위에 보이는 네 개의 파일/폴더가 나온다. index.html 파일을 열어보면 이렇게 로그인 창이 하나 뜬다. 정황상 비밀번호를 알아내거나 로그인을 우회해야 할 듯 하다. F12를 눌러 개발자도구에서 HTML코드를 보니 로그인 버튼을 누르면 validate() 함수가 실행된다는 것을 알았다. 위쪽에 script 태그로 js/login.js 에서 스크립트가 실행되도록 해놓았으니 login.js 파일을 살펴본다. login.js 파일을 봤더니 난독화가 되어있었다. 길어서 캡쳐가 짤렸는데, 자바스크립트 길이가..

[Cyber Security Rumble] Cyberwall - 웹해킹 / Command Injection

아주 전형적인 Command Injection 문제 아주 똑같은 문제들을 이전에 블로그에서도 다룬적이 있었다. (https://hackingstudypad.tistory.com/74) (https://hackingstudypad.tistory.com/256) 회사에서 방화벽 시스템을 구축했다면서 방화벽의 웹 인터페이스 접속 주소를 제공하고 있다. 해당 페이지로 접속하면 비밀번호를 입력하는 창이 하나 나오는데 F12를 눌러 개발자도구를 이용 비밀번호 입력창 부분의 소스를 확인해본 결과 비밀번호가 하드코딩 되어있는것을 발견했다. 알아낸 비밀번호는 rootpw1337 이다. 비밀번호를 입력해서 접속하면 Debugging 페이지가 나오는데, 여기 익숙한 UI가 보인다. IP 주소를 입력할 수 있는 칸이 있고, ..

CTF/웹해킹 2022.12.19

[CTFlearn] PDF by fdpumyp - 포렌식 / HxD / Base64

CTFlearn의 마흔여섯번째 문제 이번엔 PDF 파일을 이용한 간단한 포렌식 문제이다. 문제 설명을 읽어보면 external drive 의 password 를 찾는게 목적인듯 하다. 문제 푸는데 크게 중요한건 아니지만 제목에 있는 fdpumyp 가 뭔지 알아봤더니 PyMuPDF 를 거꾸로 쓴 것이었다. PyMuPDF 는 PDF 페이지의 일부를 선택해서 이미지 하 할 수 있는 파이썬 라이브러리라고 한다. 아마 제작자가 문제 만드는데 이용한듯 하다. 문제에서 주어지는 dontopen.pdf 파일을 열어보면 이런 내용이다. 한장 짜리 pdf 파일에 CAN'T TOUCH THIS 라고 적혀있다. 눈에 보이는 특이한점은 없으니 HxD를 이용해 파일을 열어본다. 위쪽에는 특이한 점이 없고, 맨 아래쪽으로 내려봤더..

워게임/CTFlearn 2022.12.18
반응형