본문 바로가기

2019/06

(16)
HackCTF - Web - 보물 풀이 들어가니 왠 상자와 버튼 3개가 보이고 어딘가에 숨겨뒀다고 한다. 우선 아무 버튼이나 눌러보니 왠 랜덤한 해쉬로 보이는 값들이 나온다. 이걸 일일히 해볼순 없으니 파이썬 requests를 이용하여 간단하게 코드를 작성해 풀었다. 한번쓰고 더이상 안쓸코드라 대충 짰다. 1 2 3 4 5 6 7 8 9 10 11 12 13 import requests URL = "http://ctf.j0n9hyun.xyz:2025/?page=" Init = "http://ctf.j0n9hyun.xyz:2025/?page=" count = 0 while 1: URL += str(count) response = requests.get(URL) if 'HackCTF{' in response.text: print(response...
HackCTF - Web - Hash 풀이 이 문제를 들어가면 왠 부트스트랩으로 만든 삘이 나는 사이트가 나타난다. 아무 값이나 넣고 OK를 누르면 코드가 나온다 코드를 분석해보자. 1 2 3 4 5 6 7 8 9 10 11 12 Colored by Color Scripter cs 240610708을 md5로 암호화한 값과 비교했을 때 같으면 플래그를 출력해준다 한다. 따라서 우리는 240610708를 md5로 암호화한 값인 0e462097431906509019562988736854를 입력해주자. 입력하고 OK 버튼을 누르면 플래그가 나오게 된다.
HackCTF - Web - Button 풀이 버튼을 눌러서 플래그를 출력하라 한다. 근데 눌러도 아무런 반응이 없다. 이 때 의심해볼 수 있는것은 버튼에 부여된 value값. button을 우리가 원하는 flag로 바꿔보자. 그리고 눌러보니 답이 나왔다.
HackCTF - Web - Hidden 풀이 들어가면 버튼은 1~4까지 있는데 5번에 플래그가 있다고 한다. 뭐 하나만 눌러보자. "Nop" 위의 alert를 띄울 때 확인할 수 있는 id 파라메터... 뭔가 바꾸고 싶게 생겼다. 장난삼아 5번으로 바꾸고 들어가보자. 플래그가 나온다.
HackCTF - Web - Authorized 풀이 문제 페이지에 들어가자마자 권한이 없다고 한다. 웹해커들의 종특? 일단 코드를 본다. 예상대로 힌트를 얻었다. 내 Auth Type이 False라는것이다. 이때 문득 떠오른 한 가지 방법 그냥 GET으로 Auth = True를 보내보면 어떨까? 쨘. 이렇게 풀리게 된다. (솔직히 이게 진짜 될줄은 상상도 못했다)
HackCTF - Web - Hidden Flag 풀이 문제 페이지를 들어가면 로봇이 반겨준다. 로봇? 로봇???!!! robots.txt??? 라고 생각해서 robots.txt를 열어보았다. 게싱이 적중했다. robots.txt가 존재했고, robot_flag라는 디렉토리를 Disallow해놓은것으로 보아 이곳에 플래그가 있는 것 같다. 예상대로 robot_flag라는 디렉토리에 들어갔더니 플래그가 나왔다.
wargame.kr md5_compare 풀이 오늘은 md5_compare문제를 풀어보려고 한다. 문제에 들어가니 다음과 같은 폼이 기다리고 있다. view-source라고 되어있는 링크를 눌러 코드를 분석해보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Colored by Color Scripter cs ctype_alpha는 값이 모두 알파벳일떄 true를 리턴해주는 함수이고, is_numeric은 값이 숫자일때 true를 리턴해주는 함수이다. 따라서 우리는 VALUE 1에는 알파벳을, VALUE 2에는 숫자를 입력해주어야 하고, 그 두 값의 md5의 해시가 같아야 플래그가 나온다는 사실을 알 수 있다. md5 해시를 어떻게 같게할 수 있을까? 불가능하다. 그런데 여기서..
webhacking.kr 11번 문제 풀이 오늘은 그동안 못했던 웹해킹을 다시 해보려고 한다. 간단하게 11번으로 시작해보자. 문제에 들어가면 다음과 같은 창이 반겨준다. GET을 통해 val을 받는다는데 html이라고 적혀있어서 당황했으나, 잘 확인해보니 이 페이지가 PHP로 구동되고 있다는 사실을 알 수 있었다. 주어진 PHP 코드를 분석해보자. 1 2 3 4 Colored by Color Scripter cs pat이라는 변수에 조건이 있고, GET을 통해 받은 val을 비교하여 값이 같으면 풀리는것 같다. pat의 조건은 다음과 같이 정리할 수 있다. 코드 역할 충족할 값 [1-3] 1~3에서 1개를 선택합니다. 1 [a-f]{5}_ a~f에서 5개를 선택합니다. abcde .*172.0.0.1.* .*172.0.0.1.* \tp\ta\t..