Sitemap
Lailaolab ICT Solutions

Technology and Technology and System Engineer in Lao PDR

BUSINESS LOGIC VULNERABILITIES (WEB , APP and API)

4 min readMay 12, 2023

--

Press enter or click to view image in full size
  • Business Logic VULNERABILITIES ຫຼື ການຈັດການຂໍ້ມູນທີ່ຜິດພາດໃນເຊີງທຸລະກິດທີ່ກໍ່ໃຫ້ເກີດຊ່ອງໂຫວ່ , ເຊຶ່ງເຫດຜົນຫລັກໆທີ່ກໍ່ໃຫ້ເກີດຊ່ອງໂຫວ່ສ່ວນຫລາຍຈະມາຈາກ ການອອກແບບລະບົບທີ່ບໍ່ຖືກຕ້ອງຕາມທີ່ຄວນຈະເປັນ (ບໍ່ໃສ່ໃຈໃນການອອກແບບລະບົບ) ແລະ ການພັດທະນາລະບົບ Web&App ທີ່ບໍ່ຄໍານຶງເຖິງຄວາມປອດໄພຂອງ Data ທີ່ Input ເຂົ້າມາ ແລະ Output ອອກໄປ ເຊຶ່ງອາດຈະສົ່ງຜົນກະທົບທີ່ຮ້າຍແຮງຕາມມາ ຕົວຢ່າງເຊັ່ນ: ຂໍ້ມູນທີ່ສໍາຄັນຂອງລູກຄ້າສາມາດເຂົ້າເຖິງໄດ້ໂດຍທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດ ບໍ່ວ່າຈະເປັນ ຂໍ້ມູນທາງດ້ານການເງິນ ແລະ ຂໍ້ມູນບັດຕ່າງໆ…

ເຊິ່ງໃນບົດຄວາມນີ້ເຮົາຈະພາມາເບິ່ງພາບລວມຂອງ business logic vulnerabilities ວ່າສ່ວນຫລາຍເປັນແນວໃດ,ມີຜົນກະທົບຕໍ່ business ຫລາຍຊໍ່າໃດ ແລະ ເຮົາຈະມີວິທີປ້ອງກັນແນວໃດ…

How do business logic vulnerabilities occur ???

Press enter or click to view image in full size
  • ຕາມການສໍາຫລວດແລ້ວສ່ວນຫລາຍແມ່ນເກີດຂຶ້ນຍ້ອນ ຕົວຂອງ Developer ເອງທີ່ບໍ່ປະຕິບັດຕາມມາດຕະຖານການອອກແບບຄວາມປອດໄພທີ່ໄດ້ຖືກວາງອອກ ໄວ້ (Maybe lazy…) ບໍ່ວ່າຈະເປັນ (Web&APP,API OWASP TOP 10),ດ້ວຍເຫດຜົນນີ້ເອງຈະເຮັດໃຫ້ເກີດຜົນກະທົບຕາມມາທັນທີ ແລະ ຈະເຮັດໃຫ້ລະບົບມີຊ່ອງໂຫວ່ ເຊິ່ງອາດຈະນໍ່າໄປສູ່ຊ່ອງໂຫວ່ທີ່ດັງໆ ເຊັ່ນ: cross-site scripting (XSS) , input validation , file upload vulnerabilities ແລະ mass assignment.

— ເຮົາຈະພາມາເບິ່ງຊ່ອງໂຫວ່ແຕ່ລະອັນກັນວ່າມີຄວາມຫມາຍແນວໃດ —

Cross-site Scripting (XSS)

