ສະເຫຼີຍໂຈດ Corrupted File ຈາກເວັບ CTFlearn

Fr!d4y
2 min readMar 15, 2020

--

ຈາກທີ່ໄດ້ສະເຫຼີຍໂຈດທີ່ຢູ່ໃນໝວດ Easy & Medium ແລ້ວ ໂຈດຂໍ້ນີ້ຈະເປັນຂໍ້ທຳອິດທີ່ຢູ່ໃນໝວດ Hard ທີ່ຈະມາສະເຫຼີຍວິທີຜ່ານຂອງໂຕຜູ້ຂຽນເອງດ໋ຽວເຮົາໄປເບິ່ງກັນເລີຍ

https://ctflearn.com/challenge/138

ຄືກັບຫຼາຍໆຂໍ້ທີ່ຜ່ານມາໂຈດຂໍ້ນີ້ກໍຈະມີໄຟລອັນໜຶ່ງມາໃຫ້ເປັນໄຟລ .gif ແຕ່ວ່າເມື່ອໃຊ້ຄຳສັ່ງ file ກວດເບິ່ງແລ້ວຈະເຫັນວ່າມັນບໍ່ແມ່ນ gif ແຕ່ເປັນ data ຫຍັງຈັກຢ່າງ ແລະ ເມື່ອກວດເບິ່ງ file header ຂອງມັນກໍຈະເຫັນວ່າ format ບໍ່ຖືກຕາມ gif.

ຊັ້ນເຮົາຕ້ອງໄດ້ມາແກ້ file header ໃໝ່ເພື່ອໃຫ້ຖືກຕາມ file header ຂອງ gif.

ສຳລັບລາຍລະອຽດຂອງ file format ຂອງ gif ແມ່ນສາມາດເຂົ້າໄປອ່ານໄດ້ຕາມນີ້ເລີຍ https://en.wikipedia.org/wiki/GIF

https://www.file-recovery.com/signatures/GIF.png

ຫຼັງຈາກທີ່ຮູ້ file header ຂອງ gif ແລ້ວເຮົາກໍມາລອງແກ້ກັນເລີຍ

ໂດຍການໃຊ້ vim ເປີດໄຟລ gif ຂຶ້ນມາແລ້ວພິມຄຳສັ່ງ
:%!xxd ຈະໄດ້

ຈາກນັ້ນທຳການແປງ header ໃຫ້ຖືກກັບ format ຫຼັງຈາກທີ່ແປງແລ້ວກໍຈະໄດ້ປະມານນີ້

ຈາກນັ້ນໃຊ້ຄຳສັ່ງ
:%!xxd -r
ແລ້ວກໍ save

ລອງກວດເບິ່ງວ່າຫຼັງຈາກແປງແລ້ວມັນຈະເປັນໄຟລ gif ຫຼື ບໍ່

ຈະເຫັນວ່າຈາກທີ່ເປັນ data ກະຈະປ່ຽນມາເປັນ gif ເປັນທີ່ຮຽບຮ້ອຍເມື່ອເປີດເບິ່ງແລ້ວກໍຈະເຫັນເປັນ gif ທີ່ມີຄຳວ່າ

the flag is decode it ZmxhZ3tnMWZfb3JfajFmfQ== 

ເອົາໄປ Deocode ແລ້ວກໍຈະໄດ້ flag

flag{g1f_or_j1f}

--

--