1. File upload (NULL byte)
Your goal is to hack this photo gallery by uploading PHP code.
: 이것도 동일하게 갤러리에 파일을 업로드 하는 문제이다. null byte를 포함시켜야 되는 것 같아서
: 그리구 저번에 했던 것처럼 content type을 image/jpeg로 바꿔 넣었지만, wrong extension이라고 떴다. 확장자를 다 검사하는 듯.
그래서 그냥 간단히 attack.php%00.jpeg로 집어 넣어보았다. 성공했다. 어차피 맨 오른쪽 확장자 표시만 확장자로 인식하는 듯 하다. %00바이트로 일단 뒷 내용은 잘리면서 php 파일로 제대로 인식되는 원리인것 같다.
2. PHP- assert()
: Find and exploit the vulnerability to read the file .passwd.
파라미터가 있고 그 뒤에 파일 이름을 받는 것으로 보아 LFI 취약점인 것 같다. 실제로 include되지 않았다는 등 오류 메세지가 그대로 보이는 취약점이 발생한다.
아마 true와 false를 반환하는 assert()함수를 사용하는 것 같다. 일단 정석적인 방법대로 ../를 계속 추가해보았는데. hacking attempt detected라는 것을 보아 ../를 인식하는 것 같다. 다른 방법이 필요할 것 같다.
일단 파라미터가 어떻게 완성되는지 살펴봐야 할 것 같다.
'includes/'$_GET['file']'.php' 이런 형식으로 전달이 되는 것 같다. 일단 ..를 우회하여 system 명령어를 전달해야 할 것 같다.
일단 1) '.'는 통과 했고, 2) '..'는 통과가 안됐다. ..가 필터링되는 것 같다.
3) '..'가운데에 아무 글자나 넣어보았다. 정상적으로 입력이 된다.
4) 음? 이 사이에 시스템 명령어를 넣어도 되려나?
5) cat .passwd를 넣었더니 통과, 이 사이에도 따옴표가 필요했다.
엄청 오래걸린 문제였는데.. 막 때려넣다가 나온 감이 없지않아 있다. lfi우회 방법같은 걸 좀더 공부해야 될것 같다.
'Wargame > Root-Me' 카테고리의 다른 글
Web-Server) Server-side Template injection (0) | 2020.02.28 |
---|---|
Web-Server) php filter, Local file inclusion, register global (0) | 2020.02.22 |
Web-Server) HTTP cookie~ Directory Traversal (0) | 2020.02.16 |
Web-Server) LFI -(1),(2) (0) | 2020.02.14 |
Web-Server) Improper Redirect~ CRLF (0) | 2020.02.13 |