[FPTU Hacking CTF 2022] PHP is easy

 

Link chall: http://103.245.249.76:49154/

Mô tả
  • Đây là một bài PhP liên quan tới lỗi trong hàm md5() và toán tử == của php
  • BE sẽ băm một đoạn 0gdVIdSQL8Cm bằng mã hóa md5 và lưu vào biến md51
  • Sau đó kiểm tra giá trị nhận vào từ tham số 0ni0n sau đó băm ra và lưu vào biến md52
  • Điều kiện có cờ là biến a (là giá trị của tham số ‘0ni0n’) phải khác 0gdVIdSQL8Cm và 2 giá trị băm md51 == md52

Phương pháp

  • Khi PHP xử lý chuỗi băm, nó sử dụng 2 toán tử chính là != và == để so sánh các giá trị băm. Với những chuỗi băm có giá trị bắt đầu là “0E”, PHP sẽ hiểu là 0. Do vậy nếu 2 plaintext được băm đề có giá trị băm bắt đầu là “0E” chúng sẽ hiểu hai chuỗi băm này bằng nhau và bằng 0.

  • Do vậy công việc của ta là tìm các chuỗi khi băm ra bắt đầu là 0E, ta được:

    s878926199a
    0e545993274517709034328855841020
    s155964671a
    0e342768416822451524974117254469
    s214587387a
    0e848240448830537924465865611904
    s214587387a
    0e848240448830537924465865611904
    s878926199a
    0e545993274517709034328855841020
    s1091221200a
    0e940624217856561557816327384675
    s1885207154a
    0e509367213418206700842008763514
    s1502113478a
    0e861580163291561247404381396064
    s1885207154a
    0e509367213418206700842008763514
    s1836677006a
    0e481036490867661113260034900752
    s155964671a
    0e342768416822451524974117254469
    s1184209335a
    0e072485820392773389523109082030
    s1665632922a
    0e731198061491163073197128363787
    s1502113478a
    0e861580163291561247404381396064
    s1836677006a
    0e481036490867661113260034900752
    s1091221200a
    0e940624217856561557816327384675
    s155964671a
    0e342768416822451524974117254469
    s1502113478a
    0e861580163291561247404381396064
    s155964671a
    0e342768416822451524974117254469
    s1665632922a
    0e731198061491163073197128363787
    s155964671a
    0e342768416822451524974117254469
    s1091221200a
    0e940624217856561557816327384675
    s1836677006a
    0e481036490867661113260034900752
    s1885207154a
    0e509367213418206700842008763514
    s532378020a
    0e220463095855511507588041205815
    s878926199a
    0e545993274517709034328855841020
    s1091221200a
    0e940624217856561557816327384675
    s214587387a
    0e848240448830537924465865611904
    s1502113478a
    0e861580163291561247404381396064
    s1091221200a
    0e940624217856561557816327384675
    s1665632922a
    0e731198061491163073197128363787
    s1885207154a
    0e509367213418206700842008763514
    s1836677006a
    0e481036490867661113260034900752
    s1665632922a
    0e731198061491163073197128363787
    s878926199a
    0e545993274517709034328855841020
    
  • Ta được payload:

    <http://103.245.249.76:49154/?0ni0n=s878926199a>
    
  • Kết quả:

⇒ FPTUHACKING{Md5_bY_pAAs_eZ_H4_H4}

Nhận xét