Press enter or click to view image in full size
  • Cross-site scripting (XSS) ຖືວ່າເປັນຊ່ອງໂຫວ່ທາງດ້ານ business logic vulnerability ອີກອັນຫນຶ່ງ ເຊິ່ງສາມາດເກີດຂຶ້ນໄດ້ຍ້ອນບໍ່ໄດ້ມີການ validate data ທີ່ໄດ້ຮັບມາຈາກຕົວຂອງ user , ເຊິ່ງອາດຈະພາໃຫ້ Hacker ສາມາດປ້ອນຂໍ້ມູນ,Code ທີ່ເປັນອັນຕະລາຍເຂົ້າມາໃນ Web Server ເຮົາໄດ້. ດ້ວຍຕົວຂອງຊ່ອງໂຫວ່ນີ້ເອງອາດຈະກໍ່ໃຫ້ເກີດຈຸດອ່ອນໃນລະບົບເຮົາຄື: Hacker ສາມາດເຂົ້າເຖິງຂໍ້ມູນຕ່າງທີ່ລະອຽດອ່ອນໄດ້ໂດຍທີ່ບໍ່ໄດ້ຮັບອະນຸຢາດ ຫຼື ກໍລະນິຮ້າຍແຮງອາດຈະຖືກຢຶດ Server ໄປເລີຍ… -,-

Input Validation

Press enter or click to view image in full size
  • Input validation ຕົວຂອງຜູ້ຂຽນຄິດວ່າສາມາດພົບເຈິໄດ້ໃນລະບົບສ່ວນຫລາຍ ຍ້ອນວ່າມີຄວາມຫຍຸ້ງຍາກ ໃນການເຮັດ validation ກັບ data ທີ່ input ເຂົ້າມາ ເຊິ່ງກໍ່ໃຫ້ເກີດມີການປ່ອຍປະລະເລີຍເປັນສ່ວນຫລາຍ , ແລະ ຕົວຂອງຊ່ອງໂຫວ່ນີ້ເອງ ສາມາດກໍ່ໃຫ້ເກີດການຮັບ input data ຈາກ user ໂດຍທີ່ເຮົາບໍ່ໄດ້ກໍາຫນົດໄວ້ ເຂົ້າໄປໃນ database ເຮົາ ບໍ່ວ່າຈະເປັນ SQL ຫລື NOSQL ແລະ ອາດຈະກໍ່ໃຫ້ເກີດມີການ injection ເກີດຂຶ້ນ.

File Upload Vulnerabilities

Press enter or click to view image in full size
  • File Upload Vulnerabilities ກໍເປັນອີກຫນຶ່ງຢ່າງທີ່ສາມາດມີຜົນກະທົບທາງທຸລະກິດເຮົາໄດ້ ຢົກຕົວຢ່າງອົງກອນໃດຫນຶ່ງໃຊ້ Infrastructure ຂອງ AWS ເປັນ S3 Service ເຊິ້ງໃນຕົວຂອງ S3 ເອງສາມາດເກັບ Data ໄດ້ free 50GB ຖ້າກາຍ ຈະໄດ້ເສີຍເງິນເພີ່ມ, ເຊິ່ງຖ້າຕົວຂອງລະບົບບໍ່ໄດ້ມີການ Validate the data’s size ທີ່ຮັບເຂົ້າມາ , ລະບົບອາດຈະຖືກໂຈມຕີໂດຍຜູ້ບໍ່ຫວັງດີໄດ້ໂດຍການ upload file ໃຫ່ຍໆ ເຂົ້າມາໃນລະບົບເຮົາ ເຊິ້ງຈະເຮັດໃຫ້ເຮົາເສຍ cost ກັບຈຸດນີ້ໄປທັນທີ.

Mass Assignment

Press enter or click to view image in full size
  • Mass Assignment ກໍເປັນຊ່ອງໂຫວ່ຫນຶ່ງທີ່ຮ້າຍແຮງທີ່ສາມາດສົ່ງຜົນກະທົບໃນທາງທຸລະກິດເຮົາໄດ້ , ຍົກຕົວຢ່າງ API ໃດຫນຶ່ງທີ່ມີການສະຫມັກສະມາຊິກແບບບໍ່ໄດ້ເຮັດການ validate ທີ່ຖືກຕ້ອງເຊິ່ງເຮັດໃຫ້ Hacker ສາມາດປ້ອນຂໍ້ມູນເພີ່ມເຂົ້າມາໃນ API ເຮົາຕື່ມໄດ້.

