ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • strcmp
    Wargame.kr 2018. 3. 11. 22:02

    이번문제는 strcmp이다


    제목이 제목인 만큼 제목에 취약점이 있다는것이 힌트같았다.


    해당 취약점을 검색하기 전에 source를 주어주었다.



    source를 보니 password와 $password값을 비교해서 0 즉 같으면 flag값을 준다는 것을 알 수 있었다.


    php5.3버전에서의 strcmp취약점은 비교대상 둘중 하나가 array에 들어가면 내부적으로 충돌이 발생해 null을 리턴하게되는데


    이때 null과 0을 비교하면 같다고 본다는 점이 취약점이다.



    위의 그림은 ==와 === 비교를 나타낸 표이다. 

    표시된 부분을 보면 NULL과 0은 TRUE로 반환하는 부분이 보여진다.

          ===일때는 FALSE이다. (===를 사용하자!) 


    이를 이용해서 둘중하나를 array로 만들면 된다는걸 알 수 있었다.


    버프수트를 사용하던지 관리자모드를 사용해서 일단은 값을 아무거나 넣어보았다



    password 부분이 보였다.




    이부분을 password[]로 수정해준뒤 진행하였다.


    Flag값이 나왔다. (일부러 flag값을 다나오지 않게하였다)



    'Wargame.kr' 카테고리의 다른 글

    strcmp  (0) 2018.03.11
    WTF CODE  (0) 2018.03.11
    login filtering  (0) 2018.03.11
    md5_compare  (0) 2018.03.11
    img recovery  (0) 2018.03.11
    fly me to the moon  (0) 2018.03.11

    댓글 0

Designed by Tistory.