แสดงบทความที่มีป้ายกำกับ Puzzle แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Puzzle แสดงบทความทั้งหมด

วันอังคารที่ 28 มีนาคม พ.ศ. 2560

เฉลย try2hack จาก website fxpredator

มีนาคม 28, 2560
เฉลย try2hack จาก website fxpredator
               ต้องอธิบายก่อนเลยว่าเกมนี้เป็นเกมแนวปริศนา(Puzzle) ซึ่งไม่ต้องมีความรู้ด่าน security มากนักแต่อาจจะต้องมีความรู้เกี่ยวกับการเขียน web มาบ้างพอเป็นพื้นฐาน จะมีทั้งหมด 5 ด่านไปลุยกันเลยครับ จิ้มไปเล่นกันได้ที่



ด่านที่ 1
        

คำใบ้คือ "แต่หารู้ไม่ว่าเขาได้แอบซ่อนรหัสลับไว้แถวๆ นี้" ลองคลิ๊กขวาเพื่อ view page source ดูก็เจอคำตอบแล้วครับ บรรทัดล่างๆหน่อย


ดังนั้นคำตอบ password ก็คือ   A^d,XU



ด่านที่ 2

คำใบ้คือ "มันอยู่ข้างบน ไม่ได้อยู่ข้างล่าง" ลองคลิ๊กขวาเพื่อ view page source ดูจะเจอแต่ยังไม่ใช่คำตอบนะครับ ฮ่าๆ


จากคำใบ้บอกอยู่ข้างบน ดูใน code ก็ไม่มี สงสัยที่ path ก่อนเลยครับ  ปัณหาข้อนี้จะคล้ายๆ path traversal ซึ่งเป็นช่องโหว่ของ path เปลี่ยน path จาก fxpredator.com/try2hack/level2/level2-Hx6ew.php เป็น fxpredator.com/try2hack/level2/ จะเจอ directory เพื่อไปเปิดไฟล์ password ได้ครับ Username:retrospect password:withoutyou และ นำรหัสมากรอกได้เลย


ด่านที่ 3


เป็นการเข้ารหัสข้อมูลโดยให้รหัสที่เข้ารหัสมาให้แล้วคือ 96430 และ ให้เครื่องตัวเครื่องมือการเข้ารหัสมาให้ด้วย ในที่นี้ผมจะใช้วิธี brute force คือลองมันทุกกรณีจนกว่าจะเจอแต่ไม่ทุกกรณีหรอกครับ ลองสุ่มใส่ตัวเลขฐานสองลงไปก็น่าจะจับทางได้แล้ว

Trick: ลองใส่ 11111 คือค่าสูงสุดจะได้ 97531 ซึ่งเกินคำตอบไปพอสมควร ต่อไปลองใส่ 10000 ได้ 86421 ต่ำกว่าคำตอบมากๆ ลอง 00001 ได้ 96420 จะได้ค่าใกล้เคียงกับคำตอบมากต่างกันแค่หลักสิบ ลอง 01001 ปรากฎว่าได้คำตอบเลย


ด่านที่ 4 



เป็นการเข้ารหัสข้อมูลโดยให้รหัสที่เข้ารหัสมาให้แล้วคือ yz{3pnq{v~:p}| และ ให้เครื่องตัวเครื่องมือการเข้ารหัสมาให้ด้วย ในข้อนี้ต้องงเปิดตาราง ASCII เทียบดูครับ ลองแทนค่า

Trick: จากตัวอักษร w รหัส ASCII ที่อยู่ในรูปฐานสิบคือ 119 บวกไป 2 ได้ 121 คือ อักษร y บวก 3 คือ z บวก 4 คือสัญญาลักษณ์ { เป็นต้น จะได้คำตอบคือ "www.jgirls.com"


ด่านที่ 5




ด่านสุดท้ายอาจจะยากซักหน่อย คือให้เราหาคะแนนที่เต็มพอดีเป๊ะๆ วิธีที่ผมใช้คือ  brute force (อีกแล้วฮ่าๆ) แต่แบบมีหลักการนะ สังเกตุได้ว่าพอเราเปลี่ยนค่าที่ส่งไป (value) range หรือ ขอบเขตของมันถ้าอยู่ในกลุ่มเดียวกันจะแสดงข้อความเหมือนๆกัน ทดลองใส่ไปเรื่อยๆจะสังเกตุเห็นได้ว่าต้องใส่เป็นเลขฐาน 16 คำตอบคือ c8 ในฐานสองจะเท่ากับ 200

ค่า value คือค่าที่ส่งไปครับ