[Write-Up][ສະເຫລີຍ] MISC 100: Algebra ແກ້ສົມຜົນໄວຂັ້ນເທບ | CSAW CTF’18

Frank Xayachack
LaoHacker
Published in
2 min readSep 21, 2018
ຄຳອະທີບາຍ: Are you a real math wiz?nc misc.chal.csaw.io 9002

ສຳລັບໂຈດນີ້ແມ່ນໃຫ້ເຮົາ connect ເຂົ້າໄປ server ຜ່ານ netcat ເມື່ອເຊື່ອມຕໍ່ເຂົ້າໄປແລ້ວເຮົາຈະໄດ້ຂໍ້ມູນ response ກັບມາແບບນີ້

ຈະມີສົມຜົນໃຫ້ເຮົາແກ້ແລ້ວສົ່ງໄປ ແຕ່ມັນຈະຂຶ້ນມາໃຫ້ເຮົາຕອບເລື້ອຍໆບໍ່ຮູ້ວ່າຕອບໄປເທົ່າໃດຈຶ່ງຈະໄດ້ flag ມາສັງເກດໄດ້ວ່າຍິ່ງເຮົາຕອບໄປເລື້ອຍໆໂຈດຈະສັບຊ້ອນຂຶ້ນໄປເລື້ອຍໆໆ ແລ້ວເວລາໃນການຕອບເຮົາມີຈຳກັດປະມານ 1 ນາທີ ແລ້ວເຮົາກະບໍ່ຮູ້ຕ້ອງຕອບຫລາຍປານໃດອາດຈະ 20 ຫລື 30 ຂໍ້ຂຶ້ນໄປກະບໍ່ຮູ້ໄດ້ ຖ້າຈະມາໄລ່ເອງເທື່ອລ່ະໂຈດບໍ່ມີທາງເຮັດໄດ້ທັນເວລາແນ່ນອນຖ້າສົມມຸດມັນມາໃນຮູບແບບ

(((((3 - X) + (1 * 19)) - ((16 * 7) * (15 * 19))) - (((2 * 15) - (5 * 4)) * ((6 * 5) - (3 * 15)))) - ((((5 * 16) + (5 * 15)) * ((13 - 4) * (10 + 18))) * (((6 - 11) + (2 * 10)) + ((15 + 4) + (1 - 10))))) - (((((16 - 11) - (2 * 15)) + ((18 + 9) * (9 - 3))) + (((2 - 7) * (5 - 17)) * ((6 + 9) * (10 * 13)))) - ((((9 - 18) * (17 - 1)) + ((4 + 17) * (2 - 7))) * (((4 + 17) * (18 + 15)) * ((20 * 7) - (3 - 6))))) = -25801054

ເຮົາບໍ່ໜ້າຈະໄລ່ມືລອດ ຫະຫະ ຊັ້ນເຮົາມາຂຽນໂປແກມແກ້ສົມຜົນກັນເລີຍ

ຜູ່ຂຽນຈະໃຊ້ sympy ເຊິ່ງເປັນ module ສຳລັບແກ້ເລກຕ່າງໆໄດ້ແບບສະບາຍໆ ແລະ pwntools ໃນການສົ່ງແລະຮັບ ຂໍ້ມູນຈາກເຊີເວີ້ ຍ້ອນຫຍັງຈຶ່ງໃຊ້ pwntools ບໍ່ໃຊ້ socket, telnet ບອກເລີຍວ່າຍ້ອນ pwntools ມັນຂຽນສັ້ນແລະເທບບບບ 55 ມັນເກີດສຳລັບ CTF ໂດຍສະເພາະ

ແລ້ວ final code ທີ່ໄດ້ແມ່ນແບບນີ້

ຈະເຫັນໄດ້ວ່າມີການໃຊ້ try-except ແລ້ວໃຫ້ມັນ run function algebra() ໃໝ່ທັງສອງເພາະວ່າ ໂຈດທີ່ໄດ້ບາງທີມັນກໍ່ບໍ່ສາມາດແກ້ໄດ້ເລີຍເກີດ error ຂຶ້ນວິທີແກ້ກໍ່ແບບນີ້ເນາະຖ້າເກີດ error ແລ້ວໃຫ້ມັນ run function ໃໝ່ຈົນກວ່າຈະເຫັນ flag ແລ້ວເຮົາມາລອງ run ໂປແກມທາງເທິງນີ້ເບິ່ງກັນເລີຍ!

process ການແກ້ສົມຜົນຈາກ code ທາງເທິງ

ເຫັນວ່າຍິງຕອບໄປໆ ຍິ່ງໄດ້ໂຈດຍາກຂຶ້ນແບບເຫັນບໍ່ທັນເວລາແທ້ໆຖ້າມາໄລ່ມືເອງຫລັງຈາກທີ່ປະໃຫ້ມັນ run ຕອບໄປເລື້ອຍໆເຮົາກໍ່ໄດ້ flag ມາແລ້ວ!!

ແລ້ວ flag ທີ່ໄດ້ແມ່ນ

flag{y0u_s0_60od_aT_tH3_qU1cK_M4tH5}

YEY!~ ພົບກັນ blog ຕໍ່ໄປ~

--

--

Frank Xayachack
LaoHacker

GEEK | PROGRAMMER | CTF PLAYER | COMPUTER SECURITY LEARNER