최대 1 분 소요

strcmp 취약점

  • php 버전 5.3 에서 발생한 취약점이다.
  • strcmp 에 Array 와 string을 넣어 비교할 때 발생하는 취약점이다.

Array 로 입력받기

test[]=aa
  • php 에서 해당 요청을 받으면 array 형태로 받는 것을 확인할 수 있다.

취약점 활용

  • strcmp(Array(),string) 을 비교하면 null 값을 리턴한다.
  • null==0 을 비교하면 true 가 된다.

문제

  • 문제
  • strcmp($_POST['password'], $password) == 0 이 true 여야 flag 값을 받아볼 수 있다.
  • 이 때 strcmp(Array(), string) 일 때 null 값을 반환하게 된다.
  • 그리고 null == 0 은 true 이기 때문에 flag 값을 받아볼 수 있다.

공격 payload

  • array 형태로 요청을 보내주면 된다.
password[]=123

댓글남기기