본문 바로가기

전체 글263

[HackCTF] (Web) Guess me 문제풀이 guess me 들어갔을때에 소스코드다. secret.txt 에서 secretcode를 불러와 맞으면 flag를 출력한다. [extract] extract : php에서 배열의 키값을 변수화해주는함수 $_GET 는 딕셔너리형태로 key:value 형태로 값이 들어가는데 키값을 변수화한다는건 key값인 guess를 php내부에서 $guess로 변수처럼 사용할수있다. extract함수에는 extract함수를 사용하기전에 이미 정의된 변수들을 overwrite할수있는 취약점이있다. 이를 이용해 우리는 extract함수 사용하기전에 정의된 filename 변수를 조작할수있다. [문제풀이] filename을 조작해 없는파일을 열어 읽게만들면 $secretcode에는 아무내용도 없을것이다. 그럼 guess에도 아무.. 2020. 3. 2.
[HackCTF] (Web) 보물 문제풀이 문제 사이트 접속 후 1번을 눌러보았다. 암호화된것같은 문자열이 뜨지만, 설명을 보면 페이지숫자들중 하나엔 보물을 숨겨놨다하는걸 보면 숫자들중 flag가 있을것같다. 하지만 1,2,3 번에는 없었다. GET 형식으로 값을 보내주기때문에 여기에없는 값인 4번을 보내보겠다. 4번에도 이상한 문자열이있다. 그래서 숫자가 어디까지있나 궁금해 숫자를 점점 늘려가봤다. 하지만 1억이 넘어가도 문자열은 계속 출력된다..... 적당히 50000정도로 값을 잡아서 파이썬으로 돌려보았다. [Python] 고맙게도 페이지에있는 이상한 문자열의 길이는 모두 같은것같으니, requests로 html을 얻어와서 페이지소스길이를 비교하는코드를 짜면 되겟다. 1 2 3 4 5 6 7 8 9 10 11 12 13 import requ.. 2020. 3. 2.
[HackCTF] (Web) button 문제풀이 문제접속화면이다. 버튼을 눌러도 아무런반응이없고 URL도 변하지않는걸 봐서는 button 이 POST형식으로 값을 전달하는걸 유추할수있다. 역시나 POST형식으로 button이란값을 전달하는걸 볼수있다. value가 flag가 된다면 문제가 풀릴것같다. burp suite를 이용할수도있지만 간단하게 개발자도구에서 value 를 flag로 바꿔서 버튼을 누르면 flag가 나온다. 2020. 3. 2.
[HackCTF] (Web) hidden 문제풀이 문제 페이지에 접속해보면 다음과같이 뜬다. 1번 2번 3번 4번 다 눌러봐도 아래처럼 Nop 만 뜬다는걸 알수있다. 하지만 주소를 자세히 본다면 ?id=(번호) 로 Get형식으로 값을 전달한다는것을 알수있다. 그렇다면 ?id=5 로 5번파일에 접근을하면 플래그를 볼수있다. 2020. 3. 2.