ແກ້ໂຈດ PicoCTF 2019 | Web Exploitation (Part 2)

F0x45N
LaoHacker
Published in
4 min readNov 9, 2019
This is PicoCTF

ສະບາຍດີທຸກຄົນ ກັບມາອີກແລ້ວກັບການສະເຫຼີຍໂຈດຂອງ PicoCTF 2019 ເປັນຕອນທີ 2 ແລ້ວ ເຊິ່ງຖ້າໃຜທີ່ຍັງບໍ່ຮູ້ວ່າ PicoCTF ນີ້ແມ່ນຫຍັງ ສາມາດກັບໄປອ່ານຕອນທີ 1 ກ່ອນໄດ້ເລີຍ ສ່ວນຕອນນີ້ ແລະ ຕອນຕໍ່ໄປທີ່ຈະມາໃນອະນາຄົດເຮົາຈະມາເນັ້ນທີ່ການແກ້ໂຈດ ແລະ ອະທິບາຍຂັ້ນຕອນເປັນຫຼັກເນາະ ສະນັ້ນບໍ່ເວົ້າຫຼາຍໄປລຸຍກັນເລີຍ~

dont-use-client-side

ມາເລີ່ມທີ່ຂໍ້ທຳອິດເຂົາຈະໃຫ້ລາຍລະອຽດ ແລະ ຄຳໃບ້ມາປະມານນີ້:

ໂຈດ dont-use-client-side
hint: ຢ່າເຊື່ອຜູ້ໃຊ້

ເປົ້າໝາຍຫຼັກໆແມ່ນຫນ້າຈະໃຫ້ເຮົາໄປຊອກຫາ flag ຢູ່ຕາມຫນ້າຜູ້ໃຊ້ງານທົ່ວໄປຂອງເວັບໄຊ້ນີ້ເອງ ເຊິ່ງກໍບໍ່ລໍຊ້າເຮົາລອງມາເບິ່ງທີ່ຫນ້າຂອງເວັບກັນເລີຍ →

http://2019shell1.picoctf.com:49886

ໜ້າຕາຂອງເວັບກໍບໍ່ມີຫຍັງຫຼາຍ ຫຼັກກໍຄືມີພື້ນຫຼັງສີຟ້າ ແລະ ກັ່ອງສີເຫຼືອງ, ເຊິ່ງໃນກັ່ອງເຂົາໃຫ້ໃສ່ລະຫັດບາງຢ່າງເພື່ອດຳເນີນການຕໍ່ ເຊິ່ງເຮົາເອງກໍບໍ່ຮູ້ຄືກັນ~

ລອງໃສ່ມົ້ວໆກໍໄດ້ຂໍ້ຄວາມນີ້

ຜູ້ຂຽນເລີຍຢາກເຂົ້າໄປເບິ່ງໂຄງ Source Code ຂອງເວັບວ່າເປັນຈັ່ງໃດ ກໍໄດ້ປະມານນີ້ →

Source Code ຂອງເວັບ

ເຊິ່ງຈະເຫັນໄດ້ວ່າມັນມີ flag ເກັບໄວ້ຢູ່ໂຕ source code ແລ້ວ ແຕ່ວ່າເຮົາຕ້ອງໄດ້ເອົາມາປະຕິດປະຕໍ່ກັນ ແລະ ເມື່ອເຮັດແລ້ວກໍຈະໄດ້ flag ຕາມນີ້~

picoCTF{no_clients_plz_ee2f24}

ເທົ່ານີ້ໂຈດໂຕນີ້ກໍແລ້ວໄປແບບ EZ ຮະຮະ ລອງເອົາໄປ submit ແລ້ວກໍຮັບຄະແນນໄປໄດ້ເລີຍ

logon

ມາຕໍ່ກັນກັບອີກຂໍ້ກັນເລີຍວ່່າມັນຈະຍາກ ຫຼື ງ່າຍສ່ຳໃດ~ ເຊິ່ງກ່ອນອື່ນກໍຕ້ອງມາເບິ່ງລາຍລະອຽດຂອງໂຈດ ແລະ ຄຳໃບ້ທີ່ໃຫ້ມາກັນກ່ອນ:

