SECCON CTF 2019 弐 (server2) writeup

1873 단어 CTFwriteup

문제 내용


  • 서버에는 이미지 X가 있습니다. X는 참가자에게 공개되지 않는다.
  • 640×400의 알파 채널을 포함하지 않는 PNG 화상을 서버에 POST하면, 어느 알고리즘에 의해 X와 비교되어 인식률(유사도)이 되돌아온다. 알고리즘은 참가자에게 공개되지 않습니다.
  • 4시간마다 Stage가 진행되어 알고리즘의 파라미터가 변경된다. 파라미터는 엄격하게 결정되는 방향으로 변경됩니다.
  • 인식률이 50%를 초과하는 이미지를 POST하면 Attack Flag 1을 얻을 수 있다.
  • 인식률이 60%를 초과하는 이미지를 POST하면 Attack Flag 2를 얻을 수 있다.
  • 인식률이 70%를 초과하는 이미지를 POST하면 Attack Flag 3을 얻을 수 있다.
  • 인식률이 45%를 초과하는 이미지 중 가장 인식률이 높은 이미지를 POST한 팀에 Defence Point가 부여된다.
  • 알고리즘을 추측하고 인식률이 높은 이미지를 POST하라.

  • Stage1



    나는 전년 대회에 나온 것은 아니었지만, 사전의 정보 수집으로 SECCON 2018 국제 결승 Writeup - 안녕하세요 - 안녕하세요 -을 읽고 있었기 때문에, 전년 대회에서도 비슷한 문제가 나오고 있는 것을 알고 있었다.
    그래서 위 기사를 참고로 (40,40,40) 단색 화상을 던져 보았는데 최고 인식률 89.85%를 기록했다.
    그 후, 수동으로 여러가지 시험했지만, 무엇을 해도 반대로 인식률이 저하되는 결과가 되어, 단색 화상이 제일 좋다고 하는 결론에 이르렀다.

    Stage2



    단색 화상의 인식률이 저하되었기 때문에, 수동으로 여러가지 시험을 재개했다. 최고 인식률은 아래 이미지에서 50.525%.


    Stage3



    Stage1, 2에서 여러가지 시도한 지견을 바탕으로, 화상을 어느 정도의 크기의 매스로 나누어, 어느 매스에 색을 붙여 보고, 인식률이 상승하면 색을 붙인 채로 해, 하강하면 색을 취소한다고 한다 정책을 세우고 자동화했다. 그러나 경기 종료까지 인식률 45%에는 도달하지 않았다. 최고 인식률은 아래 이미지에서 21.275%.


    기타



  • ptr-yudai씨은 이 문제가 전년 대회의 사용회수라고 지적하고 있다. 다만, 위에서 링크한 기사와 이 기사를 읽어 비교하면 알 수 있듯이, 똑같은 것은 아니다.
  • 좋은 웹페이지 즐겨찾기