สรุป OWASP Top 10 API Risk 2023

สำหรับงานนี้เป็น On-Site อีกงานที่ทาง OWASP Bangkok Chapter / 2600 Thailand / Microsoft Thailand จัดงานร่วมกันครับ และเป็นงานที่ Dev อย่างผมน่าจะฟังเข้าใจด้วยครับ เลยลองมาดู OWASP Top 10 API Risk ซึ่งแชร์โดย คุณ Krischat Thataristorai จาก Secure D Center Co., Ltd. อ้างอิงจาก OWASP API Security Project 2023RC สำหรับที่ผมลองจดๆมาจะมีดังนี้ครับ API คือ อะไร ? API vulnerabilities – API1:2023 Broken Object Level Authorization (BOLA) IDOR vs BOLA การป้องกัน – API2:2023 Broken User Authentication เคสนี้ตัว App มันหลุด Flow / By Pass จากการยืนยันตัวตน (Authentication) ตอนนี้ท่าที่ใช้กันจะเป็นแบบ Token หมดแล้ว เพราะว่ามันเป็น Stateless ทำให้สามารถ Scale ได้ง่าย โดยการโจมตีมี 3 ท่า ได้แก่ Classic Authentication Attack / Forging Token / JWT abuse ตัวอย่างเคส การป้องกัน – API3:2023 Broken Object Property Level Authorization…

[WP] สรุป Meetup สร้างรายได้จาก การเขียนบทความ แบบไม่ต้องรอลูกค้าลงโฆษณา

สำหรับงานนี้บอกเลยว่า ผมมาจากหัวข้อล้วนๆ เพราะ Blog ที่เขียนอยู่เนี่ย รายได้มันยังไม่พอกับค่า Host เลย 555555555555 เห็นหัวข้อนี้พอดีเลยแวะมาฟังดีกว่า เบื่อๆงานด้วยดันหลายเรื่องไป และมันดูช้าๆ เอาหละมาดูสิ่งที่ผมจดได้กันครับ อาจจะมีตกหล่นไปบ้างครับ อันแรกเลย เราเขียน Blog ไปเพื่ออะไร ? ทาง Speaker คุณนัท Designil ได้เปิดคำถามมาให้คิด 5 ข้อก่อนเลยครับ ดังนี้ กลับมาฝั่งของผมเองแหละ เอาจริงๆ ไม่เคยคิดเรื่องพวกนี้เลยนะ พอลองมาตอบดู ช่องทางหาการหารายได้ อาจจะต้องลองทำเป็นภาษาอังกฤษ เพื่อขยาย target / Niche Market ให้เจอ ซึ่งต้องมีการ Research ด้วย //ฉันเองไม่ทำเลย เขียนอย่างเดียว กลยุทธ์ในการเขียน เครื่องมือที่ designil ใช้งาน WordPress Plug-in Designil ทำอะไร ? เพราะพฤติกรรมของ User เปลี่ยนแปลงตลอด ดังนั้นจึงต้องมา Update ทำ Research สม่ำเสมอ และ Automation + AI สมัยนี้มันแทนเราได้เกือบหมด เราต้องหาลู่ทางที่ AI ยังทำไม่ได้ หรือทำเสริมกับมันไป เหมือนช่วงขายของมี Plug-in Feature Image Generator หรือป่าว ถ่ายไม่ทัน แอบสนอยู่นะ 555Resource: Slide ปิดท้าย วันนี้แบบว่าไม่รู้ดวงดี หรือป่าว ได้เจ้า Wapuu เป็นตัน WordPress Mascot มาด้วย สงสัยต้องรอลุ้นวันที่ 1 แล้วนี่ เผื่อจะได้สลากทองคำกับเค้าบ้าง และลองคุยกับหลายๆท่านในห้องงานนี้มีทั้ง Super User / Dev อ๋อระหว่างที่จะกด Publish WordPress6.2…

บันทึกการเรียน Humanistic Software Architecture

ถ้าถามผม ตอนแรกที่มาเรียน ผมคิดเป็นภาพ Requirement เลย 5555 ปัญหกส่วนใหญ่มาจากคน และเข้าใจว่ามีอะไรสักอย่างที่มาสะท้อน Software Architecture เพราะหลายครั้งที่ทำงาน เรามีอิหยังวะ แต่ไม่รู้ว่ามัน เพราะอะไร มันแค่ไม่ใช่แหละ เลยลองสมัครดูรอบแรกแค่เต็มไปซะก่อน เลยเป็น Waiting List ของรอบ#02 ครับ หัวข้อก็มี ดังนี้ครับ การเดินทาง Day1 ก่อนเรียนให้มอง useful > correct นะครับ เริ่มต้นด้วยอะไรที่มองว่าเป็น problem จะช่วยให้เราแยก หรือ Sense ได้นะ ว่า อะไรเป็น ภาพในหัวผมไปตอนทำ Requirement ซึ่งเรียกในส่วนของ Desire State (to be) เป็นอะไรที่ต้องวัดได้ จาก Statement เรามีลางสังหรณ์(Sense) มาเป็น Problem ได้นะ ที่นี้การตีความมันได้หลายแบบทั้งสิ่งที่ Improve หรือ Pain แทนนะ ต้องระวังด้วย ทำผิดทางไปเหนื่อย 555 หลังจากเรารู้นิยามของ Problem แล้ว มันเกี่ยวกับจิตวิทยายังไง ในศาสตร์ด้านนี้ 3 ส่วน สำหรับใน Course นี้จะเป็น Humanistic โดยใช้ตัว Therapy Model – Satir (ตอนแรกผมเข้าใจว่าพี่เค้าคิดคำขึ้นมาเอง) เอาภาพของ Problem ตั้งใหม่ NOTE: Coping มันมีโอกาสปรับจาก disappointment มาเป็น problem จนกว่าเราจะถึงจุดที่ยอมรับ(Acceptance) กับมันได้ (Exit Case ได้รับ Yearning ที่ต้องการ) ตัว Satir มันจะเอามาตอบว่าคนเรา แสดงการกระทำออกมา (Behavior) หรือ ปรับ Skill…