ໂຈດ logon
hint: ຫືມມ ຮູ້ສຶກວ່າມັນຈະບໍ່ກວດສອບລະຫັດຂອງໃຜເລີຍ, ຍົກເວັ້ນຂອງ {{name}}?

ໂອເຄ ເປົ້າໝາຍຫຼັກຂອງໂຈດນີ້ຄືການລັອກອິນເຂົ້າໄປໂດຍການເປັນໃຜບາງຄົນທີ່ເຄີຍລັອກອິນໄວ້ແລ້ວ ເພື່ອຊອກເບິ່ງ flag ແລະ ຄຳໃບ້ກໍບອກວ່າມັນບໍ່ມີການກວດສອບລະຫັດນຳ?! ລອງມາເບິ່ງນຳກັນກ່ອນດີກວ່າວ່າໜ້າຕາຂອງເວັບເປັນຈັ່ງໃດ →

http://2019shell1.picoctf.com:37907

ຈະເຫັນວ່າໜ້າຕາຂອງເວັບໄຊກໍຈະຄ້າຍຄືກັບໜ້າຕາລັອກອິນທົ່ວໄປ ເຮົາລອງມາກົດ login ແບບ no username & no password ເບິ່ງກ່່ອນດີກວ່າວ່າຈະມີການຕອບສະໜອງແບບໃດເກີດຂຶ້ນ →

ຫຼັງຈາກກົດປຸ່ມ Login

ສຳຫຼັບຜູ້ຂຽນ ຫຼັງຈາກກົດປຸ່ມ Login ມັນກໍພາມາໜ້າ flag ໃຫ້ເລີຍ ເຊິ່ງບໍ່ຮູ້ວ່າຕັ້ງເປັນບໍ່ ຫຼື ຈັ່ງໃດ ແຕ່ເມື່ອລອງກັບອອກໄປລັອກອິນໃໝ່ໂດຍໃສ່ username & password ແລະ username & no password ກໍໄດ້ທັງສອງຄືກັນເນາະ →

Login ແບບບໍ່ໃສ່ລະຫັດ
ໄດ້ຄືກັນ

ເຊິ່ງກໍຕາມທີ່ເຫັນວ່າເຮົາເຂົ້າມາໜ້າ flag ແຕ່ວ່າບໍ່ສາມາດເຫັນໄດ້ ແລະ ເມື່ອກັບມາເບິ່ງຂໍ້ມູນຈາກໂຈດ ເຂົາຢາກໃຫ້ເຮົາລັອກອິນເປັນໃຜບາງຄົນທີ່ເຄີຍລັອກອິນໄວ້ແລ້ວ ເຊິ່ງແນ່ນອນໂຕນີ້ແມ່ນເຂົາກ່າວເຖິງຜູ້ໃຊ້ທີ່ເປັນ admin ນັ້ນເອງ~

ເມື່ອຮູ້ວ່າຕ້ອງເອົາໂຕເອງເປັນ admin ເຮົາກໍມາເບິ່ງນຳກັນເລີຍວ່າຈະເຮັດຈັ່ງໃດ →

ມາສ່ອງເບິ່ງ cookies ຂອງເວັບ

ຕາມການສັນນິຖານຈາກຂໍ້ມູນ ເວັບນີ້ມີການເກັບຂໍ້ມູນ cookies ເອົາໄວ້ (ການ logon ຈະມີສ່ວນກ່ຽວຂ້ອງກັບ cookies ເປັນສ່ວນຫຼາຍ) ເຮົາກໍເລີຍຈະມາເບິ່ງວ່າ cookies ທີ່ເຂົາເກັບມີຫຍັງແນ່ ໂດຍການເຂົ້າໄປ developer mode > application > cookies ກໍຈະເຫັນຕາມພາບຂັ້ນເທິງນັ້ນ →

Cookies

