반응형

웹해킹 109

[2022 화이트햇 콘테스트 본선] F-1- 웹해킹 / Python / YAML Command Injection

2022 화이트햇 콘테스트 본선에 출제되었던 문제 이전 E-5 문제와 이어지는 문제이다. (https://hackingstudypad.tistory.com/720) F-1 문제에서는 D-2의 악성코드와 통신하는 서버에 취약점을 찾아 공격하고 플래그를 획득하는 것이 목표이다. D-2 문제의 악성코드는 http://15.165.18.103/gmae 에서 다운받은 dd.exe 인데 무력화환 도구들을 실행시켰을 때 dd.exe 가 대신 실행되도록 하는것이었다. dd.exe 가 실행되면 3.39.253.212 목적지로 어떤 값을 보내는데 그 값이 형태가 YAML 형식이었다. 또한 서버의 응답 헤더를 확인해 봤을때 Python 을 이용해 구동중인 것을 확인했다. 이 부분은 문제푸는데 정신이 없어서 캡쳐를 제대로 하..

CTF/웹해킹 2024.04.10

[SuNiNaTaS] Challenge7 - 웹해킹 / Javascript

SuNiNaTaS 에서 제공하는 일곱번째 문제 웹해킹 문제이다. 문제페이지에 접속하면 가수 아이유님 사진과 함께 Do U Like girls? 라는 입력창이 보인다. 스크롤을 중간까지 내려보면 YES 라고 적힌 버튼이 있는데 이걸 눌러보면 너무 느리다는 알림창이 뜬다. F12를 눌러 개발자도구에서 소스를 보면 주석으로 더 빨리 하라는 힌트가 적혀있다. 저 버튼을 빠르게 눌러야 하나보다. 자바스크립트를 보면 F5나 탭(9) 또는 컨트롤 키와 함께 누르는 N, R 같은 건 못누르게 되어있다. 보이는것처럼 F5를 누르면 NO!라는 알림메세지가 뜬다. YES 버튼을 누르면 frm 폼이 post 메소드로 submit 되는데 문제를 해결하려면 이걸 빠르게 submit 시켜주면 된다. 개발자 도구의 콘솔 탭에서 fr..

워게임/SuNiNaTaS 2024.03.01

[SuNiNaTaS] Challenge6 - 웹해킹 / SQL Injection

SuNiNaTaS 에서 제공하는 여섯번째 문제 웹해킹 문제이다. 문제페이지에 들어가면 이런 간단한 게시판이 나온다. 첫번째 게시글인 Hint를 열어봤는데 suninatas 의 게시글을 읽으면 된다고 한다. 그래서 3번 게시글은 README를 읽으려고 봤더니 비밀번호가 걸려있는지 위와 같은 팝업이 떴다. 아래쪽에는 친절하게 비밀번호 조회하는 쿼리까지 남겨두었다. SQL 인젝션 문제라고 생각하고 가장 간단하게 ' or 1=1-- - 해봤는데 NO! hacking! 이라는 팝업이 떴다 몇번 더 시도해봤더니 = 이나 -, # 같은 특수문자에 필터링이 걸려있는듯 했다. ' 이나 or 같은 단어는 필터링이 걸려있지 않은것으로 보였다. = 를 대신할 수 있는 like 를 이용해서 위와 같이 쿼리를 날려주면 게시글의 ..

워게임/SuNiNaTaS 2024.02.24

[SuNiNaTaS] Challenge5 - 웹해킹 / Javascript

SuNiNaTaS 에서 제공하는 다섯번째 문제 웹해킹 문제이다. 문제페이지에 들어가면 이런 화면이 나온다. 뭔가 키값을 맞춰야 하는듯 하다. F12를 눌러 개발자도구를 확인해 봤다. eval 로 난독화된 자바스크립트 코드와 주석처리된 힌트가 보였다. 일단 난독화를 풀어봤다. https://lelinhtinh.github.io/de4js/ de4js JavaScript Deobfuscator and Unpacker lelinhtinh.github.io 난독화는 위 사이트에서 풀 수 있다. eval 코드를 복사 붙혀넣기 하면 이렇게 난독화가 해제된 자바스크립트를 확인할 수 있다. 그렇게 복잡해 보이지는 않는 코드인데 살짝 헷갈린다. 이럴땐 그냥 실행시켜 보면 된다. 개발자 도구의 콘솔 탭으로 가서 자바스크립..

워게임/SuNiNaTaS 2024.02.18

[SuNiNaTaS] Challenge4 - 웹해킹 / 헤더변조

SuNiNaTaS 에서 제공하는 네번째 문제 웹해킹 문제이다. 문제 페이지에 접속하면 이런 화면이 나온다. 포인트가 적혀있는 상자가 하나있고 아래쪽엔 User-Agent 라고 적혀있다. 아무래도 http request 헤더 중 하나인 User-Agent 의 값을 바꿔야 하나보다. F12를 눌러 개발자도구를 확인해보니 힌트가 있었다. 포인트를 50으로 만들고 User-Agent 값을 SuNiNaTaS 로 바꾸면 되는듯 하다. User-Agent는 버프스위트 같은 도구로 바꿀수도 있지만 크롬 확장프로그램을 이용해도 된다. ModHeader 라는 프로그램을 사용하면 된다. 설치도 아주 간단하다. 설치하면 크롬 맨 위에 아이콘이 생기는데 그걸 열어서 이렇게 원하는 값으로 적어주면 된다. User-Agent 값을..

워게임/SuNiNaTaS 2024.02.12

[SuNiNaTaS] Challenge3 - 웹해킹

SuNiNaTaS 에서 제공하는 세번째 문제 웹해킹 문제이다. 문제 페이지에 들어가면 이런 그림이 나온다. Write articles in Notice Board 라고 적혀있는데 처음엔 이 페이지 안에서 해결하는 줄 알고 한참 찾았었다. 알고보니 Suninatas 홈페이지의 진짜 공지사항 게시판에 글을 쓰라는 것이었다. 당연하게 공지사항 게시판은 일반 유저가 글쓸 수 있는 권한은 없다. 뭔가 취약점을 찾아야 하는데 힌트를 얻기위해 자유게시판으로 가봤다. 여기엔 Write 버튼이 있다. 버튼을 누르면 /borad/free/write 경로로 이동된다. 그럼 notice 도 똑같은 구조일거라 생각했다. 공지사항 페이지에서 URL 뒤에 write 를 붙혀적으면 공지사항을 작성할 수 있게 된다. 아무 글이나 작성..

워게임/SuNiNaTaS 2024.02.09

[SuNiNaTaS] Challenge2 - 웹해킹 / Javascript

SuNiNaTaS 에서 제공하는 두번째 문제 이젠 정말 웹해킹 스러운 문제이다. 문제페이지에 접속하면 이런 화면이 나온다. 시험삼아 admin / admin 이라고 입력해 봤는데 틀렸다는 알람창이 뜬다. F12를 눌러 개발자도구를 확인해 봤다. 사용자가 입력한 ID 와 PW는 각각 id 와 pw에 저장이 되고, 만약 id와 pw가 똑같은 값일 경우 방금 봤던 알람창이 뜨는 것이었다. 그리고 나서 id 와 pw 값을 초기화 해버리는데 만약 여기서 초기화 시키지 않고 else 에 있는 submit() 이 실행되면 다른 결과가 나올 것 같았다. 아까처럼 동일하게 admin / admin 을 입력해주고 개발자 도구의 콘솔 탭에서 document.web02.submit(); 이라고 쳐주면 플래그를 찾을 수 있다.

워게임/SuNiNaTaS 2024.02.03

[SuNiNaTaS] Challenge1 - 웹해킹 / Python

SuNiNaTaS 에서 제공하는 문제 첫번째 문제이다. 웹해킹으로 분류되어있긴 한데 딱히 웹해킹으로만 볼 수 있는 문제는 아니다. 문제페이지에 들어가면 이런 화면이 나온다. 사용자의 입력을 받아서 그 값을 str에 넣고, str에 들어있는 값을 이리저리 바꿔서 result 에 저장하는데 최종적으로 저장된 값이 admin 일 경우에 플래그를 얻을 수 있는듯 하다. 결국 어떤 값을 넣어야 저런 연산을 했을 때 admin 이라는 값이 나오냐는 것이다. str_input = input("Enter a string: ") if str_input: result = str_input.replace("a", "aad").replace("i", "in") result1 = result[1:3] result2 = resu..

워게임/SuNiNaTaS 2024.01.28

[247CTF] FORGOTTEN FILE POINTER - 웹해킹 / PHP / LFI

247CTF 에서 제공하는 MODERATE 난이도의 WEB 문제 문제 페이지에 접속하면 이런 화면이 나온다. PHP 코드가 보여지는데 내용을 보면 /tmp/flag.txt 파일에 플래그가 있다는것을 알 수 있다. GET 메소드로 include 파라미터가 있어야하고, include 인자의 길이가 10 이하여야 include 함수로 서버 내부 파일을 읽어올 수 있는듯 하다. 10글자 길이제한이 없다면 단순히 URL 에 ?include=/tmp/flag.txt 를 추가하면 되겠지만 10글자 제한 때문에 안된다. https://bugs.php.net/bug.php?id=53465 PHP :: Bug #53465 :: Cannot open file descriptor streams bugs.php.net 조금 찾..

워게임/247CTF 2023.10.16

[CODEGATE2022] CAFE(동영상) - 웹해킹 / XSS / CLOVA Dubbing

코드게이트 대회 이후 진행된 코드게이트 해킹 시연 동영상 공모전에 제출했던 동영상이다. 결론적으로 수상은 못했지만 만들어놨는데 묵혀두기 아까워서 블로그에 업로드한다. 해킹 시연 동영상 주제를 뭘로 할까 생각하다가 공모전 문구에 있는 '특히 초급 영상을 환영합니다' 라는 부분을 보고 CODEGATE2022 웹해킹 1번 문제였던 CAFE 의 풀이과정을 동영상으로 만들어 보면 어떨까 싶었다. https://clovadubbing.naver.com/ 클로바더빙 동영상에 보이스를 더하다. 원하는 문장을 입력만 하면 생생한 AI 더빙이 뚝딱. clovadubbing.naver.com 더빙은 어떻게 해야하나 찾아보다가 네이버에 클로바 더빙이라는 좋은 서비스가 있어서 해당 서비스를 이용해 더빙을 만들어 제작했다. 최대..

CTF/웹해킹 2023.09.25
반응형