본문 바로가기

Wargame Write-Up/HackCTF69

[HackCTF] (Web) Home 풀이 ....... 블로그작성중 프록시를 안꺼서 새로고침이 되버려서 조금 모자란 부분이 있을 수 있습니다. 내 아이피를 필터링한다. 그렇다면 ip를 루프백아이피로 조작하면 풀릴것 같다. [ 루프백 아이피 ] 루프백 아이피 : 127.0.0.1 자신의컴퓨터를 의미하는 가상주소이다. [ Ping ] 자신의 컴퓨터에 패킷을 보내기때문에 정상적으로 동작한다. 로컬컴퓨터를 원격컴퓨터처럼 이용할수 있기때문에 네트워크테스트 용도로 사용된다. (참고) https://m.blog.naver.com/PostView.nhn?blogId=dktmrorl&logNo=220293911717&proxyReferer=https%3A%2F%2Fwww.google.com%2F [IT상식] Loopback IP(127.0.0.1) "루프백 아.. 2020. 3. 13.
[HackCTF] (Web) Input Check 풀이 문제접속화면이다. flag 명령어를 입력하라 한다. 입력했다. ;;; 아무거나쳐도 이렇게나오니 소스를 봐야겠다. Input Check Do you want a flag? Input Command "flag" here OK get 으로 text를 입력받고있고, Input Command Check 는 배열이라고한다. strcmp 로 비교하는걸 추측할 수 있다! $a=get['text'] if(strcmp("flag",$a)==0) 다음과 같은 예시코드를 작성해봤다. strcmp에서 문자열과 배열을 비교시 NULL을 반환한다. NULL == 0 으로 느슨한 비교를할떄 True 가 반환된다. 따라서 우리는 ?text[0]=flag 로 값을 넘겨줌으로써 FLAG 를 확인할 수 있다 2020. 3. 13.
[HackCTF] (Pwnable) 내 버퍼가 흘러넘친다! 풀이 main 함수다! Name 과 Input 을 입력받는데, Name -> read함수로 0x32 만큼, Input -> gets함수로 입력을 받는다. 그렇다면 gets 함수에서 입력을 받을때 BOF(Buffer Over Flow) 가 발생할 수 있다. gets 로 입력을 받을때, return주소까지 값을 채워넣어 return 주소에 shell code 를 작성해 넣자. checksec 로 확인해보면 아무런 메모리보호기법이 적용되어있지 않다. 그렇다면 이제 payload 를 작성해보자. 쉘코드 주소 정하기 return 주소 구하기 쉘코드 짜기 exploit 코드 짜기 (python) [ 1 ] 쉘코드의 주소는 전역변수인 name 으로 정했다! [ 2 ] [ ebp ] [ ret address ] main 함.. 2020. 3. 11.
[HackCTF] (Misc) 달라란침공 풀이 접속하면 덧셈뺄셈으로 침공을 할수가있다. 하지만 이걸 몇번이나 하는지는 모르겠다. 나눗셈도 있는걸 보니 곰셈도 있을것 같다. 1스테이지는 덧셈뺄셈, 2스테이지는 나눗셈곱셈, 3스테이지는 사칙연산인 것 같다. 시간제약은 없으나, 직접하면 날이 새기때문에 pwntools를 이용해 소스를 짜주자 [python] from pwn import * p=remote("ctf.j0n9hyun.xyz",9003) def four(a,b,c): if c=='+': return a+b if c=='-': return a-b if c=='*': return a*b if c=='/': return a/b def stage(a,n): print p.recvuntil("input )") p.sendline(str(a)) for i.. 2020. 3. 11.