ແກ້ໂຈດ PicoCTF 2019 | Web Exploitation (Part 2)
ສະບາຍດີທຸກຄົນ ກັບມາອີກແລ້ວກັບການສະເຫຼີຍໂຈດຂອງ PicoCTF 2019 ເປັນຕອນທີ 2 ແລ້ວ ເຊິ່ງຖ້າໃຜທີ່ຍັງບໍ່ຮູ້ວ່າ PicoCTF ນີ້ແມ່ນຫຍັງ ສາມາດກັບໄປອ່ານຕອນທີ 1 ກ່ອນໄດ້ເລີຍ ສ່ວນຕອນນີ້ ແລະ ຕອນຕໍ່ໄປທີ່ຈະມາໃນອະນາຄົດເຮົາຈະມາເນັ້ນທີ່ການແກ້ໂຈດ ແລະ ອະທິບາຍຂັ້ນຕອນເປັນຫຼັກເນາະ ສະນັ້ນບໍ່ເວົ້າຫຼາຍໄປລຸຍກັນເລີຍ~
dont-use-client-side
ມາເລີ່ມທີ່ຂໍ້ທຳອິດເຂົາຈະໃຫ້ລາຍລະອຽດ ແລະ ຄຳໃບ້ມາປະມານນີ້:
ເປົ້າໝາຍຫຼັກໆແມ່ນຫນ້າຈະໃຫ້ເຮົາໄປຊອກຫາ flag ຢູ່ຕາມຫນ້າຜູ້ໃຊ້ງານທົ່ວໄປຂອງເວັບໄຊ້ນີ້ເອງ ເຊິ່ງກໍບໍ່ລໍຊ້າເຮົາລອງມາເບິ່ງທີ່ຫນ້າຂອງເວັບກັນເລີຍ →
ໜ້າຕາຂອງເວັບກໍບໍ່ມີຫຍັງຫຼາຍ ຫຼັກກໍຄືມີພື້ນຫຼັງສີຟ້າ ແລະ ກັ່ອງສີເຫຼືອງ, ເຊິ່ງໃນກັ່ອງເຂົາໃຫ້ໃສ່ລະຫັດບາງຢ່າງເພື່ອດຳເນີນການຕໍ່ ເຊິ່ງເຮົາເອງກໍບໍ່ຮູ້ຄືກັນ~
ຜູ້ຂຽນເລີຍຢາກເຂົ້າໄປເບິ່ງໂຄງ Source Code ຂອງເວັບວ່າເປັນຈັ່ງໃດ ກໍໄດ້ປະມານນີ້ →
ເຊິ່ງຈະເຫັນໄດ້ວ່າມັນມີ flag ເກັບໄວ້ຢູ່ໂຕ source code ແລ້ວ ແຕ່ວ່າເຮົາຕ້ອງໄດ້ເອົາມາປະຕິດປະຕໍ່ກັນ ແລະ ເມື່ອເຮັດແລ້ວກໍຈະໄດ້ flag ຕາມນີ້~
picoCTF{no_clients_plz_ee2f24}
ເທົ່ານີ້ໂຈດໂຕນີ້ກໍແລ້ວໄປແບບ EZ ຮະຮະ ລອງເອົາໄປ submit ແລ້ວກໍຮັບຄະແນນໄປໄດ້ເລີຍ
logon
ມາຕໍ່ກັນກັບອີກຂໍ້ກັນເລີຍວ່່າມັນຈະຍາກ ຫຼື ງ່າຍສ່ຳໃດ~ ເຊິ່ງກ່ອນອື່ນກໍຕ້ອງມາເບິ່ງລາຍລະອຽດຂອງໂຈດ ແລະ ຄຳໃບ້ທີ່ໃຫ້ມາກັນກ່ອນ:
ໂອເຄ ເປົ້າໝາຍຫຼັກຂອງໂຈດນີ້ຄືການລັອກອິນເຂົ້າໄປໂດຍການເປັນໃຜບາງຄົນທີ່ເຄີຍລັອກອິນໄວ້ແລ້ວ ເພື່ອຊອກເບິ່ງ flag ແລະ ຄຳໃບ້ກໍບອກວ່າມັນບໍ່ມີການກວດສອບລະຫັດນຳ?! ລອງມາເບິ່ງນຳກັນກ່ອນດີກວ່າວ່າໜ້າຕາຂອງເວັບເປັນຈັ່ງໃດ →
ຈະເຫັນວ່າໜ້າຕາຂອງເວັບໄຊກໍຈະຄ້າຍຄືກັບໜ້າຕາລັອກອິນທົ່ວໄປ ເຮົາລອງມາກົດ login ແບບ no username & no password ເບິ່ງກ່່ອນດີກວ່າວ່າຈະມີການຕອບສະໜອງແບບໃດເກີດຂຶ້ນ →
ສຳຫຼັບຜູ້ຂຽນ ຫຼັງຈາກກົດປຸ່ມ Login ມັນກໍພາມາໜ້າ flag ໃຫ້ເລີຍ ເຊິ່ງບໍ່ຮູ້ວ່າຕັ້ງເປັນບໍ່ ຫຼື ຈັ່ງໃດ ແຕ່ເມື່ອລອງກັບອອກໄປລັອກອິນໃໝ່ໂດຍໃສ່ username & password ແລະ username & no password ກໍໄດ້ທັງສອງຄືກັນເນາະ →
ເຊິ່ງກໍຕາມທີ່ເຫັນວ່າເຮົາເຂົ້າມາໜ້າ flag ແຕ່ວ່າບໍ່ສາມາດເຫັນໄດ້ ແລະ ເມື່ອກັບມາເບິ່ງຂໍ້ມູນຈາກໂຈດ ເຂົາຢາກໃຫ້ເຮົາລັອກອິນເປັນໃຜບາງຄົນທີ່ເຄີຍລັອກອິນໄວ້ແລ້ວ ເຊິ່ງແນ່ນອນໂຕນີ້ແມ່ນເຂົາກ່າວເຖິງຜູ້ໃຊ້ທີ່ເປັນ admin ນັ້ນເອງ~
ເມື່ອຮູ້ວ່າຕ້ອງເອົາໂຕເອງເປັນ admin ເຮົາກໍມາເບິ່ງນຳກັນເລີຍວ່າຈະເຮັດຈັ່ງໃດ →
ຕາມການສັນນິຖານຈາກຂໍ້ມູນ ເວັບນີ້ມີການເກັບຂໍ້ມູນ cookies ເອົາໄວ້ (ການ logon ຈະມີສ່ວນກ່ຽວຂ້ອງກັບ cookies ເປັນສ່ວນຫຼາຍ) ເຮົາກໍເລີຍຈະມາເບິ່ງວ່າ cookies ທີ່ເຂົາເກັບມີຫຍັງແນ່ ໂດຍການເຂົ້າໄປ developer mode > application > cookies ກໍຈະເຫັນຕາມພາບຂັ້ນເທິງນັ້ນ →
ຈະເຫັນວ່າ username ກັບ password ຈະບໍ່ມີຄ່າຫຍັງເພາະເຮົາກົດ Login ເຂົ້າມາເລີຍ ມີແຕ່ໂຕ admin ຫັ້ນທີ່ມີຄ່າເປັນ False ຢູ່ ຊັ້ນດຽວເຮົາຈະມາລອງປ່ຽນມັນເປັນ True ເພື່ອບອກກັບເວັບວ່າເຮົາແມ່ນ admin ແລະ ເບິ່ງວ່າມັນຈະຕອບສະໜອງຈັ່ງໃດ →
ເປັນອັນວ່າການປ່ຽນສະຖານະ admin ເຮັດໃຫ້ເຮົາສາມາດເຫັນ flag ໄດ້ນັ້ນເອງ:
picoCTF{th3_c0nsp1r4cy_l1v3s_2e19dad3}
ເທົ່ານີ້ກໍເປັນການສິ້ນສຸດໂຈດ~ copy ເອົາ flag ໄປ submit ເພື່ອຮັບຄະແນນ ແລ້ວໄປຂໍ້ຕໍ່ໄປກັນເລີຍ~
where are the robots
ມາທີ່ໂຈດສຸດທ້າຍສຳຫຼັບ part ນີ້ ຄິດວ່າມືໃໝ່ຫຼາຍຄົນອາດຈະຕິດຂັດນຳຂໍ້ນີ້ ເຊິ່ງເຮົາຈະມາທຳຄວາມຮູ້ຈັກກັບຄວາມ(ບໍ່)ລັບຂອງເວັບກັນໃຫ້ຫຼາຍຂຶ້ນ ໂດຍເພື່ອບໍ່ເປັນການເສຍເວລາມາເບິ່ງວິທີແກ້ນຳກັນເລີຍ~
ລາຍລະອຽດຂອງໂຈດກະບໍ່ມີຫຍັງຫຼາຍ ໃຫ້ຕາມຫາບາງຢ່າງທີ່ກ່ຽວກັບ ‘robots’ ແຕ່ວ່າມັນໝາຍເຖິງຫຍັງລະ? ຫຸ່ນຍົນ? ຄືຈະບໍ່ແມ່ນເດາະ ຈັ່ງໃດກໍມາເບິ່ງກັນຕໍ່ທີ່ໜ້າເວັບ →
ທາງໜ້າເວັບຂອງໂຈດກະບໍ່ມີຫຍັງຫຼາຍ ແຄ່ຂໍ້ຄວາມທີ່ຖາມວ່າ “robots ຢູ່ໃສ?” ແລ້ວມັນແມ່ນຫຍັງກັນແທ້ນໍ້ ລອງມາເບິ່ງກັນຕໍ່ →
ຈະເຫັນວ່າຜູ້ຂຽນໄດ້ຕື່ມ ‘/robots.txt’ ໄປທີ່ລິ້ງຫຼັກຂອງໂຈດ ແລ້ວມັນກໍພາມາໜ້ານີ້ ໂດຍຜູ້ຂຽນຈະອະທິບາຍເຖິງຄວາມ(ບໍ່)ລັບຂອງ ‘/robots.txt’ ກັນແບບຄ້າວໆກ່ອນ →
Robots.txt is a text file with instructions for search engine crawlers. It defines which areas of a website crawlers are allowed to search. However, these are not explicitly named by the robots.txt file. Rather, certain areas are not allowed to be searched. Using this simple text file, you can easily exclude entire domains, complete directories, one or more subdirectories or individual files from search engine crawling. However, this file does not protect against unauthorized access.
ຖ້າໄປລອງ Google ‘robots.txt’ ເຮົາຈະເຫັນວ່າມັນແມ່ນໄຟລ໌ຂໍ້ຄວາມໜຶ່ງທີ່ມີໜ້າທີ່ບອກວ່າພື້ນທີ່ໃດຂອງເວັບໄຊທີ່ຜູ້ສ້າງຢາກ ຫຼື ບໍ່ຢາກໃຫ້ພວກ search engine bot ນັ້ນສາມາດຊອກໄດ້ ຫຼື ເວົ້າແບບພາສາບ້ານໆກໍຄືຖ້າເຮົາ Google ເວັບແລ້ວມັນຈະບໍ່ສະແດງ URLs ຂອງບາງໜ້າໃຫ້ເຫັນ ນອກສະຈາກວ່າເຮົາຈະຮູ້ຢູ່ແລ້ວ~ ສຳຫຼັບໂຕນີ້ຖ້າໃຜຍັງບໍ່ເຂົ້າໃຈແມ່ນສາມາດໄປຄົ້ນຄວ້າຕື່ມໄດ້ເພາະມັນຈະກ່ຽວພັນກັບການເຮັດ SEO (Search Engine Optimization) ນັ້ນເອງ →
ກັບມາທີ່ໂຈດຂອງພວກເຮົາ ຢູ່ໜ້າ /robots.txt ເຮົາຈະເຫັນຂໍ້ມູນດັ່ງນີ້:
User-agent: *
Disallow: /54e98.html
ເຊິ່ງໃຫ້ copy ເອົາ /54e98.html ແລ້ວໄປຕໍ່ໃສ່ URL ຫຼັກຂອງໂຈດຕາມນີ້:
ແລ້ວລອງເຂົ້າໄປເບິ່ງເຮົາຈະໄດ້ໜ້າເວັບນີ້ຂຶ້ນມາ →
ເຮົາກໍຈະໄດ້ flag ໂຕນີ້ມາ:
picoCTF{ca1cu1at1ng_Mach1n3s_54e98}
ເທົ່ານີ້ກໍເປັນອັນສຳເລັດສຳຫຼັບໂຈດ where are the robots ນັ້ນເອງ~
ສຸດທ້າຍກໍຈົບໄປສຳຫຼັບ Part 2 ຫວັງວ່າຈະເປັນປະໂຫຍດກັບຜູ້ອ່ານທຸກຄົນ ^^ ສ່ວນ Part ຫນ້າຈະເປັນຈັ່ງໃດກໍຖ້າຕິດຕາມກັນໄດ້ເລີຍ ອິອິ~~