Dockerfile สำหรับ jenkins ที่ build . NET Core3 / .NET6

หลังจากวันเจ้าตาก65 ตัดสินใจ Merge Code เข้าเส้นหลักไปแล้ว ขอแปะ dockerfile ของ Jenkins ที่ใช้ build .NET Core3 และ .NET6 เผื่อต้องกลับหาใหม่ครับ .NET Core3 .NET6 อ๋อ หลายคนอาจจะสงสัยว่าทำไมไม่ใช้งาน Multi-Stage Build ไปเลย Storage มันไม่พอครับ เวลามีหลายๆ Build เพราะตอน Build มัน Pull Image Build ลงมาชุดนึง + Restore Dependency เลยทำ multi-Stage ในตอน Pack คือ เอาตัว Build แล้ว + Lib มา Pack เข้า Container เท่านั้น Reference

เปิดใช้ Auto Detect Workout บน Huawei Watch FIT

หลังจากตัว Huawei Watch FIT ที่ได้จากงาน Huawei Connect 2022@BKK นี้เพิ่งได้แกะออกมาใช้งานจริงๆครับ ตอนแรกงงๆ มันเหมือน Samsung Galaxy FIT2 ที่เวลาเดิน หรือวิ่ง มันจับอัตโนมัติเลย ซึ่งสะดวกมาก หลังจากต้องกด Workout เลือก Activity แล้วลองวิ่ง เราพบวิธีเปิดมันแล้วครับ Enable Auto-detect workouts Reference

[SonarQube] Fixed Exception in thread “Report about progress of Java XML analyzer” java.lang.OutOfMemoryError: Java heap space

Problem Solution กำหนด Memory ให้ Sonar Scanners เพิ่ม โดยแก้ Environment Variable SONAR_SCANNER_OPTS และกำหนดค่า Xmx ซึ่งเจ้าค่า Xmx = maximum memory allocation pool ของ JAVA ครับ สำหรับการแก้ไขในแต่ละ Environment มี ดังนี้ NOTE: จากที่ลองมา ตัวเลย 512MB ตามที่ Official Doc แนะนำมาไม่เพียงพอ อย่างของผมกำหนดเป็น 4096MB เลย เพราะขนาด Project ใหญ่มากๆ แต่อย่าลืมตรวจสอบ RAM ที่เครื่องที่ Run Sonar Scanner ด้วยนะ ว่าเพียงพอไหม Reference

[CR] ร้านต้มเนื้อป๋าเหมี่ยว (อิสรภาพ)

สำหรับร้านนี้เป็นร้านที่แบบว่า ผมงงกับข้อมูลมาก เพราะ Youtuber หลายท่านมักจะบอกว่ามันขายทุกวันช่วงเช้านะ แต่ผมมาแล้วไม่เจอครับ (ขายศุกร์-อาทิตย์ ช่วงเช้า) พอดีวันนี้มาแล้วเจอเลยตัดสินใจลองชิมเลยครับ ^__^ ราคา ธรรมดา 100 บาท / พิเศษ 120 บาทครับ ที่ตั้งร้าน ร้านนี้เรียกว่าคุ้มกับราคาจริงๆครับ ขายศุกร์-อาทิตย์ ช่วงเช้า ถ้าไปช่วงสายๆหน่อยสัก 10-11 โมง จะได้เนื้อที่เปื่อยกว่านี้ครับ ของผมไปกินตอน 8.15 อ่อบางสัปดาห์ลุงแกอาจจะไม่ขายนะครับ ทางทีดีลองโทรมาสอบถามตามเบอร์ในรูปได้เลยครับ ^__^

เมื่อ DEV ลองไป Workshop Azure Cloud Adoption Framework

พอดีได้เห็นกลุ่ม Zabbix in Thailand มีแชร์ Workshop การทำ Cloud Adoption Framework โดย อาจารย์ ตูล MVPSKILL และสถานที่มันใกล้ๆด้วยจัดที่มหาวิทยาลัยราชภัฏบ้านสมเด็จฯ ทางผ่านตอนไปทำงานพอดีเลย ผมเลยลองมาทำ Workshop ดูครับ โดยหัวข้อที่เรียน และลองทำมีดังนี้ครับ Azure Fundamental Cloud Adoption Framework (CAF) – Cloud Adoption Framework Life Cycle – Getting Start with CAF 1. Understand how Azure works – เข้าใจว่า Cloud คือ อะไร ทำงานยังไง ทุกคนต้องเข้าใจ ไม่ใช่ Role-IT 2. Understand initial Azure concepts Azure fundamental concepts – Cloud Adoption Framework – พวก AZ-900 3. Review the portfolio (เขียน Proposal ของการย้าย) 4. Define portfolio-hierarchy depth to align the portfolio ถ้าจัด portfolio แบ่งเป็นส่วนๆ ตามแผนก หรือ role (infra / app / prod) เป็นต้น นึกไม่ออกอาจจะลองจัดตามนี้ก็ได้ 5. Establish a naming and…