ຈະເຫັນວ່າ username ກັບ password ຈະບໍ່ມີຄ່າຫຍັງເພາະເຮົາກົດ Login ເຂົ້າມາເລີຍ ມີແຕ່ໂຕ admin ຫັ້ນທີ່ມີຄ່າເປັນ False ຢູ່ ຊັ້ນດຽວເຮົາຈະມາລອງປ່ຽນມັນເປັນ True ເພື່ອບອກກັບເວັບວ່າເຮົາແມ່ນ admin ແລະ ເບິ່ງວ່າມັນຈະຕອບສະໜອງຈັ່ງໃດ →

ພ່າມມມມ!!!

ເປັນອັນວ່າການປ່ຽນສະຖານະ admin ເຮັດໃຫ້ເຮົາສາມາດເຫັນ flag ໄດ້ນັ້ນເອງ:

picoCTF{th3_c0nsp1r4cy_l1v3s_2e19dad3}

ເທົ່ານີ້ກໍເປັນການສິ້ນສຸດໂຈດ~ copy ເອົາ flag ໄປ submit ເພື່ອຮັບຄະແນນ ແລ້ວໄປຂໍ້ຕໍ່ໄປກັນເລີຍ~

where are the robots

ມາທີ່ໂຈດສຸດທ້າຍສຳຫຼັບ part ນີ້ ຄິດວ່າມືໃໝ່ຫຼາຍຄົນອາດຈະຕິດຂັດນຳຂໍ້ນີ້ ເຊິ່ງເຮົາຈະມາທຳຄວາມຮູ້ຈັກກັບຄວາມ(ບໍ່)ລັບຂອງເວັບກັນໃຫ້ຫຼາຍຂຶ້ນ ໂດຍເພື່ອບໍ່ເປັນການເສຍເວລາມາເບິ່ງວິທີແກ້ນຳກັນເລີຍ~

ໂຈດ where are the robots
hint: ສ່ວນໃດຂອງເວັບສາມາດບອກຈຸດທີ່ຜູ້ສ້າງບໍ່ຢາກໃຫ້ເຈົ້າເບິ່ງ?

ລາຍລະອຽດຂອງໂຈດກະບໍ່ມີຫຍັງຫຼາຍ ໃຫ້ຕາມຫາບາງຢ່າງທີ່ກ່ຽວກັບ ‘robots’ ແຕ່ວ່າມັນໝາຍເຖິງຫຍັງລະ? ຫຸ່ນຍົນ? ຄືຈະບໍ່ແມ່ນເດາະ ຈັ່ງໃດກໍມາເບິ່ງກັນຕໍ່ທີ່ໜ້າເວັບ →

http://2019shell1.picoctf.com:47235

ທາງໜ້າເວັບຂອງໂຈດກະບໍ່ມີຫຍັງຫຼາຍ ແຄ່ຂໍ້ຄວາມທີ່ຖາມວ່າ “robots ຢູ່ໃສ?” ແລ້ວມັນແມ່ນຫຍັງກັນແທ້ນໍ້ ລອງມາເບິ່ງກັນຕໍ່ →

https://2019shell1.picoctf.com/problem/47235/robots.txt

ຈະເຫັນວ່າຜູ້ຂຽນໄດ້ຕື່ມ ‘/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 ຫຼັກຂອງໂຈດຕາມນີ້:

https://2019shell1.picoctf.com/problem/47235/54e98.html

ແລ້ວລອງເຂົ້າໄປເບິ່ງເຮົາຈະໄດ້ໜ້າເວັບນີ້ຂຶ້ນມາ →

ເຫັນ robots ແລ້ວ!!!

ເຮົາກໍຈະໄດ້ flag ໂຕນີ້ມາ:

picoCTF{ca1cu1at1ng_Mach1n3s_54e98}

ເທົ່ານີ້ກໍເປັນອັນສຳເລັດສຳຫຼັບໂຈດ where are the robots ນັ້ນເອງ~

ສຸດທ້າຍກໍຈົບໄປສຳຫຼັບ Part 2 ຫວັງວ່າຈະເປັນປະໂຫຍດກັບຜູ້ອ່ານທຸກຄົນ ^^ ສ່ວນ Part ຫນ້າຈະເປັນຈັ່ງໃດກໍຖ້າຕິດຕາມກັນໄດ້ເລີຍ ອິອິ~~

Random Meme

--

--