TCTT2023 : Reverse CTF(Reverse Engineering & Pwnable) writeup
Sep 16, 2023
วิธีที่ 1 Decrypt
ไม่ต้องพูดมากเลย เรามาใช้ DIE Analyse File กันก่อน
เราเห็นว่ามันเป็นตัว .NET นะครับ ทีนี้เราจะใช้ตัว DnSpy ในการ Decompile
ไปที่ Form1 เพื่อ Analyse
string value = “admin”;
string cipherText = “bR/dyVtoEuyudh4qoLWqkw==”;
string str = “Flag is CTT23{“;
string text = “Login Fail !!! : Invalid Password”;
string text2 = “Login Fail !!! : Invalid Username”;
string keyBase = “yJ4L5ouh5D1n9Yj53S+GkEt/+OW/bn10MfC/opJjZ5g=”;
string vectorBase = “4ZttzHusKGsjzmdQA5+Viw==”;]
เราจะเห็นว่า มันมีการใช้ DecryptDataWithAes ด้วย Data ที่ Provide มา
แล้วเมื่อเราผ่านเงื่อนไข flag และ flag2 มันจะ print text3 ที่เราDecrypt มา
เพราะฉนั้นเราก็แค่ Decrypt แบบตรงๆไปเลยด้วยใช้ CyberChef
ได้ Flag แล้วครับ!
วิธีที่ 2 Debug
ใส่ break point ไปที่ if
แล้วก็ Debug เลยครับ
ให้ Step over ไปเรื่อยๆจนขึ้นหน้า Form มา แล้วเราก็ใส่ไปมั่วๆได้เลยครับ
เปลี่ยน False เป็น true แล้วก็กด Step over ทำอย่างงี้ทั้ง 2 ตัวแปรเลยครับ เมื่อถึง breakpoint
ได้ Flag แล้วครับบ!