Normal API Request Regiter Flow:

POST /api/user/new HTTP/1.1
Host: longdog.local
Content-Type: application/json
Content-Length: 151

{
"user": "swizzz",
"password": "P@ssw0rd",
"email": "swizzz@lailaolab"
}

An attacker can input more than a normal API request, suggesting “role.”

POST /api/user/new HTTP/1.1
Host: longdog.local
Content-Type: application/json
Content-Length: 151

{
"user": "swizzz",
"password": "P@ssw0rd",
"email": "swizzz@lailaolab",
"role": "admin"
}
  • ເຊິ່ງເຫດນີ້ເອງຈະສາມາດເຮັດໃຫ້ user ທີ່ສະຫມັກເຂົ້າມາໃຫມ່ກາຍເປັນ Admin ທັນທີ , ເຊິ່ງອາດຈະນໍາໄປສູ່ການເຂົ້າເຖິງຂໍໍ້ມູນຕ່າງໆໄດ້ໂດຍທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດຈາກເຈົ້າຂອງລະບົບຕາມມີ່ຄວນຈະເປັນ ແລະ ອາດຈະກໍ່ໃຫ້ເກີດການປັ່ນປ່ວນຕ່າງໆຕາມມາ ບໍ່ວ່າຈະເປັນການຫາຜົນປະໂຫຍດທາງດ້ານການເງິນ ແລະ ອື່ນໆ.

The Impact of Business Logic Vulnerabilities

Press enter or click to view image in full size
  • ໃນມຸມມອງທາງທຸລະກິດເອງກໍສາມາດສົ່ງຜົນກະທົບຢ່າງຮ້າຍແຮງໄດ້ເຊັ້ນດຽວກັນ ເຊິ່ງອາດຈະນໍາໄປສູ່ຜົນກະທົບທາງດ້ານ ຄວາມປອດໄພທາງ Cyber , ທາງດ້ານການເງິນ ລວມໄປເຖິງຊື່ສຽງຂອງຕົວ ບໍລິສັດເອງ .
  • ເຊິ່ງໃນຕົວຂອງຄວາມປອດໄພດ້ານ Cyber ເອງຈະສົ່ງຜົນກະທົບທາງດ້ານຂໍ້ມູນທີ່ລະອຽດອ່ອນຂອງລູກຄ້າທີ່ັຫລຸດອອກໄປໂດຍທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດຢ່າງທີ່ເປັນ ເຊິ້ງອາດນໍາໄປສູ່ບັນຫາທີ່ຕາມມາຢ່າງຮຸນແຮງເຊັ່ນ: ລູກຄ້າບໍ່ມີຄວາມຫມັ້ນໃຈໃນການພັດທະນາລະບົບຂອງບໍລິສັດ ແລະ ອາດຈະເຮັດໃຫ້ບໍລິສັດຂາດຄວາມຫນ້າເຊື່ອຖືໃນທາງ Branding ໄປເລີຍ.
  • ໃນສ່ວນຂອງທາງດ້ານການເງິນທາງບໍລິສັດອາດຈະເສຍໄປກັບການແກ້ໄຂບັນຫາຊ່ອງໂຫວ່ທີ່ເກີດຂຶ້ນ ແລະ ການເສຍເງິນໄປກັບການສ້າງມາດຕະຖານໃຫມ່ເພື່ອໃຫ້ກັບມາມີມາດຕະຖານ ແລະ ສື່ສຽງທີ່ດີອີກຄັ້ງ.

Security Risks

