본문 바로가기

워게임32

[HackCTF] web 5번. guess me 일단 1234를 넣어 제출했더니 아래와 같이 guess를 GET방식으로 보내주는 것을 알 수 있었다. 그리고 if문에서 $guess와 'secret.txt'에서 추출해낸 $secretcode가 동일하다면, flag를 뱉어내는 과정이다. 우리가 눈여겨볼 것은 extract($_GET); 부분이다. extract함수는 취약점을 갖고 있는데, extract 함수 이전 변수 값을 변경할 수 있는 것이다. 또한 $filename 값을 조작함으로써 if($guess === $secretcode) 조건문을 제어할 수 있으므로 $secretcode가 우리가 알 수 있는 값이 나오도록 해야 한다. $filename에 대상에게 없는 파일 목록을 줬을 경우를 생각해내야 한다. 그럼 추출해낼 내용이 없으니 $secretcod.. 2020. 7. 17.
webhacking.kr 17번 문제 풀이 소스에 힌트가 있을까 싶어서 f12를 눌러 소스를 확인했다. 스크립트 부분을 보니, 내가 입력한 value 값과 unlock 값이 동일하면 문제가 풀리는 것 같았다. unlock 변수를 알아내기 위해 콘솔 창에서 unlock 변수를 출력해보자. >> alert(unlock); 입력 unlock 변수는 7809297.0이라고 한다. lock 변수에 넣어서 확인해보자. 풀렸다. 2020. 7. 15.
webhacking.kr 39번 문제 풀이 핵심인 php 부분만 캡쳐해왔다. 먼저 str_replace 함수가 있다. \\는 없는 문자 취급하고, '(싱글쿼터)는 ''(싱글쿼터 2개)로 취급한다. 그리고 POST로 받아온 id값을 0부터 15번째까지 자르고, 그중에서 또 id길이가 14 미만 이어야 한다고 한다. 쿼리문을 자세히 보면 id=' 하고 '(싱글쿼터)가 닫히지 않는 것을 볼 수 있다. 우리는 이 싱글쿼터를 닫아주고, 길이가 14 미만인 id 값을 입력하자. 싱글쿼터를 닫아줘야하므로 15번째에 '를 넣으면 15번째, 16번째 자리가 ''로 치환되지만, 15번째에서 id를 자르기 때문에 결과적으로 싱글쿼터 한 개만 들어가게 된다. 1 ' 를 입력해주었다. 풀었다. (문제풀이용으로 캡쳐하느라 이미 푼 문제라고 뜬것임.) 2020. 7. 15.
[HackCTF] web 3번. Button 버튼으로 하여금 플래그를 출력하게 해 준다... 버튼을.. 플래그로...? value 속성의 값을 flag으로 바꾸고, 변경된 flag 버튼을 클릭하면 플래그가 뜬다. 2020. 7. 12.
[HackCTF] web 2번. hidden 무작정 눌러보았다. id값이 넘어가면서 스크립트가 뜬다. 5번 파일에 플래그가 있다고 하니깐 id=5를 넘겨줘볼까.. 플래그가 나왔다. . . . 조금 어렵게 한번 풀어볼까... 소스를 추가해준다. 5번 버튼이 생겼고, 이제 누르면 똑같이 id=5가 넘어가면서 스크립트에 플래그가 적혀있겠지? 해결! 2020. 7. 12.
[HackCTF] web 1번. / robots.txt가 떠오른다. 들어가 보자. robots.txt에 들어갔더니 /robot_flag/ 에 들어가지 말라고 한다. 들어가야 할 거 같다. 플래그를 찾을 수 있었다. 2020. 7. 12.