Be myself :: webhacking.kr 23

달력

42024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

webhacking.kr 23

Wargame 2014. 11. 13. 16:09

풀고나서 다른 풀이들을 보려고 검색하니까 대부분 풀이가 너무 판박이처럼 똑같아서 내가 푼 방식을 써둔다.

문제는 간단하다. 저기에 질의를 보내면 필터링에 걸러지지 않으면 다음과 같이 뜬다.

하지만 <script> 나 alert는 필터링 되어 있어 입력하기가 쉽지 않다.

이를 우회하기 위해 어떤 방법을 써야할까?

php에서는 ereg, eregi,split  등과 같은 c언어에 기반을 둔 posix함수들이 사용되는데 이러한 함수들은 %00 즉 NULL이 오면 뒤에는 인식을 하지 않아 우회가 가능하다.

이를 이용해 웹쉘을 올리거나 하는 파일업로드 공격으로 이어지기도 한다. 즉 출제의도는 이러한 함수들을 우회할 수 있는지 묻는 것이다.

따라서 다음과 같은 쿼리를 url의 파라미터로 직접  보내면 문제가 해결된다.

%00<script>alert(1);</script>

Posix관련 함수 취약점에 블로그 : http://hackability.kr/entry/PHP-%EB%AC%B8%EC%9E%90%EC%97%B4-%ED%95%84%ED%84%B0%EB%A7%81-%ED%95%A8%EC%88%98ereg-eregi-%EC%B7%A8%EC%95%BD%EC%A0%90%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%9A%B0%ED%9A%8C

'Wargame' 카테고리의 다른 글

[pwnable.kr]unexploitable  (0) 2014.12.02
[pwnable.kr] tiny  (0) 2014.11.15
codegate 2014 4stone  (0) 2014.10.17
bashshock~~!!  (0) 2014.10.13
[pwnable.kr]brain_fuck  (0) 2014.09.27
Posted by flack3r
|