728x90 반응형 워게임11 CTF - 워게임 사이트 모음 Web Hacking https://www.root-me.org/?lang=en https://los.rubiya.kr/ https://webhacking.kr/ Pwnable(System Hacking) https://pwnable.kr/ Reversing http://reversing.kr/ Etc https://dreamhack.io/wargame Pentesting Platform https://app.hackthebox.com/ https://tryhackme.com/ 2024. 4. 18. webhacking.kr - old-39 view_source 결과 sqli 방지책 1 $_POST['id'] = str_replace("\\","",$_POST['id']); 열슬래쉬 기호를 사용할 수 없다. 만약 사용할 수 있다면 'abc\''처럼 따옴표를 닫아 우회가 가능해질 것이다. sqli 방지책 2 $_POST['id'] = str_replace("'","''",$_POST['id']); 따옴표 (')를 입력할 시 따옴표가 두 개가 ('') 써진다. $result = mysqli_fetch_array(mysqli_query($db,"select 1 from member where length(id) 2023. 5. 31. TryHackMe - Pickle Rick 개요 미국 인기 애니 릭앤 모티 패러디 CTF 문제이다. 웃기게도 이번 문제에는 스토리가 존재하는데, 피클(?)로 변한 릭이 다시 사람으로 돌아오려면 3가지의 어떤 재료가 필요한데 문제 풀이자인 우리가(작중의 모티가 되어서) CTF 문제를 풀면서 재료들을 찾는 것이 목적이다. Question 1. What is the first ingredient that Rick needs? nmap 명령어로 릭의 컴퓨터에 열려있는 서비스들을 스캐닝하면 다음과 같이 2개가 나온다. (ssh와 http) $ sudo nmap -sS -sV -T4 -p 1-100 10.10.232.99 22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.6 (Ubuntu Linux; protocol 2.0).. 2023. 5. 20. TryHackMe - Simple CTF (2) 6번 질문. 획득한 세부 정보로 어디에서 로그인할 수 있나요? 획득한 계정으로 다른 서비스 어디에 로그인이 가능하냐는 질문 같았다. 우선 알고 있는 계정은 mitch:secret이었으며 웹 서버의 SSH에도 로그인 가능한지 확인해 본다. nmap으로 웹 서버의 ssh 포트 번호를 찾아준다. (result: 2222/tcp) ssh 로그인 단계에서 웹 사이트 관리자인 mitch 계정을 똑같이 입력하니 로그인이 성공했다. 6번 정답은 "ssh" 7번 질문. 사용자의 플래그는 무엇입니까? 찾는 건 간단하다. 쉘에 들어가자마자 ls를 치면 user.txt란 파일이 하나 있는데 그 내용물이 바로 플래그이다. 7번 정답은 "G00d j0b, keep up!" 8번 질문. 홈 디렉터리에 다른 사용자가 있나요? 이름이.. 2023. 3. 18. FTZ - level 9 hint 다음은 /usr/bin/bof의 소스이다. #include #include #include main(){ char buf2[10]; char buf[10]; printf("It can be overflow : "); fgets(buf,40,stdin); if ( strncmp(buf2, "go", 2) == 0 ) { printf("Good Skill!\n"); setreuid( 3010, 3010 ); system("/bin/bash"); } } 이를 이용하여 level10의 권한을 얻어라. 버퍼 오버플로우에 관한 문제이다. fgets 함수로 사용자로부터 최대 40바이트 크기의 입력을 받고 있다. 문제는 buf2와 buf 변수의 사이즈는 10 밖에 안되기 때문에 버퍼가 오버플로우 돼서 프로그램.. 2023. 3. 15. pwnable.kr - fd 문제를 클릭하면 ssh를 접속할 수 있는 명령어가 있으니 복사해서 cmd에서 잘 입력한다. 비밀번호는 (guest) 호스트에 접속을 하고 파일 목록을 확인하였는데 내가 찾고 싶어 하는 flag가 보인다. 하지만 flag는 fd_pwn이라는 유저만 열어볼 수 있게 권한이 설정되어 있었음(현재 내 이름은 fd) 파일들 중에서 fd에는 setuid가 설정이 되어있기 때문에 어드민 권한으로 프로그램을 실행시키는 게 가능하다. 마침 fd의 소스 코드로 보이는 fd.c의 내용물을 살펴본다. fd.c의 내용물을 확인하면 사용자로부터 숫자를 입력 받는데 int fd = atoi( argv[1] ) - 0x1234; 2023. 2. 16. WeChall - Training: Net Ports 현재 페이지에서 42번 포트로 접속을 하라고 한다. 아래에는 현재 내가 접속한 포트 번호가 적혀있으며 이는 매번 새로 고침 할 때마다 바뀔 수 있다. import requests from requests.adapters import HTTPAdapter from requests.packages.urllib3.poolmanager import PoolManager class SourcePortAdapter(HTTPAdapter): """"Transport adapter" that allows us to set the source port.""" def __init__(self, port, *args, **kwargs): self._source_port = port super(SourcePortAdapter.. 2023. 2. 16. webhacking.kr - old-04(Challenge 4) 첫 화면은 어떤 해시값이 써져 있고 아래에는 비밀번호를 제출하는 곳이 있다. [view-source]를 눌러 소스코드를 확인해 본다. if((isset($_SESSION['chall4'])) && ($_POST['key'] == $_SESSION['chall4'])) solve(4); 사용자로 부터 key(비밀번호)를 입력을 받으며, chall4 세션과 일치하면 solve(4)를 실행한다. 제일 중요한 아랫부분을 살펴보면 $hash = rand(10000000,99999999)."salt_for_you"; 10000000~99999999까지의 랜덤의 정수를 가져와서 "salt_for_you"라는 솔트를 합친다. 그래서 이 "랜덤숫자_salt_for_you"는 chall4 세션에 할당한다. for($i=0.. 2023. 2. 15. webhacking.kr - old-20(Challenge 20) 2초 안에 닉네임, 코멘트, 캡챠 폼을 채우고 보내지 않으면 "Too Slow..."라는 페이지가 나오면서 다시 입력 페이지로 리다이렉션 된다. (function() { 'use strict'; document.querySelector("[name='id']").value="test"; document.querySelector("[name='cmt']").value="hello!"; lv5frm.captcha.value = lv5frm.captcha_.value; ck(); })(); 나 같은 경우는 브라우저 확장 도구를 통해서 해당 페이지에 접속하면 알아서 스크립트가 실행되게 만들었다. 그랬더니 페이지에 들어가면 순식간에 입력 후 제출이 되면서 해결이 되었다. 2023. 2. 15. webhacking.kr - old-11(Challenge 11) view-source view-source 사용자로부터 val이라는 이름의 GET 파라미터를 입력받는다, 만약에 아래의 정규표현식에 참의 결과가 나오면 정답처리 /[1-3][a-f]{5}_.*$_SERVER[REMOTE_ADDR].*\tp\ta\ts\ts/ $_SERVER[REMOTE_ADDR]는 접속자의 아이피를 가져오기 때문에 아이피 확인 사이트(https://ip.pe.kr/ )에서 자신의 주소를 찾고, 나머지 정규표현식들이 만족하게끔 값을 추가하면 된다. 아래의 연습 사이트에서 정규표현식 조건을 넣어서 직접 확인해 보았다. https://regexr.com/ RegExr: Learn, Build, & Test RegEx RegExr is an online tool to learn, build, &.. 2023. 2. 15. TryHackMe - Simple CTF (1) 1번 질문. 1000번 포트 아래에서 실행 중인 서비스는 모두 몇 개입니까? sudo nmap -sS -sV -T4 -p 1-1000 Nmap 명령어로 1~1000 포트에서 실행되는 서비스를 스캔해 본다. 21/tcp (FTP) 80/tcp (HTTP) 이렇게 두 개가 나왔으므로 정답으로 "2"를 입력 2번 질문. 상위 포트에서 실행되는 것은 무엇입니까? 높은 포트번호에서 실행되고 있는 서비스를 묻는다. 방금은 1000까지 스캐닝을 해주었으니 1001부터 이번엔 3000까지 스캔 sudo nmap -sS -sV -T4 -p 1001-3000 2222/tcp (SSH) 그랬더니 2222번 포트로 운영 중인 OpenSSH가 발견 정답으로 "ssh"를 입력 3번 질문. 애플리케이션에 대해 사용 중인 CVE는 .. 2023. 2. 14. 이전 1 다음 728x90 반응형