Press enter or click to view image in full size
  • Business logic vulnerabilities ສາມາດກໍ່ໃຫ້ເກີດໄພຄຸກຄາມຕໍ່ຄວາມປອດໄພຂອງອົງກອນໄດ້ . ຫລາຍໆຊ່ອງໂຫວ່ທີ່ເກີດຂຶ້ນອາດຈະນໍາໄປສູ່ການ bypass ລະບົບ ທີ່ທາງອົງກອນໄດ້ວາງອອກແຕ່ Hacker ສາມາດປ່ຽນແປງ ຫລື ກ້າວຂ້າມຈຸດນີ້ໄປໄດ້ ເຊິ່ງອາດຈະນໍາໄປສູ່ ຂໍ້ມູນຂອງລູກຄ້າ ສາມາດເຂົ້າເຖິງໄດ້ ຫລື ຫລຸດອອກໄປໃນທີ່ສຸດ ຍົກຕົວຢ່າງ App ທາງດ້ານການເງິນທີ່ມີຊ່ອງໂຫວ່ທາງດ້ານການຊໍາລະເງິນ Hacker ສາມາດ bypass ລະບົບການຊໍາລະເງິນໄປໄດ້ໂດຍທີ່ບໍ່ໄດ້ເສຍເງິນ ແລະ ຍັງສາມາດເຂົ້າເຖິງບັນຊີຂອງຄົນອື່ນໄດ້ ແລະ ຍັງສາມາດເບິ່ງຂໍ້ມູນທາງດ້ານການເງິນໄດ້ບໍ່ວ່າຈະເປັນ ລະຫັດບັດ,account , ລາຍຮັບ , ລາຍຈ່າຍ , ບັດປະຈໍາໂຕ ແລະ Passport.

Financial Losses

Press enter or click to view image in full size
  • Business logic vulnerabilities ຍັງສົ່ງຜົນກະທົບທາງດ້ານການເງິນຕໍ່ອົງກອນ ຍົກຕົວຢ່າງ App ສັ່ງອາຫານທີ່ Hacker ສາມາດຫາຜົນປະໂຫຍດຈາກຈຸດນີ້ໄດ້ ໂດຍການສັ່ງອາຫານແບບບໍ່ຈໍາກັດ ໂດຍທີ່ບໍ່ໄດ້ເສຍເງິນ , ຫລື ອາດຈະຫາຜົນປະໂຫຍດໂດຍການເຂົ້າເຖິງຂໍ້ມູນທາງດ້ານການເງິນຂອງລູກຄ້າບໍ່ວ່າຈະເປັນ ບັນຊີທະນາຄານ , ບັດ Credit ຕ່າງໆ ເຊິ້ງອາດຈະເຮັດໃຫ້ບໍລິສັດຕ້ອງຮັບຜິດຊອບຈຸດນີ້ໄປ ແລະ ກໍລະນີຮ້າຍແຮງອາດຈະເຮັດໃຫ້ບໍລິສັດຕ້ອງຮັບຜິດຊອບທັງຫມົດ ແລະ ຖືກດໍາເນີນຄະດີຕາມກົດຫມາຍ, ແລະ ນອກຈາກນີ້ Hacker ອາດຈະຫາວິທີ bypass ເພື່ອ ຍົກເລີກການສັ່ງ Order ຂອງລູກຄ້າທັງຫມົດເຊິ້ງຈະເຮັດໃຫ້ບໍລິສັດເສຍລາຍໄດ້ໃນຈຸດໆໄປ ແລະ ການທີ່ຈະແກ້ໄຂບັນຫາພວກນີ້ອາດຈະຕ້ອງໃຊ້ເງິນຈໍານວນຫລາຍ ແລະ ເສຍເວລາໃນການແກ້ໄຂ.

Reputation Impact

