[Dreamhack] 리버싱 rev-basic-3 Writeup
·
Writeup
IDA에 실행파일을 로드해서 흐름을 살펴보면Input: 여기서 인풋을 받고 검증을 통해 correct, wrong을 출력한다 Correct를 출력하는 조건이 뭔지 loc_140001193을 살펴보자 sub_140001000에서 인풋을 비교한다더블클릭해서 들어가니까 수식이 있다 일단 byte_140003000에 hex 값으로 힌트를 찾을 수 있는지 보면  뭔가 hex 값이 있긴 한데 플래그로 보이는 문자는 아닌 것 같다위에 나온 수식이 유일한 해결책인 것 같아서 다시 분석해 보겠음 arr[i] != (i ^ *(unsigned __int8 *)(a1 + i)) + 2 * i hex_value값을 이미 알고 있으니까 역으로 연산하는 식을 구하면 되겠다arr[i] != (i ^ a1[i]) + 2 * iarr..
[Dreamhack] 리버싱 rev-basic-2 Writeup
·
Writeup
IDA Free 프로그램에 실행파일을 로드해서 전체적인 흐름을 살펴보자저번 리버싱 문제들과 마찬가지로 인풋 값에 따라서correct, wrong을 출력해주는 프로그램인것 같다늘 그렇듯이 F5로 디컴파일 먼저 해보자   sub_1400011B0에서 인풋을 받고 sub_140001000에서 값을 비교한다 그럼 sub_140001000에 들어가서 함수를 자세히 보자  for문이 있고 0x12, 10진수로 18번 반복문이 실행되는걸로 봐서플래그가 한번에 나타나는게 아니라 18번에 걸쳐 나타나는것 같다!  IDA-VIEW A에 보니까 글자들이 하나씩 있는게 보인다C o m p 4 r e 어쩌고 뜨는걸 보니 이게 플래그인듯 그런데 Hex view에 들어가도 플래그가 한번에 떠있다 Comp4re_the_arr4y
[Dreamhack] 리버싱 rev-basic-0 rev-basic-1 Writeup
·
Writeup
rev-basic-0  IDA에 실행파일을 로드하고 IDA-VIEW를 살펴보자입력값에 따라 Correct 혹은 Wrong을 출력한다 F5단축키로 디컴파일을 해보자  sub_140001190 함수에서 인풋을 받고 sub_140001000에서 입력값을 비교해서 correct 혹은 wrong을 출력한다 sub_140001000 함수를 더블클릭해서 들어가 보니까  입력값을 Compar3_the_str1ng 라는 값과 비교해서 == 0, 즉 같으면correct를 출력한다  그러므로 답은 Compar3_the_str1ng rev-basic-1 rev-basic-0과 유사한 과정으로 분석을 하면 될 것 같다sub_140001000 함수에 들어가 보면 인풋값을 어떤 값과 비교하는지 알 수 있다  a[i]라는 배열에 1..
[Hackthebox] Dancing Challenges Writeup
·
Writeup
hackthebox에서 제공되는 챌린지 Dancing을 풀어보자pwnbox를 사용하니까 진짜 편하고 좋은 것 같다학생요금제 신청하면 8달러밖에 안 해서 결제할까 생각 중 일단 nmap 스캐닝부터 시작해 보자3개의 포트가 확인되는데 microsoft-ds? 서비스가 445번 tcp 포트에 열려있다 구글링 해보니까 445번 포트는 파일공유를 위한 SMB라고 함  sudo smbclient -L {ip} smb를 다운로드하고 접속하니 4개의 share가 확인된다blank password로 접속할 수 있는 share를 찾아야 하니 하나씩 확인해 보자  smbclient \\\\{ip}\\{share} 예상대로 admin은 실패했고, Workshares라는 share는 접속에 성공했다    Amy.J James...
[Hackthebox] Meow Challenges Writeup
·
Writeup
어제 tryhackme에서 챌린지 문제를 하나 풀고나니까도전정신이 들어서 hackthebox 챌린지 문제를 플어보겠음very easy를 시작으로 언젠가는 medium 문제까지 풀어보자  1. pwnbox를 사용해서 가상머신에 연결하기  2. 연결되고 나면 IP주소가 뜰것이고 이제 문제를 풀 수 있다 vm의 의미는 이미 알고있어서 바로 맞혔다 Task 2 What tool do we use to interact with the operating system in order to issue commands via the command line, such as the one to start our VPN connection? It's also known as a console or shell. powershe..
[Hackthebox] Spookifier Challenges Writeup
·
Writeup
hackthebox ctf에서 출제되었던 웹 챌린지 문제다주어진 IP에 들어가면 이렇게 사용자에게 인풋 텍스트를 받는다  테스트로 hello를 입력해보면 이렇게 4가지 폰트로 변환해준다  인풋 영역에 5+1을 입력해보니 그대로 출력된다인풋을 검증이나 필터링하는 부분이 있는지 소스코드를 살펴보자 routes.pyget 요청에서 전달한 'text' 파라미터를 받아서  spookify 함수로 변환하고index.html에 렌더링하는 함수임을 알 수 있다  spookify 함수를 살펴보면 text를 change_font 함수로 바로 전달하는데사용자가 입력한 텍스트를 검증하는 부분이 전혀 없어 이 점을 이용하면 될 것 같다.  Server-Side Template Injection(SSTI) 취약점: 공격자가 악의..