πŸ’‰TSULOTT

Easy

Overview

VΓ o Δ‘αΊ§u chΓΊng ta sαΊ½ cΓ³ hai trường inpit nhαΊ­p vΓ o, nhαΊ­p code cα»§a bαΊ‘n để nhαΊ­n win jackpot vΓ  nhαΊ­p 6 sα»‘ để lαΊ₯y code.

Ở Δ‘Γ’y chΓΊng ta sαΊ½ nhαΊ­p Δ‘αΊ‘i gΓ¬ Δ‘Γ³ nhΖ°ng chΓΊng ta sαΊ½ nhαΊ­p ở take code trΖ°α»›c rα»“i lαΊ₯y mα»™t chuα»—i base64 mΓ  trang Δ‘Ζ°a ra rα»“i nΓ³ sαΊ½ trαΊ£ về kαΊΏt quαΊ£ nhΖ° hΓ¬nh ở dΖ°α»›i.

Analys

Sau mα»™t lΓΊc thΓ¬ chΓΊng ta xem source code hiện tαΊ‘i cΓ³ gΓ¬ ctrl+U

Ở Δ‘Γ’y cΓ³ gợi Γ½ cho chΓΊng ta lΓ  GET/?is_debug=1 sau khi nhαΊ­p vΓ o chΓΊng ta sαΊ½ cΓ³ source code cα»§a bΓ i nhΖ° sau:

ChΓΊng ta sαΊ½ chΓΊ Γ½ tα»›i hai Δ‘oαΊ‘n code PHP nhΖ° sau:

ĐoαΊ‘n code php thα»© nhαΊ₯t cΓ³ mα»™t class Object cΓ³ hai thuα»™c tΓ­nh lΓ  jackpot vΓ  enter.

TiαΊΏp theo chΓΊ Γ½ tα»›i dΓ²ng 16 nΓ³ sαΊ½ unserialize Δ‘oαΊ‘n code khi nhαΊ­p input vΓ o, vΓ  nΓ³ được gΓ‘n biαΊΏn $obj. TiαΊΏp theo nΓ³ kiểm tra cΓ³ $obj khΓ΄ng thΓ¬ nΓ³ sαΊ½ random jackpot thΓ nh 6 sα»‘ vΓ  random tα»« 10-99 cΓ‘ch nhau ra.

Cuα»‘i cΓΉng thuα»™c tΓ­nh enter mΓ  bαΊ±ng jackpot thΓ¬ cΓ³ thể cΓ³ flag

Ở dΖ°α»›i cΓ³ thΓͺm Δ‘oαΊ‘n code serialize nα»™i dung code chΓΊng ta nhαΊ­p ở dΖ°α»›i.

TΓ³m lαΊ‘i khi nΓ y chΓΊng ta nhαΊ­n ra Δ‘Γ’y lΓ  PHP Deserialization khi Δ‘Γ³ chΓΊng ta cΓ³ thể control cαΊ£ class Object trΓͺn bαΊ±ng cΓ‘ch ghi Δ‘Γ¨ nΓ³ để hai thuα»™c tΓ­ch jackpot vΓ  enter bαΊ±ng nhau.

Exploit

Ý tưởng bΓ’y giờ chΓΊng ta sαΊ½ xΓ’y dα»±ng lαΊ‘i class Object giα»‘ng nhΖ° trΓͺn vΓ  khởi tαΊ‘o hΓ m __constructor cho hai thuα»™c tΓ­nh bαΊ±ng nhau.

Flag: MeePwnCTF{__OMG!!!__Y0u_Are_Milli0naire_N0ww!!___}

Last updated