Press enter or click to view image in full size
  • Business logic vulnerabilitiesນອກຈາກຄວາມເສຍຫາຍທາງດ້ານການເງິນແລ້ວ ຊ່ອງໂຫວ່ພວກນີ້ຍັງສົ່ງຜົນກະທົບທາງດ້ານ ສື່ສຽງຂອງອົງກອນ ຫາກພົບວ່າຊ່ອງໂຫວ່ທີ່ເກີດຂຶ້ນນັ້ນສົ່ງຜົນກະທົບກັບຂໍ້ມູນ ແລະ ຄວາມເປັນສ່ວນໂຕຂອງລູກຄ້າ , ແນ່ນອນວ່າດ້ວຍເຫດການນີ້ຈະເຮັດໃຫ້ທາງ ບໍລິສັດ ເສຍຄວາມເຊື່ອຫມັ້ນ ຈາກລູກຄ້າ ແລະ ຜູ້ນໍາໃຊ້ທັນທີ , ຫນັກໄປກ່ອນນີ້ແມ່ນອາດຈະຖືກຟ້ອງຮ້ອງ ຈົນນໍາໄປສູ່ການຖືກປັບໄຫມຕາມລະບຽບກົດຫມາຍ ,ແນ່ນອນວ່າຊື່ສຽງກໍຈະຖືກທໍາລາຍໄປພ້ອມກັນ ລວມໄປເຖິງຄວາມຫມັ້ນຄົງທາງດ້ານການເງິນຂອງບໍລິສັດ.

Mitigating Business Logic Vulnerabilities

Press enter or click to view image in full size
  • ຊ່ອງໂຫວ່ດ້ານ Business logic vulnerabilities ທີ່ກ່າວມານັ້ນສ່ວນຫລາຍຈະສາມາດບັນເທົາ ແລະ ເຮັດແຜນຮັບມືກັບມັນໄດ້ແຕ່ບໍ່ແນ່ນອນ 100% ເພາະວ່າທຸກລະບົບມີໂອກາດທີ່ຈະມີຊ່ອງໂຫວ່ຫມົດບໍ່ມີລະບົບໃນໂລກນີ້ປອດໄພ 100% ບໍ່ວ່າຈະເປັນບໍລິສັດຊັ້ນນໍາລະດັບໂລກເອງກໍຕາມ . ດ້ວຍເຫດນີ້ເຮົາພຽງແຕ່ສາມາດລົດຊ່ອງໂຫວ່ພວກນີ້ລົງໄດ້ໂດຍການປະຕິບັດຕາມແຜນທີ່ວາງອອກຢ່າງເຂັ້ນງວດ.

Penetration Testing

Press enter or click to view image in full size
  • Penetration Testing ຫລືເອີ້ນສັ້ນໆວ່າ Pentest ເຊິ່ງຈະເປັນການຈໍາລອງ , ທົດສອບຄວາມປອດໄພຂອງລະບົບ ໂດຍຈະມີການເນັ້ນໂຈມຕີ Security ແລະ Business logic vulnerabilities ຂອງລະບົບ ໂດຍ Pentester (White Hacker) ເພື່ອທີ່ຈະຫາຊ່ອງໂຫວ່ ຫລື ຈຸດອ່ອນຂອງລະບົບ ຍົກຕົວຢ່າງ: ຮ້ານຂາຍຄໍາ ທີ່ມີໂອກາດຖືກປົ້ນສູງ ທາງເຈົ້າຂອງຈຶ່ງໄດ້ມີການຈ້າງ ໂຈນ ເພື່ອຈະໃຫ້ໂຈນເຂົ້າໄປລັກເອົາສິ່ງຂອງທີ່ມີຄ່າ , ຖ້າໂຈນລັກໄດ້ແລະມາແຈ້ງເຈົ້າຂອງຮ້ານວ່າມີຊ່ອງໂຫວ່ຢູ່ບ່ອນໃດ ເພື່ອຈະໄປພັດທະນາຮ້ານໃຫ້ມີຄວາມປອດໄພຍິ່ງຂຶ້ນ Pentesting ເອງກໍ່ເຊັ່ນດຽວກັນທີ່ເຮັດໃຫ້ເຮົາຮູ້ຈຸດອ່ອນຂອງລະບົບເຮົາເອງເພື່ອຈະນໍາໄປພັດທະນາຕໍ່ໄປໃຫ້ມີຄວາມປອດໄພທີ່ສູງຂຶ້ນ.

Secure Coding

Press enter or click to view image in full size

ການຂຽນ Code ທີ່ມີຄວາມປອດໄພເອງກໍເປັນອີກຫນຶ່ງຢ່າງທີ່ສາມາດເຮັດໃຫ້ Business logic vulnerabilities ຫລຸດລົງໄດ້ ບໍ່ວ່າຈະເປັນການເລືອກ stack ທີ່ນິຍົມ ແລະ ມີຄວາມປອດໄພສູງຄື : MEAN and MERN stacks , ກໍສາມາດລົດບັນຫາຊ່ອງໂຫວ່ໄປໄດ້ລະດັບຫນຶ່ງ , ນອກຈາກນີ້ອາດຈະພິຈາລະນາ ເລືອກໃຊ້ Cloud Services ທີ່ນິຍົມ ແລະ ມີຄວາມປອດໄພສູງ ຢ່າງເຊັ່ນ: AWS, GOOGLE and ALIBABA Cloud ເປັນຕົ້ນ ,ລວມໄປເຖິງການປະຕິບັດຕາມຊ່ອງໂຫວ່ຂອງ OWASP TOP10 ຂອງ WEB,APP and API ພຽງເທົ່ານີ້ກໍສາມາດເຮັດໃຫ້ລະບົບມີຄວາມປອດໄພສູງໃນລະດັບຫນຶ່ງ.

Incident Response Plan

Press enter or click to view image in full size
  • ສຸດທ້າຍແລ້ວສິ່ງທີ່ສໍາຄັນທີ່ສຸດຄືອົງກອນຄວນມີແຜນຮັບມືກັບຊ່ອງໂຫວ່ທີ່ອາດຈະເກີດຂຶ້ນໃນອານາຄົດ ແລະ ເຫດການດ້ານ ຄວາມປອດໄພອື່ນທີ່ຄາດບໍ່ເຖິງຕ່າງໆເພາະວ່າບໍ່ມີລະບົບໃດປອດໄພ 100% , ເຊິ່ງເຮົາອາດຈະວາງແຜນສະເພາະຫນ້າໄວ້ຕາມທີ່ເຮົາຄິດວ່າຈະມີຊ່ອງໂຫວ່ນີ້ແນ່ນ່ອນໃນອານາຄົດ ແລະ ນອກຈາກນີ້ກໍຄວນມີການ backup data ໄວ້ ເວລາລະບົບມີບັນຫາ ແລະ ຄວນມີການກູ້ຄືນ , ລາຍງານສາເຫດ ໃຫ້ກັບ ທີມ ຫລື ລູກຄ້າໃຫ້ໄວທີ່ສຸດ ເພື່ອຈະໄດ້ຮັບການແກ້ໄຂໃຫ້ທັນເວລາ ແລະ ມີປະສິດທິພາບສູງສຸດ ພຽງເທົ່ານີ້ກໍສາມາດລົດຄວາມສ່ຽງທີ່ຈະເກີດຂຶ້ນຕໍ່ອົງກອນ ແລະ ລູກຄ້າໄດ້ແລ້ວ….

ດ້ວຍການນໍາໃຊ້ກົນລະຍຸດພວກນີ້ກໍສາມາດລົດຜົນກະທົບຕໍ່ຄວາມສ່ຽງທາງອົງກອນອນ ແລະ ທຸລະກິດໄດ້ລະດັບຫນຶ່ງແລ້ວ , ແຕ່ບໍ່ຮັບປະກັນວ່າຈະປອດໄພ ເພາະບໍ່ມີລະບົບໃດໃນໂລກປອດໄພ 100%

Get LAILAOLAB’s stories in your inbox

Join Medium for free to get updates from this writer.

Author: Swizzpk

--

--