--- PAGE 1 --- โครงการจ้างพัฒนาระบบงาน บริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) ธนาคารเพื่อการเกษตรและสหกรณ์การเกษตร งวดงานที่ 6 Non-Functional Test (NFT) - รายงานผลการทดสอบการเจาะระบบ (Penetration Test) ditto บริษัท ดิทโต้ (ประเทศไทย) จำกัด (มหาชน) --- PAGE 2 --- 9 ตนฉบับ 容 EZ ธนาคารเพื่อการเกษตรและสหกรณ์การเกษตร รายงานผลการตรวจสอบความปลอดภัยของระบบ การทดสอบเจาะระบบ Penetration test 9 โครงการสัญญาจ้างพัฒนาระบบงานบริหารจัดการ คุณภาพหนี้เพื่อยกระดับการให้บริการ รายงานเมื่อวันที่ 10 พฤศจิกายน พ.ศ. 2568 --- PAGE 3 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 โครงการสัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ ชื่อเอกสาร : สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ คณะทํางาน : File name : รายงานผลการตรวจสอบความปลอดภัยของระบบ Penetration test เลขที่ : 64006243 ผู้เขียน : บริษัท บิซ โฟล์ค จำกัด Version no. : 1.0 Date : 10 พฤศจิกายน 2568 ผู้ผลิตเอกสาร : บริษัท บิซ โฟล์ค จำกัด ประเภทเอกสาร : ( / ) เอกสารสงมอบตามสัญญา ( ) เอกสารภายในโครงการ ( ) เอกสารส่งมอบเพิ่มเติม ( ) รายงานประจำ ( ) รายงานพิเศษ........ ( ) Page 2 of 63 2 --- PAGE 4 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 Revision History 3 No. Version Date of A/M/D Description of Change Author (V.X.X) Change (YYYYMMDD) 1 V1.0 20251110 A Initial Version Biz Folk A = Added M = Modified D = Deleted บริษัท ดิตโต้ จำกัด (มหาชน) Kittelal ผู้จัดการโครงการ 10 พฤศจิกายน 2568 Project Sign off บริษัท บิซ โฟล์ค จำกัด S.Thanapol (ธนพล ไทรชมภู) ผู้เชี่ยวชาญด้านความปลอดภัยไซเบอร์ 10 พฤศจิกายน 2568 Page 3 of 63 --- PAGE 5 --- คำนํา. ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 สารบัญ ความเป็นมา............ วัตถุประสงค์ของโครงการ บทที่ 1 บทนำ (Introduction). 1.1 ภาพรวมของการทดสอบ 1.2 วัตถุประสงค์ 1.3 การวิเคราะห์ระดับความเสี่ยงตามรายการช่องโหว่ที่ตรวจพบ บทที่ 2 ขอบเขตการดำเนินงาน 2.1 ระยะเวลาการทดสอบ 2.2 เครื่องมือที่ใช้ในการทดสอบ 2.3 ทีมทดสอบ...... 2.4 ข้อจำกัด บทที่ 3 แนวทางการทดสอบ.. 3.1 วิธีการที่ใช้ในการทดสอบ 3.2 ข้อมูลอ้างอิงที่ใช้ประเมินความเสี่ยง 3.3 เมทริกซ์ของผลกระทบและความน่าจะเป็น (Impact and Likelihood Matrix).. 3.4 ระดับการจัดอันดับความเสี่ยง (Risk rating level............ บทที่ 4 สรุปช่องโหว่ที่ตรวจพบ .. บทที่ 5 รายละเอียดของช่องโหว่จากการทดสอบเจาะระบบ.. 5.1 ตรวจพบว่า JSON Parameter ไม่ตรวจสอบ payload injection........ 5.2 ระบบไม่มี Session Timeout หลังจากมีการ Logout จากระบบ 5.3 สามารถเข้าถึงข้อมูลได้โดยไม่ต้องมี Access Token. 5.4 ตรวจพบมีการใช้งาน Session Token บน URL Path. 5.5 ตรวจพบ Secret/Credential Key ใน source code... 5.6 ตรวจพบการใช้งาน Software ที่มีช่องโหว่................ 5.7 ตรวจพบการใช้งาน Software บน Header.. Page 4 of 63 5 7 7 00 .8 9 9 .10 10 10 .12 22 .12 .13 .13 .14 .25 .29 .31 32 32 37 .45 .48 .52 .55 .58 4 --- PAGE 6 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 สารบัญตาราง ตารางที่ : 1 รายละเอียดเป้าหมายสําหรับการทดสอบ.. ตารางที่ : 2 การทดสอบได้ดำเนินการตามรายการในตารางด้านล่าง ตารางที่ : 3 เครื่องมือที่ใช้ทดสอบแสดงตามรายการในตารางด้านล่าง ตารางที่ : 4 การทดสอบได้ดาเนินการโดยทีมทดสอบตามรายชื่อในตารางด้านล่าง. ตารางที่ : 5 ประเภทของการทดสอบหาช่องโหว่และการทดสอบเจาะระบบ ตารางที่ : 6 รายงานของ OWASP Top 10 Application Security Risks – 2021 (https://owasp.org/Top10/). ตารางที่ : 7 ความหมายของหัวข้อที่เกี่ยวข้องกับ Common Weakness enumuration..... ตารางที่ : 8 คะแนนของผลกระทบในด้าน "เชิงเทคนิค" และ "เชิงธุรกิจ" ตารางที่ : 9 คะแนนปัจจัยของ "ตัวแทนผู้ลักลอบ" และ "ช่องโหว่" ที่ใช้ประเมินความน่าจะเป็น ตารางที่ : 10 สรุปช่องโหว่ที่ตรวจพบจากการเจาะระบบและความเสี่ยงที่เกี่ยวข้อง Page 5 of 63 5 8 .10 .10 .12 .13 .14 .23 25 _ .27 .31 --- PAGE 7 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 สารบัญรูป รูปที่: 1 กราฟแสดงจํานวนของระดับความเสี่ยงที่วิเคราะห์ตามรายการช่องโหว่ที่ตรวจพบ Page 6 of 63 6 --- PAGE 8 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 ความเป็นมา คำนำ ธนาคารเพื่อการเกษตรและสหกรณ์การเกษตร ซึ่งต่อไปนี้เรียกว่า “ธ.ก.ส.” มีความประสงค์จะบริหาร จัดการลูกค้าที่ผิดนัดชำระหนี้อย่างมีประสิทธิภาพ เพื่อลดอัตราการเกิดหนี้เสียซึ่งกระทบกับต้นทุนโดยตรงและ ต้นทุนด้านความเสี่ยงของธนาคาร ความจำเป็นในการบริหารจัดการหนี้ด้วยกลยุทธ์ จากการวิเคราะห์ข้อมูล และเครื่องมือในการบริหารจัดการหนี้ที่เหมาะสมเป็นปัจจัยสำคัญที่จะช่วยปัญหาดังกล่าว ทางธนาคารสามารถ ใช้ทรัพยากร และบุคลากรที่มีอยู่ อย่างคุ้มค่าเพื่อลดความสูญเสียที่เกิดขึ้น โดยธนาคารสามารถบริหารจัดการ หนี้ได้อย่างเป็นระบบและมีประสิทธิภาพ ปัจจุบันธนาคารได้ดำเนินโครงการพัฒนาระบบงานบริหารจัดการ คุณภาพหนี้ (End To End Process) สำหรับช่วยงานในกระบวนการปรับปรุงโครงสร้างหนี้ที่กลุ่มลูกหนี้ที่เป็น หนีดอยคุณภาพ (Non-Performing Loans: NPLs) ธนาคารจึงได้มีแนวทางพัฒนาโครงการเพิ่มประสิทธิภาพระบบงานบริหารจัดการคุณภาพหนี้เพื่อ ยกระดับการให้บริการ (Enhance Debt Management Service) ซึ่งมีประกอบไปด้วย ระบบสามารถรองรับ การทำงานได้ขณะมีสัญญาณอินเตอร์เน็ต (Online Mode) และไม่มีสัญญาณอินเตอร์เน็ต (Offline Mode) ให้ สามารถทําผ่านช่องทางการให้บริการของธนาคาร เช่น ช่องทางคอมพิวเตอร์แท็บเล็ต (Tablet Computer) ของธนาคาร ของทางคอมพิวเตอร์บุคคล (Personal Computer) คอมพิวเตอร์โน๊ตบุก (Laptop Computer) ของธนาคาร เชื่อมต่อกับฐานข้อมูลศูนย์ข้อมูลส่วนกลางของธนาคาร เพื่อให้สามารถจัดเก็บข้อมูลและการ กําหนดตัวชี้วัดผลงาน (KPI) รวมถึงเชื่อมต่อกับระบบต่างๆ ของธนาคารได้ ด้วย API ที่เป็นอย่างน้อย โดยมี รายละเอียดขอบเขตของงาน (Terms of Reference: TOR) ตามที่แนบเอกสารฉบับนี้ วัตถุประสงค์ของโครงการ 1. เพื่อเพิ่มประสิทธิภาพระบบงานบริหารจัดการคุณภาพหนี้ สนับสนุนการขับเคลื่อนงานบริหารจัดการ คุณภาพหนี้ให้บรรลุเป้าหมายตามอัตรากำหนด 2. เพื่อให้ธนาคารสามารถบริหารจัดการลูกหนี้ที่เป็นหนี้ด้อยคุณภาพได้อย่างมีประสิทธิภาพ 3. เพื่อสนับสนุนช่วยเจ้าหน้าที่ โดยการลดภาระค่าใช้จ่ายในการเดินทางมาติดต่อธนาคาร Page 7 of 63 7 --- PAGE 9 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 บทที่ 1 บทนำ (Introduction) 8 1.1 ภาพรวมของการทดสอบ การทดสอบเจาะระบบ (Penetration Test) เป็นกระบวนการที่มุ่งเน้นการประเมินความมั่นคง ปลอดภัยของระบบโดยการจ่าลองการโจมตีระบบเพื่อค้นหาช่องโหว่และประเมินความทนทานของระบบต่อ การโจมตีจริง ๆ ในขณะเดียวกัน การทดสอบเจาะระบบมุ่งเน้นการทดสอบด้วยพฤติกรรมของผู้โจมตีซึ่งมุ่ง หมายร้ายและใช้วิธีการโจมตีทั้งตรงและทางอ้อมในการเข้าถึงข้อมูล การทดสอบนี้ช่วยในการค้นหาข้อบกพร่อง และช่องโหว่ที่อาจเกิดขึ้นในระบบเพื่อให้ผู้ดูแลระบบสามารถปรับปรุงแก้ไขช่องโหว่เหล่านั้นเพื่อเสริมความ ปลอดภัยของระบบให้มีความทนทานมากยิ่งขึ้นต่อการโจมตีในอนาคต การทดสอบเจาะระบบเป็นเครื่องมือที่ สำคัญในกระบวนการรักษาความปลอดภัยของระบบสารสนเทศและส่งเสริมให้เกิดการปรับปรุงความเชื่อถือได้ ในระบบนั้น ๆ ในองค์กร การทดสอบครั้งนี้เป็นการดำเนินการทดสอบเจาะระบบ (Penetration Test) รูปแบบ Grey-box และ Black-box Penetrationt test บนระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ โดย ประกอบไปด้วย การรักษาความปลอดภัยแอปพลิเคชัน (Application Security), การจัดการสิทธิ์ผู้ใช้ (Access Control), และความเสี่ยงด้านข้อมูลที่เกี่ยวข้องกับธุรกรรม โดยรายละเอียดเป้าหมายแสดงในตารางแสดง เครื่องเป้าหมายบนสภาพแวดล้อม UAT Environment ตารางที่ : 1 รายละเอียดเป้าหมายสําหรับการทดสอบ ท เปาหมายการทดสอบ 2 https://e2e-m1-testapp.app.baac.or.th https://e2e-m2-testapp.app.baac.or.th 3 https://e2e-uat-m3ui.app.baac.or.th 4 https://e2e-m4-testapp.app.baac.or.th 5 https://uat-efiling.app.baac.or.th Page 8 of 63 --- PAGE 10 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 9 1.2 วัตถุประสงค วัตถุประสงค์ของการทดสอบ มีดังนี้ เพื่อค้นหา ตรวจสอบ และระบุช่องโหว่ที่อาจมีอยู่ในระบบเป้าหมายขององค์กร เพื่อเปิดเผย จุดอ่อนที่อาจถูกผู้ไม่หวังดีใช้ประโยชน์ในการโจมตี • เพื่อประเมินความเสี่ยงที่เกี่ยวข้องกับแต่ละช่องโหว่ที่ตรวจพบ โดยจำแนกตามระดับความรุนแรง ของความเสี่ยงและจัดลำดับความสำคัญในการดำเนินการแก้ไขหรือบรรเทาผลกระทบที่อาจ เกิดขึ้น • เพื่อให้ข้อเสนอแนะในการเพิ่มประสิทธิผลในการป้องกันการโจมตีจากผู้บุกรุก และปรับปรุง มาตรการป้องกันและระบบความปลอดภัยตามที่ได้รับจากการทดสอบ 1.3 การวิเคราะห์ระดับความเสี่ยงตามรายการช่องโหว่ที่ตรวจพบ ในการทดสอบครั้งแรกพบช่องโหว่ จํานวน 7 รายการ โดยแบ่งตามระดับความเสี่ยงได้ดังนี้ ความเสี่ยงปาน กลาง จำนวน 3 รายการ ความเสี่ยงต่ำ จำนวน 3 รายการ และ บันทึกไว้ จำนวน 1 รายการ และได้รับการ แก้ไขทั้งหมด โดยแสดงตามกราฟที่แสดงด้านล่าง รายการผลช่องโหว่การพบช่องโหว่ (ครั้งแรก) จำานวน 7 รายการ รายการผลช่องโหว่การพบช่องโหว่ (ทดสอบซ้ำ) ไม่พบช่องโหว่คงเหลือ 110 5 0 0 0 3 3 0 0 0 0 0 ะ ผลการทดสอบครั้งแรก ผลการทดสอบช้า สูงมาก สูง ปานกลาง ตา ข้อเสนอแนะ รูปที่ 1 กราฟแสดงจำนวนของระดับความเสี่ยงที่วิเคราะห์ตามรายการช่องโหว่ที่ตรวจพบ Page 9 of 63 --- PAGE 11 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 บทที่ 2 ขอบเขตการดำเนินงาน ID กิจกรรม 1 Penetration test 2.1 ระยะเวลาการทดสอบ ตารางที่ : : 2 แสดงการทดสอบได้ดำเนินการตามรายการ วันที่ทําเนินการ 24 ตุลาคม 2568 - 6 พฤศจิกายน 2568 Initial Testing 2 Remediation by Developer 6 - 9 พฤศจิกายน 2568 3 Penetration test 10 พฤศจิกายน 2568 Re-visit Testing 4 Deliver Re-visit Report 10 พฤศจิกายน 2568 หมายเหตุ 10 2.2 เครื่องมือที่ใช้ในการทดสอบ เพื่อเพิ่มประสิทธิภาพและความครอบคลุมในการวิเคราะห์ช่องโหว่ ทีมทดสอบได้ใช้วิธีการแบบ ผสมผสานโดยใช้ทั้งเครื่องมือแบบอัตโนมัติและใช้คนเป็นผู้ทดสอบร่วมกัน เครื่องมือที่ใช้ในกระบวนการนี้มีดังนี้ BAAC ATM (Automated Transfer Machine) 1. ชื่อเครื่องมือ NMAP (Network Mapper) ตารางที่ : 3 แสดงเครื่องมือที่ใช้ทดสอบตามรายการ คําอธิบาย เป็นเครื่องมือสําหรับสแกนและวิเคราะห์เครือข่ายที่ใช้ใน การตรวจสอบและค้นหาเครื่อง หาเครื่องแม่ข่าย (hosts) และบริการ (services) ที่ทำงานอยู่บนเครือข่าย มันมีความสามารถใน การสแกนพอร์ต (port scanning) เพื่อตรวจสอบว่าพอร์ต ใดๆ บนเครื่องเป้าหมายถูกเปิดอยู่หรือไม่ รวมถึงการระบุ ระบบปฏิบัติการที่ทำงานอยู่บนเครื่องเหล่านั้นด้วย นอกจากนี้ NMAP ยังมีฟังก์ชันการสแกนแบบมาตรฐานและ แบบลีกเพื่อตรวจสอบช่องโหวและความปลอดภัยของระบบ เป็นเครื่องมือที่ถูกนำมาใช้ในการทดสอบความเสถียรและ Tool type Automatic Page 10 of 63 --- PAGE 12 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 TS 2. ชื่อเครื่องมือ คำอธิบาย ความปลอดภัยของเครือข่ายในการทดสอบเจาะระบบและ การประเมินความเสี่ยงของระบบคอมพิวเตอร์ sstscan/testsst.sh เป็นเครื่องมือสำหรับการทดสอบความปลอดภัยของ 3. Nessus 4. Wireshark 5. Ettercap เซิร์ฟเวอร์ที่ใช้โปรโตคอล SSL/TLS ซึ่งมักถูกใช้เพื่อ ตรวจสอบการกำหนดค่าและการใช้งานของ SSL/TLS บน เซิร์ฟเวอร์หรือเว็บไซต์ เครื่องมือเหล่านี้ช่วยในการค้นหา ปัญหาที่อาจเกิดขึ้นเกี่ยวกับความปลอดภัย เช่น ช่องโหว่ใน การกำหนดค่า SSL/TLS, การใช้งานของสัญญาณดิจิทัล (certificates) และการตรวจสอบความปลอดภัยของ เว็บไซต์ที่ใช้ SSL/TLS รวมถึงปัญหาที่เกี่ยวข้องกับการ เชื่อถือของผู้ออก Certificate Authority (CA) ด้วย เป็นเครื่องมือการตรวจสอบความปลอดภัยแบบอัตโนมัติ (Automated Security Scan) ซึ่งมีความสามารถในการ สแกนและตรวจสอบหาช่องโหว่ที่อาจมีความเสี่ยงต่อระบบ คอมพิวเตอร์และเครือข่าย ม เป็นเครื่องมือวิเคราะห์โปรโตคอลเครือข่ายแบบโอเพน ซอร์ส ใช้สำหรับตรวจจับและวิเคราะห์แพ็คเก็ตข้อมูลที่ ส่งผ่านเครือข่าย สามารถดักจับและแสดงรายละเอียดของ แพ็คเก็ตแบบเรียลไทม รวมถึงการกรองและค้นหาแพ็คเก็ต ตามเงื่อนไขต่างๆ ช่วยในการแก้ไขปัญหาเครือข่าย การ ตรวจสอบความปลอดภัย และการวิเคราะห์โปรโตคอล เป็นเครื่องมือที่ใช้สำหรับการโจมตีเครือข่ายแบบ Man-in- the-middle Attack การตรวจจับและการบุกรุกเครือข่าย (Network sniffing and Network attack) รวมถึงการดัก จับข้อมูลที่ถูกส่งผ่านเครือข่าย เช่น รหัสผ่าน (passwords), Tool type Automatic Automatic Manual Manual Page 11 of 63 11 --- PAGE 13 --- ชื่อเครื่องมือ 2.3 ทีมทดสอบ ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 คำอธิบาย เฟรมเวิร์ก (network frames), และแพ็คเก็ตข้อมูลอื่น ๆ Tool type รายชื่อผู้ทดสอบ 1 Warunyou ตารางที่ : 4 การทดสอบได้ดำเนินการโดยทีมทดสอบตามรายชื่อในตารางด้านล่าง Certification ประสบการณ์การทำงาน OCSP, CEH, CompTIA ดำเนินการประเมินช่องโหวและทดสอบเจาะ Sunpachit Security+, CompTIA ระบบในระดับ Mobile Application, Web Pentest+, CC Application, Network, Thick-client Application ในธุรกิจการเงินการธนาคาร 12 2 Pongsathon Sirithanyakul OCSP, CEH, CompTIA Security+, CompTIA Pentest+, CC 2.4 ขอจำกัด โทรคมนาคม ประภัยภัย และอื่นๆ โดยมี ประสบการณ์ด้านการประเมินช่องโหว่และ ทดสอบเจาะระบบมากกว่า 15 ปี ดำเนินการประเมินช่องโหวและทดสอบเจาะ ระบบในระดับ Mobile Application, Web Application, Network, Thick-client Application ในธุรกิจการเงินการธนาคาร โทรคมนาคม ประภัยภัย และอื่นๆ โดยมี ประสบการณ์ด้านการประเมินช่องโหว่และ ทดสอบเจาะระบบมากกว่า 7 ปี การทดสอบนี้เป็นการทดสอบจุดในเวลาที่กำหนดเท่านั้น (point-in-time test) และการประเมินความ ปลอดภัยถูกจํากัดอยู่ในช่วงเวลาที่ตกลงกันไว้ เวลาที่เพิ่มเติมและการทดสอบเพิ่มเติมอาจจะเปิดเผยสิ่งที่ สังเกตเห็นได้อีก ขอแนะนำให้ดำเนินการทดสอบช่องโหว่เพิ่มเติมรอบต่อไป รวมถึงการทดสอบการเจาะระบบ บนระบบเป็นระยะหรือเมื่อมีการเปลี่ยนแปลงที่สำคัญ เช่น การเปลี่ยนเวอร์ชันซอฟต์แวร์ใหม่หรือการติดตั้ง อุปกรณ์ใหม่ การเปลี่ยนแปลงที่สำคัญเช่นนี้อาจเป็นเหตุให้เกิดช่องโหว่ใหม่ ๆ ได้ Page 12 of 63 --- PAGE 14 --- SA 3.1 วิธีการที่ใช้ในการทดสอบ ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 บทที่ 3 แนวทางการทดสอบ 13 วัตถุประสงค์ของการประเมินนี้คือการตรวจพบช่องโหว่หรือจุดอ่อนที่ต้องการปรับปรุง และให้ ข้อเสนอแนะในการแก้ไขปัญหาที่พบและรายละเอียดของความต้องการในเชิงปฏิบัติการ การประเมิน ครอบคลุมถึงสามประเภทของการทดสอบช่องโหว่และการทดสอบเจาะระบบตามตารางด้านล่าง ตารางที่ : 5 ประเภทของการทดสอบหาช่องโหว่และการทดสอบเจาะระบบ การทดสอบแบบกล่องดำ การทดสอบแบบกลองเทา การทดสอบแบบกลองขาว (Black box) (Grey box) (White box) 1) ไม่จำเป็นต้องให้ข้อมูลเกี่ยวกับ 1) กำหนดระบบเป้าหมาย เป้าหมายของระบบ 2) ให้บัญชีผู้ใช้ในแต่กลุ่ม 1) ให source-codes ของระบบ นั้น ๆ ละฟังก์ชันการใช้งาน 2) จําเป็นต้องยืนยันเป้าหมายก่อน 3) ให้คำอธิบายรายละเอียดการ 2) ให้คำอธิบายรายละเอียดของแต่ ทดสอบเจาะระบบ เพื่อป้องกัน ใช้งานระบบแต่ละเมนู การทดสอบนอกขอบเขต 3) ไม่ให้บัญชีผู้ใช้สำหรับทดสอบ เจาะระบบ ทางทีมงานได้พัฒนากระบวนการการทดสอบเจาะระบบ จากกรอบการทดสอบต่าง ๆ (Framework) เพื่อนำมาประยุกต์ใช้ให้เหมาะสมกับสภาพแวดล้อมการทดสอบเจาะระบบนั้น ๆ เช่น กระบวนการทดสอบ ความปลอดภัยทั้งด้านความตระหนักการใช้งานสารสนเทศ (Human) ทางด้านกายภาพ (Physical) การ ทดสอบโครงข่ายไร้สาย (Wireless) จาก Open Source Security Testing Methodology Manual (OSSTMM) V3 การทดสอบเจาะระบบของระบบสารสนเทศบนเครื่องโทรศัพท์มือถือ Mobile Application Security Verification Standard (MASVS) และ OWASP Mobile Security Testing Guide (MSTG) การ ทดสอบเจาะระบบเว็บแอปพลิเคชัน OWASP Testing Guide (OTG) v4 เป็นต้น Page 13 of 63 --- PAGE 15 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 14 3.2 ข้อมูลอ้างอิงที่ใช้ประเมินความเสี่ยง 3.2.1 OWASP Top 10 Application Security Risks - 2021 เป็นรายงานที่กำหนดและระบุปัญหาที่เกี่ยวข้องกับความปลอดภัยในการพัฒนาและดำเนินการแอป พลิเคชันที่พบบ่อยในการใช้งานจริง รายงานนี้ถูกเผยแพร่โดย OWASP (Open Web Application Security Project) ซึ่งมุ่งเน้นการเสริมสร้างความปลอดภัยในเว็บแอปพลิเคชันและซอฟต์แวร์ การระบุปัญหาความ ปลอดภัยที่สำคัญที่ถูกนำเสนอในรายงานนี้ช่วยให้นักพัฒนาและผู้ดูแลระบบสามารถระบุและแก้ไขปัญหาด้าน ความปลอดภัยในขั้นตอนการพัฒนาและดำเนินการแอปพลิเคชันได้อย่างมีประสิทธิภาพ ตารางที่ : 6 รายงานของ OWASP Top 10 Application Security Risks – 2021 (https://owasp.org/Top10/) คําอธิบาย OWASP Top 10 Application 2021 A1: Broken Access Control ความเสี่ยงที่เกี่ยวข้องกับปัญหาในการควบคุมการเข้าถึงข้อมูลหรือฟังก์ชัน ในระบบโดยไม่ถูกต้องหรือไม่เพียงพอ ซึ่งอาจทำให้ผู้ไม่ประสงค์ดีสามารถเข้าถึง ข้อมูลหรือทำรายการที่ไม่ได้รับอนุญาต รายละเอียดการทำงานอาจรวมถึง 1. การเข้าถึงข้อมูลที่ไม่ได้รับอนุญาต: ผู้ไม่ประสงค์ดีอาจสามารถเข้าถึงข้อมูล ที่มีความลับหรือที่สำคัญโดยไม่ได้รับอนุญาต โดยเรียกใช้ข้อมูลที่ไม่ถูกคัด กรองหรือไม่มีการตรวจสอบการสิทธิ์การเข้าถึง 2. การเปลี่ยนแปลงข้อมูลที่ไม่ได้รับอนุญาต: ผู้ไม่ประสงค์ดีอาจทำการ เปลี่ยนแปลงข้อมูลที่สำคัญหรือมีความสำคัญโดยไม่ได้รับอนุญาต ซึ่งอาจ ส่งผลให้เกิดความเสียหายหรือความผิดพลาดในระบบ 3. การทำรายการที่ไม่ได้รับอนุญาต: ผู้ไม่ประสงค์ดีอาจดำเนินการรายการที่ ส่งผลกระทบที่ไม่พึงประสงค์ต่อระบบหรือข้อมูล โดยใช้ฟังก์ชันหรือ ความสามารถที่ไม่ได้รับอนุญาต การแก้ไขปัญหาที่เกี่ยวข้องกับรายงาน A1 สามารถทำได้โดยการใช้ระบบ การควบคุมการเข้าถึงที่เข้มงวดและครอบคลุม รวมถึงการทดสอบและตรวจสอบ ความปลอดภัยของระบบอย่างสม่าเสมอ Page 14 of 63 --- PAGE 16 --- OWASP Top 10 Application 2021 A2: Cryptographic Failures A3: Injection ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 คําอธิบาย ความเสี่ยงที่เกี่ยวข้องกับปัญหาในการใช้เทคนิคการเข้ารหัสที่ไม่ถูกต้อง หรือไม่เพียงพอ ซึ่งอาจทำให้ข้อมูลที่เกี่ยวข้องกับความลับหรือความปลอดภัยถูก เปิดเผยหรือถูกแยกจากกันได้ รายละเอียดการทํางานอาจรวมถึง: 1. การใช้วิธีการเข้ารหัสที่ไม่เพียงพอ: การใช้วิธีการเข้ารหัสที่ไม่เหมาะสมหรือ มีความเสี่ยงสูง เช่น การใช้วิธีการเข้ารหัสที่ถูกทำลายหรือเป็นที่รู้จักใน วงการว่าไม่ปลอดภัย 2. ความยากจนของกุญแจ: การสร้างและการจัดการกับกุญแจการเข้ารหัสที่ไม่ ปลอดภัย ซึ่งอาจทำให้ผู้ไม่ประสงค์ดีสามารถทำการระบาดไวรัสหรือเข้าถึง ข้อมูลที่สำคัญได้ 3. การจัดการกับการรักษาความลับ: การเก็บรักษาและการจัดการกับข้อมูลที่ เข้ารหัสอาจมีข้อบกพร่องหรือการจัดการที่ไม่เหมาะสมทำให้ข้อมูลถูก เปิดเผยหรือถูกแยกจากกัน 4. การบูรณะระบบเข้ารหัส: การประยุกต์ใช้ระบบการเข้ารหัสที่มีข้อบกพร่อง หรือมีการเลือกใช้แบบไม่ถูกต้อง ซึ่งอาจทำให้ข้อมูลเสี่ยงต่อการโจมตี การแก้ไขปัญหาที่เกี่ยวข้องกับรายงาน A2 สามารถทำได้โดยการใช้ เทคโนโลยีการเข้ารหัสที่มีความปลอดภัยและเหมาะสม รวมถึงการปรับปรุง กระบวนการสร้างและจัดการกับคีย์เวิร์ดการเข้ารหัสอย่างระมัดระวังและมี ประสิทธิภาพ ความเสี่ยงที่เกี่ยวข้องกับการสั่งการไม่ประสงค์ดีที่ฝังเข้าไปในขอมูลหรือ คําสั่งที่รับเข้ามาในระบบโดยไม่ได้รับการตรวจสอบหรือกรองอย่างเหมาะสม ซึ่งอาจ ทำให้เกิดการโจมตีแบบ Injection เช่น SQL Injection, Command Injection, ی LDAP Injection, o XML Injection รายละเอียดการทำงานของรายงาน A3 สามารถรวมถึง: Page 15 of 63 15 --- PAGE 17 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 16 OWASP Top 10 Application 2021 A4: Insecure Design คําอธิบาย 1. SQL Injection: การฝังโค้ด SQL ที่ไม่ประสงค์ดีในข้อมูลที่ถูกส่งเข้ามาใน แอปพลิเคชันเพื่อเข้าถึงหรือปรับเปลี่ยนข้อมูลในฐานข้อมูล 2. Command Injection: การฝังโค้ดคำสั่งระบบที่ไม่ประสงค์ดีในข้อมูลที่ถูก ส่งเข้ามาในแอปพลิเคชันเพื่อรับคำสั่งในระบบหรือเข้าถึงข้อมูลที่ไม่ได้รับ อนุญาต 3. LDAP Injection: การฝังโค้ด LDAP ที่ไม่ประสงค์ดีในข้อมูลที่ถูกส่งเข้ามา ในแอปพลิเคชันเพื่อโจมตีบริการไดเรกทอรีและเข้าถึงข้อมูลที่สำคัญ 4. XML Injection: การฝังโค้ด XML ที่ไม่ประสงค์ดีในข้อมูล XML ที่ถูกส่งเข้า มาในแอปพลิเคชันเพื่อโจมตีระบบหรือเปิดเผยข้อมูลที่ละเมิดความเป็น ส่วนตัว การป้องกันการโจมตีแบบ Injection สามารถทำได้โดยการใช้พื้นที่จำกัด สิทธิ์และกรองข้อมูลอย่างเหมาะสมก่อนที่จะส่งเข้าสู่ระบบ รวมถึงการใช้พื้นที่จำกัด สิทธิ์ในการเข้าถึงฐานข้อมูล และการใช้พื้นที่จำกัดสิทธิ์ในการรันคำสั่งระบบหรือ เรียกใช้บริการจากภายนอก ความเสี่ยงที่เกี่ยวข้องกับการออกแบบและสร้างแอปพลิเคชันโดยไม่คำนึงถึง มาตรฐานความปลอดภัยและหลักการออกแบบที่ปลอดภัยอย่างเพียงพอ ซึ่งอาจทํา ให้เกิดช่องโหวและความไม่ปลอดภัยต่าง ๆ ในแอปพลิเคชัน ๆ รายละเอียดการทำงานของรายงาน A4 สามารถรวมถึง: 1. การขาดความสามารถในการจำกัดสิทธิ์: การขาดความสามารถในการจำกัด สิทธิ์และควบคุมการเข้าถึงข้อมูลหรือฟังก์ชันของแอปพลิเคชัน ซึ่งอาจทำให้ ผู้ไม่ประสงค์ดีสามารถเข้าถึงข้อมูลที่ไม่เหมาะสมหรือทำการกระทำที่ไม่ เหมาะสม 2. การไม่คำนึงถึงการป้องกันที่มีชั้นของข้อมูล: การออกแบบแอปพลิเคชันโดย ไม่คำนึงถึงการป้องกันที่มีชั้นของข้อมูล ซึ่งอาจทำให้ข้อมูลที่สำคัญถูก Page 16 of 63 --- PAGE 18 --- OWASP Top 10 Application 2021 ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 คําอธิบาย A5: Security Misconfiguration เปิดเผยหรือถูกใช้โดยผู้ไม่ประสงค์ดี 3. การขาดความสามารถในการตรวจสอบและการติดตาม: การขาด ความสามารถในการตรวจสอบและติดตามกิจกรรมที่เกิดขึ้นในระบบ เช่น การไม่มีการบันทึกล็อกหรือไม่มีการแจ้งเตือนเมื่อมีกิจกรรมที่เป็นไปไม่ได้ การแก้ไขปัญหาที่เกี่ยวข้องกับรายงาน A4 สามารถทำได้โดยการออกแบบ และพัฒนาแอปพลิเคชันโดยให้คำนึงถึงความปลอดภัยตั้งแต่ต้น รวมถึงการใช้ หลักการและเทคโนโลยีที่ปลอดภัย เพื่อลดความเสี่ยงของช่องโหว่และความไม่ ปลอดภัยในแอปพลิเคชัน ความเสี่ยงที่เกี่ยวข้องกับการกําหนดค่าและการตั้งค่าระบบหรือแอปพลิเค ขันโดยไม่ถูกต้องหรือไม่เพียงพอทำให้เกิดช่องโหว่ที่เปิดเผยข้อมูลหรือทำให้เกิด ความไม่ปลอดภัย รายละเอียดการทำงานของรายงาน A5 สามารถรวมถึง: 1. ค่าเริ่มต้นที่ไม่ปลอดภัย: การใชคาเริ่มต้นที่ไม่ปลอดภัยหรือคาที่มีความเสี่ยง เช่น รหัสผ่านเริ่มต้นที่ถูกตั้งไว้, การเปิดใช้งานฟีเจอร์ที่ไม่จำเป็น 2. การกำหนดค่าสิทธิ์ไม่ถูกต้อง: การกำหนดค่าสิทธิ์หรือสิทธิ์ที่ไม่เพียงพอ ทำ ให้ผู้ไม่ประสงค์ดีสามารถเข้าถึงข้อมูลหรือฟังก์ชันที่ไม่ได้รับอนุญาตได้ ม 3. การทิ้งรายละเอียดการทํางานที่ไม่จําเป็น: การทิ้งรายละเอียดการทํางาน หรือข้อมูลที่ไม่จำเป็นทำให้ผู้ไม่ประสงค์ดีสามารถใช้ข้อมูลนั้นในการโจมตี ได้ 4. ขาดการอัปเดตและการจัดการเวอร์ชั่น: การขาดการอัปเดตซอฟต์แวร์หรือ การจัดการเวอร์ชั่นที่สามารถทำให้เกิดช่องโหว่ที่มีชั้นความปลอดภัยต่ำหรือ ทําให้เกิดความไม่ปลอดภัยในระบบ การแก้ไขปัญหาที่เกี่ยวข้องกับรายงาน A5 สามารถทำได้โดยการตั้งค่า ระบบและแอปพลิเคชันให้เป็นไปตามหลักการและมาตรฐานความปลอดภัย รวมถึง Page 17 of 63 17 --- PAGE 19 --- OWASP Top 10 Application 2021 ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 คําอธิบาย 18 A6: Vulnerable and Outdated Components A7: Identification and Authentication Failures การทดสอบความปลอดภัยและการตรวจสอบการตั้งค่าเพื่อให้แน่ใจว่าไม่มีความ เสี่ยงหรือช่องโหวใดๆ ที่เปิดเผยข้อมูลหรือทำให้เกิดความไม่ปลอดภัยในระบบ ความเสี่ยงที่เกี่ยวข้องกับการใช้งานส่วนประกอบของระบบหรือแอปพลิเค ชันที่มีช่องโหว่หรือเวอร์ชันเก่าที่มีความไม่ปลอดภัย ซึ่งอาจทําให้เกิดความเสี่ยงและ ช่องโหวต่าง ๆ ในระบบ รายละเอียดการทำงานของรายงาน A6 สามารถรวมถึง: 1. การใช้งานส่วนประกอบที่มีช่องโหว่: การใช้งานและการนำเข้าส่วนประกอบ หรือไลบรารีที่มีช่องโหว่ในระบบ เช่น ไลบรารีที่มีช่องโหว่ของชนิด ซอฟต์แวร์ต่าง ๆ หรือชุดเครื่องมือที่ไม่ปลอดภัย 2. การใช้งานส่วนประกอบเวอร์ชันเก่า: การใช้งานส่วนประกอบหรือไลบรารีที่ เป็นเวอร์ชันเก่าและมีช่องโหว่ที่ได้รับการแก้ไขในเวอร์ชันล่าสุด 3. การขาดการอัปเดตและการจัดการเวอร์ชั่น: การขาดการอัปเดตและการ จัดการเวอร์ชั่นที่สามารถทําให้เกิดความไม่ปลอดภัยในระบบ และช่องโหว่ที่ มีขั้นความปลอดภัยต่ำ การแก้ไขปัญหาที่เกี่ยวข้องกับรายงาน A6 สามารถทำได้โดยการทำการ สแกนและตรวจสอบส่วนประกอบของระบบหรือแอปพลิเคชันเพื่อตรวจจับ ส่วนประกอบที่มีช่องโหว่หรือเวอร์ชันเก่า และทําการอัปเดตหรือแก้ไขส่วนประกอบ เหล่านั้นเพื่อให้มีความปลอดภัยที่สูงขึ้น เป็นหัวหัวรายงานที่ให้ความสำคัญกับปัญหาเกี่ยวกับการระบุตัวตนและการ รับรองตัวตน ซึ่งเป็นส่วนสำคัญของความปลอดภัยของระบบ เมื่อมีความผิดพลาด เกิดขึ้นในการระบุหรือการรับรองตัวตน ผู้ไม่ประสงค์ดีอาจมีโอกาสเข้าถึงข้อมูลหรือ ฟังก์ชันที่ไม่เหมาะสม หรือกระทำการในฐานะผู้ใช้ที่ถูกสมมติให้มีสิทธิ์สูง โดยไม่ได้ รับการตรวจสอบอย่างเหมาะสม รายละเอียดที่เกี่ยวข้องอาจรวมถึง Page 18 of 63 --- PAGE 20 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 OWASP Top 10 Application 2021 A8: Software and Data Integrity Failures คําอธิบาย 1. Weak Password Policies: นโยบายที่ไม่เข้มงวดเกี่ยวกับการตั้งรหัสผ่านที่ มีความปลอดภัย ทำให้ผู้ไม่ประสงค์ดีสามารถทำการทดลองเดารหัสผ่าน หรือใช้วิธีการต่าง ๆ เพื่อบล็อกเข้าสู่ระบบ ๆ 2. Brute Force Attacks: การโจมตีโดยการทดลองเดารหัสผ่านจนกว่าจะพบ รหัสที่ถูกต้อง ซึ่งอาจเป็นไปได้เมื่อระบบไม่มีการจำกัดจำนวนครั้งที่ลองเดา รหัสเข้าสู่ระบบ 3. Weak Multifactor Authentication (MFA): การใช้วิธีการยืนยันตัวตนที่มี ความปลอดภัยไม่เพียงพอ เช่น การใช้ SMS ในการยืนยันตัวตนซึ่งเป็น ระบบที่มีของโหว่ 4. Session Management: ปัญหาที่เกี่ยวข้องกับการจัดการเซสซัน ซึ่งอาจทำ ให้ผู้ไม่ประสงค์ดีสามารถทำให้เซสชันหรือการตั้งค่าของผู้ใช้หมดอายุ หรือ แยกจากการยืนยันตัวตน 5. Insufficient Account Lockout: การไม่มีการล็อคบัญชีหลังจากจำนวน ครั้งที่พยายามเข้าสู่ระบบผิดพลาดเกินกำหนด อาจทำให้ผู้ไม่ประสงค์ดี สามารถ าเนินการโจมตีด้วยวิธีการทดลองเดารหัสผ่านได้โดยไม่มีข้อจำกัด การแก้ไขปัญหาในหัวข้อนี้จำเป็นต้องมีการสร้างนโยบายความปลอดภัยที่ เข้มงวดเกี่ยวกับการระบุตัวตนและการรับรองตัวตน รวมถึงการใช้เทคโนโลยีที่มี ความปลอดภัยมากขึ้น เช่น การใช้ MFA หรือการใช้วิธีการรับรองตัวตนที่มีความ เข็มงวดมากขึ้น ความเสี่ยงที่เกี่ยวข้องกับความผิดพลาดในซอฟต์แวร์และข้อมูลที่สามารถ ทำให้ข้อมูลหรือซอฟต์แวร์ถูกเปลี่ยนแปลงหรือทำลายโดยไม่ได้รับอนุญาต รายละเอียดการทํางานที่เกี่ยวข้องอาจรวมถึง: 1. ข้อบกพร่องในซอฟต์แวร์: การพัฒนาซอฟต์แวร์ที่มีข้อบกพร่องอาจทำให้มี ช่องโหว่ที่ทำให้ผู้ไม่ประสงค์ดีสามารถเข้าถึงระบบหรือข้อมูลโดยไม่ได้รับ Page 19 of 63 19 --- PAGE 21 --- OWASP Top 10 Application 2021 A9: Security Logging and Monitoring Failures ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 คําอธิบาย อนุญาต 2. การสูญเสียข้อมูล: สูญเสียข้อมูลสำคัญหรือสำรองข้อมูลที่สำคัญอาจเกิดขึ้น เนื่องจากการขัดข้องในระบบหรือซอฟต์แวร์ 3. การเปลี่ยนแปลงข้อมูลที่ไม่ได้รับอนุญาต: การโจมตีที่เปลี่ยนแปลงข้อมูลที่ สำคัญโดยไม่ได้รับอนุญาต เช่น การเขียนข้อมูลลงในฐานข้อมูลหรือไฟล์ที่ สำคัญ 4. การบิดเบือนข้อมูล: การเปลี่ยนแปลงค่าข้อมูลที่ส่งผลกระทบต่อการ ประมวลผลหรือการตัดสินใจโดยไม่ได้รับอนุญาต 5. การสร้างซอฟต์แวร์ที่มีความไม่มั่นคง: การพัฒนาซอฟต์แวร์ที่มีข้อบกพร่อง หรือช่องโหว่อาจสร้างความไม่มั่นคงในการทํางานของระบบและขอมูล การจัดการความปลอดภัยของซอฟต์แวร์และข้อมูล รวมถึงการใช้เทคโนโลยี และมาตรการที่เหมาะสม เป็นสิ่งสำคัญในการป้องกันการสูญเสียข้อมูลและความไม่ เสถียรของระบบในสถานการณ์ที่ไม่คาดคิด ความเสี่ยงที่เกี่ยวข้องกับปัญหาในการบันทึกและตรวจสอบความปลอดภัย ของระบบ ซึ่งอาจทำให้ระบบไม่สามารถตรวจจับหรือระบุกิจกรรมที่ไม่เหมาะสม หรือเกิดความผิดปกติในระบบได้อย่างทันท่วงที รายละเอียดการทํางานที่เกี่ยวข้องอาจรวมถึง: 1. ขาดความสามารถในการบันทึกเหตุการณ์: ระบบที่ไม่สามารถบันทึก เหตุการณ์หรือกิจกรรมที่เกิดขึ้นในระบบได้อย่างครอบคลุม ทำให้ไม่ สามารถตรวจสอบหรือวิเคราะห์กิจกรรมที่เป็นอันตรายได้อย่างมี ประสิทธิภาพ 2. ข้อบกพร่องในการตรวจจับการลักษณะเฉพาะของการโจมตี: ระบบที่ไม่ สามารถตรวจจับและรายงานเหตุการณ์ที่อาจเป็นการโจมตีหรือกิจกรรมที่ เกี่ยวข้องกับความมั่นคงของระบบ Page 20 of 63 20 --- PAGE 22 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ 21 (Enhance Debt Management Service) สัญญาเลขที่ 64006243 OWASP Top 10 Application 2021 A10: Server-Side Request Forgery คําอธิบาย 3. ข้อบกพร่องในการแจ้งเตือนเหตุการณ์: ระบบที่ไม่สามารถแจ้งเตือนผู้ดูแล ระบบหรือผู้ใช้ที่เกี่ยวข้องเมื่อเกิดเหตุการณ์ที่สำคัญหรือเป็นอันตราย 4. ข้อบกพร่องในการควบคุมการเข้าถึงเข้าชม: การขาดความสามารถในการ ควบคุมการเข้าถึงและการเข้าชมไฟล์บันทึกเหตุการณ์ ซึ่งอาจทำให้ผู้ไม่ ประสงค์ดีสามารถเข้าถึงและแก้ไขข้อมูลบันทึกเหตุการณ์ได้ 5. ข้อบกพร่องในการจัดเก็บข้อมูลเหตุการณ์: การบันทึกข้อมูลเหตุการณ์ที่ไม่ เพียงพอหรือไม่ครอบคลุม ซึ่งอาจทำให้ไม่สามารถนำข้อมูลเหตุการณ์มา วิเคราะห์หรือใช้ในการตรวจสอบความมั่นคงของระบบได้อย่างมี ประสิทธิภาพ การแก้ไขปัญหาด้านความสามารถในการบันทึกและตรวจสอบความ ปลอดภัยของระบบ รวมถึงการใช้เทคโนโลยีและการสร้างนโยบายที่เหมาะสม เป็น สิ่งสําคัญในการป้องกันการโจมตีและรักษาความมั่นคงของระบบไว้อย่างต่อเนื่อง ความเสี่ยงที่เกี่ยวข้องกับการโจมตีที่ผู้ไม่ประสงค์ดีสร้างคำขอ (request) ที่ ลงถึงเซิร์ฟเวอร์แล้วเกิดการประมวลผลค่าบอนั้นในฝั่งเซิร์ฟเวอร์ ซึ่งอาจทําให้เกิดผล กระทบอันไม่พึงประสงค์ รวมถึงการเข้าถึงข้อมูลภายในระบบหรือระบบที่อยู่ใน เครือข่ายภายใน หรือการโจมตีอื่น ๆ ที่เกี่ยวข้องกับการร้องขอจากฝั่งเซิร์ฟเวอร์ รายละเอียดการทำงานของ A10 อาจรวมถึงการโจมตีด้วยเทคนิคเช่นการ ส่งคําขอ HTTP ที่มี URL ที่ชี้ไปยังทรัพยากรในเครือข่ายภายใน หรือการใช้ โปรโตคอลที่เรียกหรือส่งคำขอเพื่อทำงานภายในเครื่องเซิร์ฟเวอร์ที่ไม่ควรเข้าถึงได้ ผานภายนอก การป้องกัน A10 สามารถทำได้โดยการตรวจสอบและกรองคำขอที่ส่งถึง เซิร์ฟเวอร์ และการใช้การกำาหนดขีดจํากัดในการเข้าถึงทรัพยากรระดับระบบที่ สูงขึ้น รวมทั้งการใช้การตรวจสอบและสร้างบันทึกเหตุการณ์เพื่อตรวจจับการโจมตี ด้วยวิธีนี้ได้อย่างมีประสิทธิภาพ Page 21 of 63 --- PAGE 23 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 22 Page 22 of 63 --- PAGE 24 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 3.2.2 CWE Top 25 ตารางที่ : 7 ความหมายของหัวข้อที่เกี่ยวข้องกับ Common Weakness enumuration หัวขอ CWE Top 25 CWE-79: Cross-site Scripting (XSS) CWE-787: Out-of-bounds Write คําอธิบาย ช่องโหว่ที่เกิดจากการไม่ตรวจสอบข้อมูลที่รับเข้ามาก่อนนำไป แสดงผลบนหน้าเว็บ ทำให้ผู้โจมตีสามารถแทรก script ที่เป็น อันตรายได้ ม การเขียนข้อมูลเกินขอบเขตของ buffer ที่จัดสรรไว้ อาจทำ ให้เกิดการทำงานผิดพลาดหรือถูกใช้ในการโจมตีระบบ ช่องโหว่ที่เกิดจากการไม่ตรวจสอบข้อมูลที่รับเข้ามาก่อน CWE-89: SQL Injection นำไปใช้ใน SQL Command ทำให้ผู้โจมตีสามารถแก้ไขคำสั่ง SQL ได้ CWE-352: Cross-Site Request Forgery การโจมตีที่หลอกให้ผู้ใช้ที่ Login อยู่ทำคำสั่งที่ไม่ได้ตั้งใจโดย (CSRF) CWE-22: Path Traversal ไม่รู้ตัว ช่องโหว่ที่อนุญาตให้ผู้โจมตีเข้าถึงไฟล์หรือไดเรกทอรี นอกเหนือจากที่กำาหนดไว้ ม CWE-125: Out-of-bounds Read CWE-78: OS Command Injection CWE-416: Use After Free CWE-862: Missing Authorization การอานขอมูลเกินขอบเขตของ buffer ที่จัดสรรไว้ อาจทำให้ เกิดการรั่วไหลของข้อมูลหรือระบบล่ม ช่องโหว่ที่ทำให้ผู้โจมตีสามารถแทรกคำสั่งของ ระบบปฏิบัติการได้ผ่านทางแอปพลิเคชัน การใช้งาน memory ที่ถูก free ไปแล้ว อาจทำให้เกิด พฤติกรรมที่ไม่คาดคิดหรือถูกใช้ในการโจมตี การขาดการตรวจสอบสิทธิ์ในการเข้าถึงทรัพยากรหรือ ฟังก์ชัน CWE-434: Unrestricted Upload of File การอนุญาตให้อัปโหลดไฟล์ที่เป็นอันตรายโดยไม่มีการ with Dangerous Type CWE-94: Code Injection CWE-20: Improper Input Validation CWE-77: Command Injection ตรวจสอบประเภทไฟล์ ช่องโหว่ที่ทำให้ผู้โจมตีสามารถแทรกและรันโค้ดที่เป็น อันตรายได้ การไม่ตรวจสอบความถูกต้องของข้อมูลที่รับเข้ามา การแทรกคำสั่งที่เป็นอันตรายผ่านทาง input ของแอปพลิเค ชัน Page 23 of 63 23 --- PAGE 25 --- 容 ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 หัวข้อ CWE Top 25 CWE-287: Improper Authentication CWE-269: Improper Privilege Management CWE-502: Deserialization of Untrusted Data CWE-200: Exposure of Sensitive Information CWE-863: Incorrect Authorization CWE-918: Server-Side Request Forgery (SSRF) CWE-119: Improper Restriction of Operations within Memory Buffer CWE-476: NULL Pointer Dereference CWE-798: Use of Hard-coded Credentials CWE-190: Integer Overflow or Wraparound CWE-400: Uncontrolled Resource คําอธิบาย การตรวจสอบตัวตนที่ไม่เหมาะสมหรือไม่เพียงพอ การจัดการสิทธิ์ที่ไม่เหมาะสม อาจทำให้ผู้ใช้มีสิทธิ์มากเกินไป การแปลงข้อมูลที่ไมนาเชื่อถือกลับเป็น object อาจนำไปสู่ การรันโค้ดที่เป็นอันตราย การเปิดเผยข้อมูลที่ละเอียดอ่อนให้กับผู้ที่ไม่มีสิทธิ์ การตรวจสอบสิทธิ์ที่ไม่ถูกต้อง ช่องโหว่ที่ทำให้ผู้โจมตีสามารถบังคับให้ server ส่งคำขอไปยัง ปลายทางที่ไม่ได้ตั้งใจ การจำกัดการทำงานภายใน memory buffer ที่ไม่เหมาะสม การเข้าถึง pointer ที่มีค่าเป็น NULL ทำให้เกิด Crash หรือ พฤติกรรมที่ไม่คาดคิด การใช้ username และ password ที่ฝังตายอยู่ในโค้ด การล้นของตัวเลขจํานวนเต็มที่อาจนำไปสู่พฤติกรรมที่ไม่ คาดคิด การใช้ทรัพยากรที่ไม่มีการควบคุม อาจทำให้เกิด Denial of Consumption Service CWE-306: Missing Authentication for Critical Function การขาดการตรวจสอบตัวตนสำหรับฟังก์ชันที่สำคัญ 24 3.2.3 CVSS Score CVSS (Common Vulnerability Scoring System) คือระบบคะแนนมาตรฐานสำหรับประเมินความ รุนแรงของช่องโหว่ โดยมีช่วงคะแนนดังนี้ None: 0.0 Low: 0.1 - 3.9 Medium: 4.0 - 6.9 Page 24 of 63 --- PAGE 26 --- High: 7.0 - 8.9 ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ 25 (Enhance Debt Management Service) สัญญาเลขที่ 64006243 Critical: 9.0 - 10.0 หมายเหตุ: CWE เป็นการจัดหมวดหมู่ประเภทของช่องโหว่ ไม่ใช่ช่องโหว่เฉพาะเจาะจง ดังนั้นจึงไม่มีคะแนน CVSS ที่ตายตัว แต่จะมีช่วงคะแนนที่พบบ่อยในแต่ละประเภท โดยคะแนน CVSS ที่แท้จริงจะถูกกำหนดให้กับ CVE (ชองโหวเฉพาะ) แต่ละตัว 3.3 เมทริกซ์ของผลกระทบและความน่าจะเป็น (Impact and Likelihood Matrix) ม า ต ร ฐ า น OWASP Risk Rating Methodology standards (https://owasp.org/www- community/OWASP_Risk_Rating Methodology) ถูกใช้ในการพิจารณาและประเมินความน่าจะเป็นของ เหตุการณ์ที่เป็นอันตรายต่อระบบความปลอดภัย รวมถึงผลกระทบที่อาจเกิดขึ้นจากเหตุการณ์เหล่านั้น ที่เกิด จากการโจมตีหรือการละเมิดความปลอดภัยของระบบข้อมูล การวิเคราะห์ความน่าจะเป็นและผลกระทบมี เกณฑ์การให้คะแนนที่อธิบายโดยละเอียดดังต่อไปนี้ 3.3.1 ปัจจัยที่ใช้ประเมินผลกระทบ (Impact Factors) การวิเคราะห์ผลกระทบของข้อความจะถูกดำเนินการทั้งในด้าน "เชิงเทคนิค" และ "เชิงธุรกิจ" การให้ คะแนนผลกระทบมีดังนี้ ตารางที่ : 8 คะแนนของผลกระทบในด้าน "เชิงเทคนิค" และ "เชิงธุรกิจ" เกณฑผลกระทบ 1. ปัจจัยของผลกระทบเชิงเทคนิค (Technical Impact Factor) การสูญเสียข้อมูลที่เป็นความลับ (Loss of Confidentiality) นิยามคะแนน 2. ข้อมูลที่ไม่สำคัญเล็กน้อยถูกเปิดเผย 6: ข้อมูลที่สำคัญเล็กน้อยหรือข้อมูลที่ไม่สำคัญมากถูกเปิดเผย 7: ข้อมูลที่สำคัญมากถูกเปิดเผย 9: ข้อมูลทั้งหมดถูกเปิดเผย การสูญเสียความสมบูรณ์หรือความ 1: ข้อมูลเสียหายเพียงเล็กน้อย น่าเชื่อถือของข้อมูล (Loss of Integrity) การสูญเสียความพรอมใชงาน (Loss of Availability) ม 3: ข้อมูลเสียหายอย่างรุนแรงเพียงเล็กน้อย 5: ขอมูลเสียหายเพียงเล็กน้อยอย่างกว้างขวาง 7: ข้อมูลเสียหายอย่างรุนแรงอย่างกว้างขวาง 9. ข้อมูลทั้งหมดเสียหายทั้งหมด 1: Services ถูกหยุดชั่วคราวเพียงเล็กน้อย 5: Services ถูกหยุดชั่วคราวเพียงเล็กน้อย หรือ Services ถูกหยุด Page 25 of 63 --- PAGE 27 --- เกณฑผลกระทบ ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 นิยามคะแนน การสูญเสียความรับผิดชอบ (Loss of Accountability) ชั่วคราวอย่างกว้างขวาง 7: Services ถูกหยุดชั่วคราวอย่างกว้างขวาง 9: ทุก Services สูญเสียไปอย่างสมบูรณ์ 1: สามารถติดตามตัวได้ทั้งหมด 7: อาจจะสามารถติดตามตัวได้ 9: ไม่สามารถระบุตัวตนหรือติดตามตัวได้ 2. ปัจจัยของผลกระทบเชิงธุรกิจ (Business Impact Factors) ความเสียหายทางการเงิน (Financial Damage) 1: มีน้อยกว่าค่าซ่อมแซมช่องโหว่ 3: มีผลกระทบต่อกำไรประจำปีเล็กน้อย 7: มีผลกระทบต่อกําไรประจําปีอยางมีนัยสําคัญ 9 9: ลมละลายการเงิน ความเสียหายที่เกิดขึ้นกับชื่อเสียง 1: มีความเสียหายเล็กน้อย หรือภาพลักษณ์ 4: สูญเสียลูกค้ารายสำคัญ (Reputation Damage) 5: สูญเสียความน่าเชื่อถือ 9: มีความเสียหายต่อชื่อเสียงหรือแบรนด์ การไมปฏิบัติตามกฎหมาย หรือ 2: การละเมิดเพียงเล็กน้อย นโยบาย หรือมาตรฐานที่กำหนดไว้ 5: การละเมิดที่ชัดเจน (Non-compliance) 7: การละเมิดระดับสูง การละเมิดความเป็นส่วนตัวของ 3: หนึ่งบุคคล ม บุคคลหรือข้อมูลส่วนบุคคล 5: หลักรอยคน (Privacy Violation) 7: หลักพันคน 9: หลักล้านคน Page 26 of 63 26 --- PAGE 28 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 27 3.3.2 ปัจจัยที่ใช้ประเมินความน่าจะเป็น (Likelihood Factors) เป็นมีดังนี้ ความน่าจะเป็นประกอบด้วย ปัจจัยของ "ตัวแทนผู้ลักลอบ" และ "ช่องโหว่" การจัดระดับความน่าจะ ตารางที่ : 9 คะแนนปัจจัยของ "ตัวแทนผู้ลักลอบ" และ "ของโหว" ที่ใช้ประเมินความน่าจะเป็น เกณฑ์ความน่าจะเป็น 1. ปัจจัยของตัวแทนผู้ลักลอบ (Threat Agent Factors) ระดับทักษะ (Skill Level) เหตุผลหรือจุดมุ่งหมาย (Motive) โอกาสหรือสถานการณ์ที่เกี่ ตัวแทน (Opportunity) ารณทเออตอ 1: ไม่มีทักษะทางเทคนิค 3: บางทักษะทางเทคนิค นิยามคะแนน 5: ผู้ใช้คอมพิวเตอร์ระดับขั้นสูง 6: ทักษะในด้านเครือข่ายและโปรแกรมมิ่ง 9: ทักษะการเจาะระบบความปลอดภัย 1: ต้องการรางวัลเล็กน้อยหรือไม่ตองการ 4: ต้องการรางวัลที่เป็นไปได้ 9. ต้องการรางวัลขั้นสูง 0: ต้องการการเข้าถึงทั้งหมดหรือทรัพยากรที่มีคาสูง 4. ต้องการการเข้าถึงพิเศษหรือทรัพยากรที่มีค่า 7: ต้องการการเข้าถึงบางส่วนหรือทรัพยากรบางประเภท 9: ไม่ต้องการการเข้าถึงหรือทรัพยากรใด ขนาดของกลุ่มผู้ใช้หรือผู้เกี่ยวข้องที่ 2: นักพัฒนาหรือผู้ดูแลระบบ เป็นเป้าหมายของการโจมตีหรือ การทำลายระบบ (Size) 4: ผู้ใช้ภายในอินทราเน็ต 5: พารทเนอร 6 6: ผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ 9. ผู้ใช้อินเทอร์เน็ตที่ไม่ระบุชื่อ 2. ปัจจัยของช่องโหว (Vulnerability Factors) ความง่ายในการค้นพบช่องโหว 1: เกือบจะเป็นไปไม่ได้หรือมีความยากมากที่จะทําได้ในสภาวะปกติ (Ease of discovery) 3: ยาก Page 27 of 63 --- PAGE 29 --- 容 ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 เกณฑ์ความน่าจะเป็น ความง่ายในการใช้ช่องโหว่หรือ ข้อบกพร่องเพื่อโจมตีระบบ (Ease of exploit) ความตระหนักในเรื่องความ ปลอดภัยของขอมูล (Awareness) การตรวจจับการบุกรุก หรือ ตรวจจับการกระทําที่เป็นภัยต่อ ระบบขององค์กร (Intrusion detection) 7: งาย นิยามคะแนน 9. มีเครื่องมือแบบอัตโนมัติที่ใช้ทำได้ 1: เป็นเพียงทฤษฎี 3: ยาก 5: งาย 9: มีเครื่องมือแบบอัตโนมัติที่ใช้ทำได้ 1: ไม่รู 4: ไม่เปิดเผย 6: ชัดเจน 9: รู้กันทั่วไป 1: ตรวจจับเหตุการณ์ที่เกิดขึ้นทันทีในแอปพลิเคชัน 3: บันทึกและตรวจสอบ 8: บันทึกโดยไม่ตรวจสอบ 9: ไม่ได้ทําการบันทีก Page 28 of 63 28 --- PAGE 30 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 3.4 ระดับการจัดอันดับความเสี่ยง (Risk rating level) 3.4.1 ความรุนแรงของความเสี่ยง (The Severity of the risk) การประเมินความน่าจะเป็นและการประเมินผลกระทบจะประเมินร่วมกันเพื่อคำนวณความรุนแรง โดยรวมของความเสี่ยงนี้ การทำเช่นนี้จะทำโดยการกำหนดว่าความน่าจะเป็นมีระดับต่ำ กลาง หรือสูง และทำ เช่นเดียวกันสำหรับผลกระทบด้วย เกณฑ์การให้คะแนนระดับ 0 ถึง 9 ถูกแบ่งออกเป็นสามส่วนดังนี้ ระดับความน่าจะเป็นและผลกระทบ 0 ถึง < 3 ต่ำ (Low) 3 ถึง < 6 กลาง (Medium) สูง (High) 6 ถึง 9 การให้คะแนนความเสี่ยงถูกคำนวณโดยการคูณผลกระทบและความน่าจะเป็นของอุปสรรคต่าง ๆ คะแนนจะถูกกำหนดตามเกณฑ์ดังนี้ Impact High Medium High Critical Medium Low Medium High Low Information Low Medium Low Medium High Likelihood Page 29 of 63 29 --- PAGE 31 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 คำจำกัดความของการจัดอันดับความเสี่ยง ยง (Risk Rating Definitions) ระดับความเสี่ยง สูงมาก (Critical) สูง (High) ปานกลาง (Medium) ต่ำ (Low) เสนอแนะ (Information) คําอธิบาย ระดับความรุนแรง "สูงมาก" เป็นระดับที่ยอมรับไม่ได้และควรพิจารณาการแก้ไขปัญหาโดย ทันที เพื่อให้ความเสี่ยงอยู่ในระดับที่ยอมรับได้ตามนโยบายและมาตรการด้านความปลอดภัย ของข้อมูลขององค์กร และเพื่อลดความเสี่ยงด้านความปลอดภัยของข้อมูลรวมถึงความลับ ความสมบูรณ์ และความพร้อมใช้งาน รวมถึงความรับผิดชอบในการบรรลุวัตถุประสงค์ของ องค์กร การดำเนินงาน การเงิน ชื่อเสียง ความเป็นไปตามข้อกำหนด และความเป็นส่วนตัว ของบุคคล ระดับความรุนแรง "สูง" เป็นระดับที่ยอมรับไม่ได้และควรพิจารณาการแก้ไขข้อบกพร่องโดย นำมาใช้ในทางปฏิบัติภายในระยะเวลาที่เหมาะสม และจัดการความเสี่ยงให้อยู่ในระดับที่ ยอมรับได้ตามนโยบายและมาตรการด้านความปลอดภัยของข้อมูลขององค์กร เพื่อลดความ เสี่ยงด้านความปลอดภัยของข้อมูลรวมถึงความลับ ความถูกต้อง และความพร้อมใช้งาน รวมถึงความรับผิดชอบในการบรรลุวัตถุประสงค์ขององค์กร การดำเนินงาน การเงิน ชื่อเสียง ความเป็นไปตามข้อกำหนด และความเป็นส่วนตัวของบุคคล ระดับความรุนแรง "ปานกลาง” ควรพิจารณาการแก้ไขข้อบกพร่องและนำมาใช้ในทางปฏิบัติ ภายในระยะเวลาที่เหมาะสมตามนโยบายและมาตรการด้านความปลอดภัยของข้อมูลของ องค์กรเพื่อลดความเสี่ยงด้านความปลอดภัยของข้อมูลรวมถึงความลับ ความถูกต้อง และ ความพร้อมใช้งาน รวมถึงความรับผิดชอบในการบรรลุวัตถุประสงค์ขององค์กร การดำาเนินงาน การเงิน ชื่อเสียง ความเป็นไปตามข้อกำหนด และความเป็นส่วนตัวของบุคคล อย่างไรก็ตาม การยอมรับความเสี่ยงอาจถูกพิจารณา และความเสี่ยงควรถูกควบคุมเพื่อป้องกันไม่ให้เกิดการ เพิ่มขึ้นไปสู่ระดับที่ยอมรับไม่ได้ ระดับความรุนแรง "ต่ำ" ควรพิจารณาว่าการทำการแก้ไขนั้นยังจำเป็นหรือไม่ หรือตัดสินใจที่ จะยอมรับความเสี่ยงตามนโยบายและมาตรการด้านความปลอดภัยของข้อมูลขององค์กรเพื่อ ลดความเสี่ยงด้านความปลอดภัยของข้อมูลรวมถึงความลับ ความถูกต้อง และความพร้อมใช้ งาน รวมถึงความรับผิดชอบในการบรรลุวัตถุประสงค์ขององค์กร การดำเนินงาน การเงิน ชื่อเสียง ความเป็นไปตามข้อกำหนด และความเป็นส่วนตัวของบุคคล "เสนอแนะ" อาจมีการพัฒนาเพิ่มเติมเพื่อเสริมความแข็งแกร่งของการป้องกันสินทรัพย์ข้อมูล ขององค์กรต่อไป ทั้งนี้ขึ้นอยู่กับการวิเคราะห์ขององค์กรเกี่ยวกับปัจจัยที่มีผลต่อความ สมเหตุสมผลของต้นทุนสําหรับการกระทําการแก้ไขต่อไป Page 30 of 63 30 --- PAGE 32 --- SA ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 บทที่ 4 สรุปช่องโหว่ที่ตรวจพบ 31 หัวข้อนี้ได้ถูกจัดทำขึ้นเพื่อบรรยายสรุปช่องโหว่ที่ตรวจพบและความเสี่ยงที่เกี่ยวข้องในระหว่างการ การทดสอบเจาะระบบ ซึ่งมีดังต่อไปนี้ ตารางที่ : 10 สรุปช่องโหว่ที่ตรวจพบจากการเจาะระบบและความเสี่ยงที่เกี่ยวข้อง ID Vulnerabilities name Risk Fixing Status Remark การทดสอบประเภท PENETRATION TEST แบบ GREY-BOX 1 ตรวจพบว่า JSON Parameter ไม่ตรวจสอบ ปานกลาง ปิดโดยการแก้ไข payload injection 2 ระบบไม่มี Session Timeout หลังจากมีการ ปานกลาง ปิดโดยการแก้ไข Logout จากระบบ 3 สามารถเข้าถึงข้อมูลได้โดยไม่ต้องมี Access ปานกลาง ปิดโดยการแก้ไข Token 4 ตรวจพบมีการใช้งาน Session Token บน ต่ำ (Low) ปิดโดยการแก้ไข URL Path 5 ตรวจพบ Secret/Credential Key ใน source ต๋า (Low) ปิดโดยการแก้ไข code การทดสอบประเภท PENETRATION TEST แบบ BLACK-BOX ตรวจพบการใช้งาน Software ที่มีช่องโหว่ ต่ำ (Low) ปิดโดยการแก้ไข 7 ตรวจพบการตั้งค่าไม่ปลอดภัยบน Software บันทึกไว้ ปิดโดยการแก้ไข Header (Notes) Page 31 of 63 --- PAGE 33 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ 32 (Enhance Debt Management Service) สัญญาเลขที่ 64006243 บทที่ 5 รายละเอียดของช่องโหว่จากการทดสอบเจาะระบบ หัวข้อนี้ถูกออกแบบขึ้นเพื่อให้มีข้อมูลที่เป็นรายละเอียดเกี่ยวกับผลการตรวจพบพร้อมกับคำแนะนำใน การแก้ไข เพื่อเสริมสร้างความปลอดภัยของระบบ 5.1 ตรวจพบว่า JSON Parameter ไม่ตรวจสอบ payload injection ผลการทดสอบช้า วิธีการแก้ไข ระดับความเสี่ยง สถานะช่องโหว่ หมายเหตุ ตรวจพบวา JSON Parameter มีการตรวจสอบ ปานกลาง ปิดโดยการแก้ไข payload injection ประเด็นข้อตรวจพบและผลกระทบ การที่ระบบไม่ตรวจสอบ Payload Injection ในพารามิเตอร์ (Parameter) ใด ๆ เป็นช่องโหว่ ประเภท Input Validation ที่มีการตรวจสอบที่ล้มเหลว ซึ่งสามารถนำไปสู่การโจมตีได้หลายรูปแบบเช่น XSS SQL เป็นต้น ซึ่งตัวระบบยังคงมีการป้องกัน Special Character ได้บางตัวอักษรอยู่บ้าง แต่ยังไม่สมบูรณ์ Attacker สามารถอ่าน, แก้ไข, หรือลบข้อมูล ทั้งหมด ในฐานข้อมูลได้ หากมีการใช้งาน Payload Injection ไปจนกว่าจะมีข้อมูลสำคัญหรือผลลัพธ์ที่ต้องการ ที่ (1) เป้าหมายที่กระทบ 'https://e2e-m4-testapp.app.baac.or.th/BAACLegalService/rest/ internal/app/legal/req_case_request_group_list_to https://e2e-m4-testapp.app.baac.or.th/BAACLegalService/rest/ internal/app/legal/req_case_request_group_contract_704_list_to https://e2e-m4-testapp.app.baac.or.th/BAACLegalService/rest/ internal/app/legal/req_case_request_group_contract_write_off_list_706_to https://e2e-m4-testapp.app.baac.or.th/BAACCoreService/rest/ internal/app/auth/auth_session_manage_update https://e2e-m4-testapp.app.baac.or.th/BAACLegal Service/rest/ internal/app/legal/legal_lawyer_name_list_to Page 32 of 63 --- PAGE 34 --- ระดับความเสี่ยง ระดับความเสี่ยง 2 อางอิง A03:2021 ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 ความน่าจะเป็น ° ตา ปานกลาง ผลกระทบ สูง CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H (10.0 Critical) CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H (10.0 Critical) คำอธิบาย ระบบ SAP นี้มีการเข้าใช้งานยากในการเข้าถึงระบบ เนื้อ เนื่องจากต้องติดตั้งซอฟต์แวร์ใน เพิ่มเติม การต่อ VPN ทีมีการยืนยันตัวตนด้วย 2FA และต้องผ่านการเปิดใช้งานหน้า Web Console ที่เป็นแบบ captive portal บนเครื่องคอมพิวเตอร์หรือ Client ก่อน ทำให้ นักทดสอบเจาะระบบ (Pentester) มองว่ามี likelihood (ความเป็นไปได้) ในการถูก โจมตีหลังจากที่พิจารณาองค์ประกอบทั้งหมดแล้วอยู่ในระดับต่ำเนื่องจากเหตุผลดังนี้ 1) ความซับซ้อนในการเข้าถึง • การที่ต้องติดตั้ง VPN และซอฟต์แวร์ในการทํา 2FA เพิ่มความซับซ้อนในการ เข้าถึงระบบ ทำให้ผู้โจมตีต้องใช้เวลาและความพยายามมากขึ้นในการเข้าถึง ม ระบบ 2) การใช้ VPN • การใช้VPN ช่วยเพิ่มความปลอดภัยในการสื่อสารระหว่างผู้ใช้และเซิร์ฟเวอร์ ทำให้การโจมตีแบบ Man-in-the-Middle (MitM) ยากขึ้นอย่างมาก คำแนะนำในการแก้ไข คำอธิบาย หลักการป้องกันช่องโหว่ Injection คือ ไม่เชื่อถือข้อมูลนำเข้าจากผู้ใช้ (Never Trust User Input) ดังนี้ 1. Input Validation (การตรวจสอบความถูกต้อง): - Whitelist: อนุญาตให้รับเฉพาะรูปแบบ (Format) ที่ถูกต้องและจำเป็นเท่านั้น (เช่น ถ้าคาดหวัง ตัวเลข ต้องตรวจสอบว่าเป็นตัวเลขจริง ๆ, ถ้าคาดหวังชื่อ ต้องอนุญาตเฉพาะตัวอักษร) - Sanitization: ลบอักขระพิเศษหรือโค้ดอันตรายออกไป Page 33 of 63 33 --- PAGE 35 --- И 2 สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) 64006243 คำอธิบาย 2 2. Output Encoding / Escaping (nnslunsuaudyallangwa): - ก่อนนำข้อมูลจากพารามิเตอร์ไปแสดงผลบนหน้าเว็บ ต้องเข้ารหัส (Encode) อักขระพิเศษ (เช่น < เป็น <) เพื่อให้เบราว์เซอร์มองเห็นเป็นข้อความธรรมดา ไม่ใช่ โค้ด HTML กรณีใช Nginx สามารถใช้งาน Module ModSecurity ทำการตรวจสอบเนื้อหาของ HTTP Request (เช่น URL, Query Parameters, Body) เทียบกับชุดกฎ (Rule Sets) ที่ถูกออกแบบมาเพื่อตรวจจับรูปแบบของ Payload Injection ที่เป็นอันตราย หรือใช้งานระบบป้องกันอย่าง Web Application Firewall (WAF)/Web Application and API Protection (WAAP) ตัวอย่างผลของการทดสอบ 1) ทดสอบการ POST ข้อมูลผ่าน auth_session_manage_update Request Pretty Raw 1 POST Hex \n = /BAACCore Service/rest/internal/app/auth/auth_session_manage_update HTTP/2 Host: e2e-m4-testapp.app.baac.or.th 3 Content-Length: 118 Sec-Ch-Ua-Platform: "Windows" 5 Accept-Language: en-US,en;q=0.9 6 Sec-Ch-Ua: "Chromium"; v="139", "Not;A-Brand"; v="95" 7 Npltoken: eyJhbGcioiJIUZI1NiJ9.eyJ1c2Vy swqioiIxMTI4NzAwIiwicm9szulkIjoiMiIsImR 1CHRJZCI60DM2LCJjcmVhdGVEdCI6IjIwMjUtMTEEMDIgMTk6MDCENTIiLCJle HBpcmV BdCI6IjIwMjUtMTEtMDkgMTcENDCENTIiLCJsYXNOTG5naW4iOiIwMzExMjUwMjExMTk ifQ. PкcbLMpMGPsгXxFqFixF0B1ts 1Cmpltj21U5q71MkCk 8 Sec-Ch-Ua-Mobile: 20 9 Zoneurl: https://e2e-m4-testapp.app.baac.or.th 10 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64: x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0. Safari/537.36 11 Accept application/json, text/plain, */* 12 Content-Type: application/json 13 Origin: https://e2e-m4-test app.app. baac.or.th 14 Sec-Fetch-Site: same-origin 15 Sec-Fetch-Mode: cors 16 Sec-Fetch-Dest: empty 17 Referer: https://e2e-m4-testapp.app. baac.or.th/ 18 Accept-Encoding: gzip, deflate, br 19 Priority: u=4, i 20 21 1 "data":[ }, "sessionId":"", "status":"" "token": 0, "userId": "1128700" "mode":"R", "menuCode": "LOGOUT", "userInfo": "1128700 2) ทดสอบเพิ่ม Payload ใน Parameter: userld Response Pretty Raw 1 HTTP/2 200 OK 2 Server: nginx. Hex Render 3 Date: Sun, 02 Nov 2025 19:41:53 GMT 4 Content-Type: application/json 5 Vary: Accept-Encoding 6 Access-Control-Allow-Origin: + 7 Access-Control-Allow-Methods: POST, GET, PUT, DELETE Access-Control-Allow-Headers: 8 * 9 Rest uuid: 08626acc-e468-4d16-b373-582fc14ffb62 10 Server_id: 68765922 11 Vary: Origin 12 Vary: Access-Control-Request-Method 13 Vary: Access-Control-Request-Headers 14 15 ( ) "sessionId":null, "errorcode":0, "errormessage": null, "totalCount": null Page 34 of 63 34 --- PAGE 36 --- И 2 สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) 64006243 Request Pretty Raw 1 POST Hex /BAACCoreService/rest/internal/app/auth/auth_session_manage_update HTTP/2 2 Host: e2e-m4-testapp.app.baac.or.th 3 Content-Length: 110 4 Sec-Ch-Ua-Platform: "Windows" 5 Accept-Language: en-US,en;q=0.9 6 Sec-Ch-Ua: "Chromium"iv="139", "Not A Brand"; v="99" 7 Npitoken: eyJhbGcioiJIUZI INIJ9.eyJ1c2VyswoiOiIxMTI4NzAwIiwicm9szulkIjoiMiIsImR 1CHRJZCI60DM2LCJjcmVhdGVEdCI6IjIwMjUtMTEtMDIgMTk6MDCENTIiLCJleHBpcmV EdCI6IjIwMjUtMTEŁMDkgMTcбNDCENTIiLCJsYXNOTG9naW4iOiIwMzExMjUwMjExMTk ifq. PкcbLMpMGPs rxxFqFlxfox lts1cmpLtjz1u5q71Mkck 8 Sec-Ch-Ua-Mobile: 20 9 Zoneurl: https://a2e-m4-testapp.app.baac.or.th 10 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 11 Accept: application/json, text/plain, /* 12 Content-Type: application/json 13 Origin: https://a2e-m4-test app. app.baac.or.th 14 Sec-Petch-Site: same-origin 15 Sec-Fetch-Mode: COES 16 Sec-Fetch-Dest empty 17 Referer: https://eze-m4-testapp.app.baac.or.th/ 18 Accept-Encoding: gzip, deflate, br 19 Priority: u=4, 1 Render Response Pretty Raw 1 HTTP/2 200 OK 2 Server: nginx 3 Date: Sun, 02 Nov 2025 19:47:36 GMT 4 Content-Type: application/json Vary: Accept-Encoding 6 Access-Control-Allow-Origin: * Access-Control-Allow-Methods: ROST, GET, PUT, DELETE 8 Access-Control-Allow-Headers: * 9 Rest_uuid 10 Server_id: aee05c73-c74b-4402-8741-lat8ced50868 68765922 11 Vary: Origin 12 Vary: Access-Control-Request-Method) 13 Vary: Access-Control-Request-Headers 14 15 I "sessionId":null," "errorcode": 1, "errormessage": in = "You have an error in your SQL syntax; check the manual that col rresponds to your MySQL server version for the right syntax to use near '1128700 at Line 1", "totalCount": null 20 21 1 "data": "sessionId":"", "status":"", "token": Dr. "userId": "1128700** "mode":"R", "menuCode": "LOGOUT", "userInfo" "1128700" 3) ทดสอบปรับเพิ่ม Payload ใน Parameter: userld Request Pretty Raw 1 POST Hex /BAACCore Service/rest/internal/app/auth/auth_session_manage_update HTTP/2 2 Host: e2e-m4-testapp. app. baac.or.th 3 Content-Length: 120 4 Sec-Ch-Ua-Platform: "Windows" 5 Accept-Language: en-US, en;q=0.9 6 Sec-ch-Ua: "Chromium"; v="139", "Not; A Brand"; v="99" 7 Npltoken: Response Pretty Raw 1 HTTP/2 200 OK 2 Server: nginx Hex Render 3 Date: Sun, 02 Nov 2025 19:49:00 GMT 4 Content-Type: application/json 5 Vary: Accept-Encoding 6 7 8 Access-Control-Allow-Origin: * Access-Control-Allow-Methods: POST, GET, PUT, DELETE Access-Control-Allow-Headers: 9 Rest uuid: a3a5a6b4-eбca-4d2f-8b5f-f9c984ddccf3 Server id: 68765922 eyJhbGciOiJIUZIINiJ9.eyJ1c2Vy SWQiOiIxMTI4NzAwIiwicm 9s ZulkIjoiMiIsImR 1CHRJZCI60DM2LCJjcmVhdGVEdCI6IjIwMjUtMT Et MDIgMTk6MDC6NTIiLCJleHBpcmV 10 EdCI6IjIwMjUtMTELмDкgMTCENDCENTIiLCJsYXNOTG9naw4iOiIwMzExMjUwMjExMTk ifQ. PкcbLMpMGPs rXxFqF LxfOE lts 1Cmpltj Z1U5q71MkCk Sec-Ch-Ua-Mobile: 20 8 9 Zone url: https://e2e-m4-testapp. app. baac. or.th 11 Vary: Origin 12 Vary: Access-Control-Request-Method 13 Vary: Access-Control-Request-Headers 14 15 10 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 11 Accept application/json, text/plain, */* 12 Content-Type: application/json 13 Origin: https://e2e-m4-testapp.app.baac.or.th 14 14 15 16 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty 17 Referer: https://e2e-m4-testapp. app. baac.or.th/ 18 Accept-Encoding: gzip, deflate, br. 19 Priority: u-4, i 20 21 ( "data": { }, "sessionId":"", "status":"" "token": 0, "userId": "1128700" "node" "R", "menuCode": "LOGOUT", "userInfo": "1128700" } 4) ทดสอบปรับเปลี่ยน Payload ใน Parameter: userld Page 35 of 63 "sessionId": null, "errorcode":0, "errormessage": null, "totalCount": null ຍາ In = II 35 --- PAGE 37 --- И 2 สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) 64006243 Request Pretty Raw 1 POST Hex \n = /BAACCoreService/rest/internal/app/auth/auth_session_manage_update HTTP/2 2 Host: e2e-m4-test app.app. baac.or.th 3 Content-Length: 148 4 Sec-Ch-Ua-Platform: "Windows" 5 Accept-Language: en-US, en;q-0.9 6 Sec-Ch-Va: "Chromium"; v="135", "Not;A-Brand"; v="99" 7 Npltoken: 8 9 .0 eyJhbGciOiJIUZI 1NiJ9.eyJ1c2VysWQiOiIxMTI4NzAwIiwicm9sZUlkIjoiMiIsImR Response Pretty Raw HTTP/2 200 OK 2 Server nginx Hex Render Date: Sun, 02 Nov 2025 19:51:06 GMT 4 Content-Type: application/json 5 Vary: Accept-Encoding 6 Access-Control-Allow-Origin: * 9 Access-Control-Allow-Methods: POST, GET, PUT, DELETE Access-Control-Allow-Headers: Rest_uuid: Rest uuid: 513d5946-b4b7-4058-a080-2610701e0802 server id: 68765922 10 Server_id: 1CHRJZCI60DM2LCJjcmVhdGVEdCI6IjIwMjUtMTЕtMDIgMTk6MDc6NTIiLCJle HBpcmV 11 EdCI6IjIwMjUtMTЕtмDkgMT cЄNDC6NTIiLCJsYXNOTG9naW4iOiIwMzExMjUwMjExMTk ifQ. PKcbLMpMGPs rXxFqF1xFOE ltslCmpLtjZ1U5q71MkCk e-cha-Mobile: 20 Zoneurl: https://e2e-m4-testapp. app. baac.or.th User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 1 Accept: application/json, text/plain, */* application/json Contentps://e2e-m4-testapp.app. baac. or. th origin: Soc-Fetch-Site: same-origin 5 Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty Referer: https://e2e-m4-testapp.app. baac.or.th/ Accept-Encoding: gzip, deflate, br 9 Priority: u=4, i Vary: Origin 12 Vary: Access-Control-Request-Method 13 Vary: Access-Control-Request-Headers 14 15 ( "sessionId": null, "errorcode": 0, "errormessage": null, "totalCount": null :0 :1 "data":[ ), "sessionId":"", "status":"", "token": 0, "userId": "+ (select from (select (sleep (20))) a) +*” "mode":"R", "menuCode": "LOGOUT", "userInfo": "1128700" Page 36 of 63 II 36 \n --- PAGE 38 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 5.2 ระบบไม่มี Session Timeout หลังจากมีการ Logout จากระบบ ผลการทดสอบซ้ำา วิธีการแก้ไข ระดับความเสี่ยง สถานะช่องโหว หมายเหตุ มีการปรับให้แต่ละ Module ดำเนินการทำ ปานกลาง ปิดโดยการแก้ไข 37 Session timeout เพื่อให้ session หลุด ประเด็นข้อตรวจพบและผลกระทบ พบว่าหลังจากกด Logout แล้ว แต่ยังสามารถเข้าถึงหน้าเพจจากเมนูในระบบ EDMS และยังไม่ได้ใช้ งานใน Tab เดียวกัน ซึ่งจะเป็นการ New Tab Page ขึ้นมาโดยไม่ต้อง Login ใหม่ ซึ่งเกิดจากกระบวนการ Logout ที่ไม่สมบูรณ์ (Incomplete Logout Process) ซึ่งถือเป็นช่องโหว่ความปลอดภัยในส่วนของ Session Management Attacker สามารถใช้เครื่องมือดึง Session ID เก่าที่ค้างอยู่และนำ Session ID นั้นไปใช้สวมรอยเป็น ผู้ใช้คนแรกได้ทันที เพราะ Server ยังมองว่า Session นี้ถูกต้อง (Session Hijacking) ซึ่งช่องโหว่นี้จะทำให้ Session ID ที่ขโมยมามีประโยชน์นานขึ้นมาก แม้ผู้ใช้จะ Logout ไปแล้ว เป้าหมายที่กระทบ ที (1) 'https://e2e-m1-testapp.app.baac.or.th/ https://e2e-m2-testapp.app.baac.or.th/ https://e2e-uat-m3ui.app.baac.or.th/ https://e2e-m4-testapp.app.baac.or.th/ https://uat-efiling.app.baac.or.th ระดับความเสี่ยง ระดับความเสี่ยง อางอิง A07:2021 ความน่าจะเป็น ปานกลาง ปานกลาง ผลกระทบ ปานกลาง CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L (9.4 Critical) CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N (9.3 Page 37 of 63 --- PAGE 39 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 Critical) คําอธิบายเพิ่มเติม ระบบ SAP นี้มีการเข้าใช้งานยากในการเข้าถึงระบบ เนื่องจากต้องติดตั้งซอฟต์แวร์ใน การต่อ VPN ที่มีการยืนยันตัวตนด้วย 2FA และต้องผ่านการเปิดใช้งานหน้า Web Console ที่เป็นแบบ captive portal บนเครื่องคอมพิวเตอร์หรือ Client ก่อน ทำให้ นักทดสอบเจาะระบบ (Pentester) มองว่ามี likelihood (ความเป็นไปได้) ในการถูก โจมตีหลังจากที่พิจารณาองค์ประกอบทั้งหมดแล้วอยู่ในระดับต่ำเนื่องจากเหตุผลดังนี้ 1) ความซับซ้อนในการเข้าถึง • การที่ต้องติดตั้ง VPN และซอฟต์แวร์ในการทำ 2FA เพิ่มความซับซ้อนในการ เข้าถึงระบบ ทำให้ผู้โจมตีต้องใช้เวลาและความพยายามมากขึ้นในการเข้าถึง ระบบ 2) การใช้ VPN การใช้VPN ช่วยเพิ่มความปลอดภัยในการสื่อสารระหว่างผู้ใช้และเซิร์ฟเวอร์ ทำให้การโจมตีแบบ Man-in-the-Middle (MitM) ยากขึ้นอยางมาก คำแนะนำในการแก้ไข คำอธิบาย วิธีแก้ไขใน Nginx โดยการ เพิ่ม HTTP Headers เพื่อสั่งปิด Cache ใน location block ปรับ location ~ ^/(admin|dashboard|profile) ให้ตรงกับ URL Path location ~ ^/(admin|dashboard|profile) { # --- ส่วนที่เพิ่มเข้ามา - # สั่งไม่ให้เบราว์เซอร์และ Proxy ใดๆ เก็บ Cache เลย # no-store: คือคำสั่งที่แรงที่สุด คือห้ามเก็บลงดิสก์หรือเมมโมรี่เลย # no-cache: บังคับให้ถามเซิร์ฟเวอร์ทุกครั้งก่อนใช้งาน # must-revalidate: ต้องตรวจสอบความถูกต้องเสมอ # private: อนุญาตให้แค่เบราว์เซอร์ส่วนตัวแคชได้ (แต่ no-store จะแรงกว่า) add_header 'Cache-Control' 'no-store, no-cache, must-revalidate, private'; # สั่งให้หมดอายุทันที add_header 'Expires' '0'; # จบส่วนที่เพิ่ม Page 38 of 63 38 --- PAGE 40 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 39 Page 39 of 63 --- PAGE 41 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 ตัวอย่างผลของการทดสอบ 1) ทดสอบโดยใช้ Account: 1128700 ผ่านระบบ EDMS 个 Operational Dashboard | x EA BAAC - CONSOLE DMS-กำหนดการใช้งานเข [3] https://e2e-uat.app.baac.or.th/dashboard/operational ส ธ.ก.ส. BAAC ศักดา กิตติวรเดช ศ ผู้จัดการสาขา 10 Dashboard ส ภาพรวมการวิเคราะห์ ภาพรวมการบริหารจัดการหน้ ฝสบ.ภาคตะวันออก 自 ภาพรวมการบริหารจัดการหนี้ ทั้งหมด ภาพรวมการวิเคราะห์ DŪา วิเคราะห์ตามภาพรวม Debt Restructuring Syster × Legal System x + Q สานักงาน ธ.ก.ส.จังหวัดนครนายก สาขาบ้านนา 1128700 √ ตกลง O) รีเซ็ต Lo งานที่ได้รับมอบหมาย สัญญาว่าจะชาระ / ชาระได้ / ผิดนัด... E] วิเคราะห์ตามฝ่าย CIF สัญญา เงินค้าง วาระ (บาท) ดอกเบี้ยค้างชาระ (บาท) 0 0 0 0 จ่านวนเงินที่นัดชาระ (บาท) E] วิเคราะห์ตามจังหวัด งานที่อยู่ระหว่างน้คชาระ 0.00 E วิเคราะห์ตามสาขา ชาระได้ 0.000% 0.000% 0.000% 0.000% 0.00 40 E] วิเคราะห์ตามพนักงาน ระบบ End to End Process (E2E) การวิเคราะห์ลูกหนี้ 23 การติดตามหนี้และการเดือน 4 การบริหารจัดการหนี้ 2 การจัดการและติดตามงานคดี ๕ การตรวจสอบข้อมูลศาลยุติธรรม กำาหนดสิทธิการใชงาน ม CIF สัญญา 0 0 0 ☑ Atte... เงินค้างชาระ (บาท) ดอกเบี้ยค้างชาระ (บาท) % การชาระเงิน (Kept/Promise) 0 0 0.000% 0 0.000% 0 0.000% Call Con... 2) ทดสอบเข้าใช้งาน: การวิเคราะห์ลูกหนี้ ผ่านระบบ EDMS 0.000% ผิดนัดชำาระ 0.00 % การผิดนัดชาระเงิน (Broken/Promise) 0.000% End to End Process Legal System DMS - Debt Monitoring Debt Restructuring Syster × BA BAAC - CONSOLE x ✓ https://e2e-m1-testapp.app.baac.or.th/overview ธนาคารเพื่อการเกษตรและสหกรณ์การเกษตร โครงการพัฒนาระบบงานรองรับการบริหารจัดการคุณภาพหนี้ - ส่วนการวิเคราะห์ข้อมูล สรุปผลการดำาเนินงาน แผนการช่วยเหลือ | รายการสารวจข้อมูล | การตั้งค่าระบบ สรุปผลการดำเนินงาน เขตภูมิภาค ทุกภูมิภาค ปีพุทธศักราช จังหวัด ทุกจังหวัด ไตรมาสของปี ✓ 2568 สาขาธนาคาร ทุกสาขา เดือน ไตรมาสที่ 3 (กรกฎาคม-กันยายน) ✓ ทุกเดือน เคลียร์ข้อมูล ปรับปรุงข้อมูล ช่วงเวลาที่ทําการค้นหาข้อมูล: ตั่งแต่วันที่: 2025-06-30 ถึงวันที่: 2025-09-29 จํานวนแบบสำารวจทั้งหมด 3 อนุมัติแล้ว 1 ☆ ☑ Ca ยกเลิก 1 รอด้าเนินการ 1 Page 40 of 63 0 0 ศักดา กิตติวรเดช ออกจากระบบ --- PAGE 42 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 3) ทดสอบเข้าใช้งาน: การติดตามหนี้และการเตือน ผ่านระบบ EDMS Operational Dashboard BAAC - CONSOLE X https://e2e-m2-testapp.app.baac.or.th/Home = DMS-UAT V4.2 Debt Monitoring and Warning System DMS - Debt Monitoring Debt Restructuring Syste Legal System ☆ 5 ได้ 4) ทดสอบเข้าใช้งาน: การบริหารจัดการหนี้ ผ่านระบบ EDMS Operational Dashboard | EE BAAC - CONSOLE https://e2e-uat-m3ui.app.baac.or.th/dashboard @ 03/11/2025 01:32:48 - 1128700 ศักดา กิตติวรเดช DMS- Debt Monitoring x PDebt Restructuring Syster Legal System M3 = การบริหารจัดการหนี้ (0222 - สาขาบ้านนา) E ใบค้าขอ E รอตรวจในค่ายอ so Override B ใบค่าขอทั้งหมด C สัญญา D รอตรวจสัญญา 2 รอตรวจลงนาม > อนุมัติสัญญาตามคําส่ง 9 อนุมัติสัญญา C3 รายการสำาเร็จ D3 รายการ Reverse B พิมพ์สัญญาสาขาอื่น สัญญาทั้งหมด การบริหารจัดการหนี้ Debt Restructuring System ©2025 Page 41 of 63 ☆ 41 1128700 Role - Approver Goodbank --- PAGE 43 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 5) ทดสอบเข้าใช้งาน: การจัดการและติดตามคดี ผ่านระบบ EDMS HOME Operational Dashboard EH BAAC - CONSOLE G Home https://e2e-m4-testapp.app.baac.or.th/#/ Legal System MENU - สร้างคําร้อง อนุมัติค่าร้อง 1 รายงาน Dashboard DMS Debt Monitoring Debt Restructuring Syster Legal System × + สาขา/จังหวัด/ภาค * ประเภทการค้นหา สาขา/จังหวัด/ภาค Q ( เดือน/ปี วง O ช่วงเวลา Q มหา C อ้างจอภาพ สถิติการยื่นฟ้องแยกตามภูมิภาคทั่วประเทศ ☆ นายศักดา กิตติวรเดช สาขาบ้านนา ผู้จัดการสาขา 10 DMS Debt Monitoring × Debt Restructuring Syste × Legal System Q & 6) ทดสอบทำการ Logout ระบบ EDMS ผ่านระบบ EDMS PP Operational Dashboard x M BAAC - CONSOLE 3 https://e2e-uat.app.baac.or.th/dashboard/operational ศักดา กิตติวรเดช く ศ ผู้จัดการสาขา 10 Logout Dashboard ..ต ภาพรวมการวิเคราะห์ ล ธ.ก.ส. 5 BAAC ภาพรวมการบริหารจัดการหนี้ + E] ภาพรวมการบริหารจํดการหนึ่ ภาพรวมการวิเคราะห์ [ วิเคราะห์ตามภาพรวม E วิเคราะห์ตามฝ่าย Ε วิเคราะห์ตามจังหวัด ฝสบ.ภาคตะวันออก ทั้งหมด สํานักงาน ธ.ก.ส.จังหวัดนครนายก สาขาบ้านนา 1128700 V ตกลง O รี ด งานที่ได้รับมอบหมาย CIF 0 สัญญา 0 งานที่อยู่ระหว่างนัดช่าระ สัญญาว่าจะชาระ / ชาระไ เงินค้างช่าระ (บาท) ดอกเบี้ยค้างชาระ (บาท) 0 0 จํานวนเงินที่น้ต าระ (บาท) 0.00 x Legal Systern x DMS-Debt Monitoring x Debt Restructuring Syste x BAAC-CONSOLE X + https://e2e-uat.app.baac.or.th/signin @ ☆ ค Ca End to End Process G สา ธ.ก.ส. BAAC รหัสพนักงาน พาสเวิร์ด เวจสอบ มู การ ลืมพาสเวิร์ด? การ เขาไม่งาน Version 1.0.5141.0.5/1.0.2901 0.15 Dashboard E2E สหร ห Page 42 of 63 O 42 --- PAGE 44 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 7) ทดสอบเข้าใช้งาน: การวิเคราะห์ลูกหนี้ ยังไม่ Logout ตาม Operational Dashboard | EA BAAC CONSOLE DMS Debt Monitoring Debt Restructuring Syster Legal System ⭑ 5 | Lo C https://e2e-m1-testapp.app.baac.or.th/overview ธนาคารเพื่อการเกษตรและสหกรณ์การเกษตร โครงการพัฒนาระบบงานรองรับการบริหารจัดการคุณภาพหนี้ - ส่วนการวิเคราะห์ข้อมูล สรุปผลการดำาเนินงาน แผนการช่วยเหลือ | รายการสำารวจข้อมูล การตั้งค่าระบบ สรุปผลการดำเนินงาน เขตภูมิภาค ทุกภูมิภาค ปีพุทธศักราช 2568 จังหวัด ทุกจังหวัด ไตรมาสของปี โตรมาสที่ 3 (กรกฎาคม-กันยายน) v เคลียร์ อมูล ปรับปรุงข่อมูล ช่วงเลาที่ทําการค้นหาข้อมูล: ตั่งแต่วันที่: 2025-06-30 ถึงวันที่: 2025-09-29 สาขาธนาคาร ทุกสาขา เดือน ทุกเดือน จํานวนแบบสํารวจทั้งหมด 0 ยกเลิก อนุมัติแล้ว 0 0 8) ทดสอบเข้าใช้งาน: การติดตามหนี้และการเตือน ยังไม่ Logout ตาม รอด้าเนินการ 0 Operational Dashboard × EE BAAC - CONSOLE = DMS-UAT V4.2 https://e2e-m2-testapp.app.baac.or.th/Home Debt Monitoring and Warning System DMS-Debt Monitoring x Debt Restructuring System x Legal System + 9) ทดสอบเข้าใช้งาน: การบริหารจัดการหนี้ ยังไม่ Logout ตาม Operational Dashboard × SH BAAC - CONSOLE DMS Debt Monitoring C PM3 E ใบคําขอ ด รอตรวจใบค้าขอ so Override ฿ ใบคําขอทั้งหมด B สัญญา 0 รอตรวจสัญญา https://e2e-uat-m3ui.app.baac.or.th/dashboard = การบริหารจัดการหนี้ (0222 - สาขาบ้านนา) (๑) ศักดา กิตติวรเดช 03/11/2025 01:41:36 - 1128700 ศักดา กิตติวรเดช Debt Restructuring Syster x Legal System ☆ การบริหารจัดการหนี้ Page 43 of 63 ออกจากระบบ La 43 1128700 Role Approver Goodbank --- PAGE 45 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 10) ทดสอบเข้าใช้งาน: การจัดการและติดตามคดี ยังไม่ Logout ตาม HOME Operational Dashboard | × EH BAAC - CONSOLE C https://e2e-m4-testapp.app.baac.or.th/#/ ANY Home Legal System MENU สร้างค่าร้อง * อนุมัติคําร้อง * รายงาน Dashboard สาขา/จังหวัด/ภาค สาขา/จังหวัด/ภาค DMS - Debt Monitoring a x Debt Restructuring Syster × Legal System x Q ค้นหา ลัางจอภาพ ประเภทการค้นหา a เดือน/ปี ปี ช่วงเวลา สถิติการยื่นฟ้องแยกตามภูมิภาคทั่วประเทศ Page 44 of 63 @ | 97 | S นายศักดา กิตติวรเดช สาขาบ้านนา ผู้ ดการสาขา 10 44 --- PAGE 46 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 5.3 สามารถเข้าถึงข้อมูลได้โดยไม่ต้องมี Access Token ผลการทดสอบซ้า วิธีการแก้ไข มีการ Encrypted ข้อมูลที่ทำการส่งโดยผู้ทดสอบ จะไม่สามารถที่จะนำเอา Session token ไปใช้ต่อ ได้ ระดับความเสี่ยง สถานะช่องโหว หมายเหตุ ปานกลาง ปิดโดยการแก้ไข 45 ประเด็นข้อตรวจพบและผลกระทบ การเข้าถึงข้อมูลโดยไม่มี Access Token โดยไม่มีการตรวจสอบว่าคำขอ (Request) ที่เข้ามา มีข้อมูล ยืนยันตัวตนที่ถูกต้อง หรือ Access Token หรือไม่ และระบบยอมให้เข้าถึงข้อมูลได้เลย ซึ่งแสดงข้อมูลรายชื่อ สาขา ซึ่งการส่ง Access Token ใน Request Body ผ่าน multipart/form-data เป็นแนวทางที่ ไม่เป็นไป ตามแนวทางปฏิบัติที่ดี (Not a Best Practice) และก่อให้เกิดความเสี่ยงด้านความปลอดภัยหลายประการ Attacker สามารถเข้าถึงข้อมูลส่วนตัวทั้งหมดของผู้ใช้ทุกคน ข้อมูลทางการเงิน ข้อมูลลับขององค์กร หรือข้อมูลอื่น ๆ และสามารถแก้ไขหรือลบข้อมูลทั้งหมดในระบบได้โดยไม่ต้อง Login ที่ ท เป้าหมายที่กระทบ 'https://e2e-m1-testapi.app.baac.or.th/ConsoleMaster/BranchUnitList (1) ระดับความเสี่ยง ระดับความเสี่ยง อางอิง A01:2021 API1:2023 API2:2023 API5:2023 ความน่าจะเป็น สูง ปานกลาง ผลกระทบ ตา CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H (10.0 Critical) CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H (10.0 Critical) Page 45 of 63 --- PAGE 47 --- คำแนะนำในการแก้ไข ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 คำอธิบาย แนวทางการแก้ไขและป้องกัน 1. ยกเลิกการใช้งาน Access Token ใน Request Body ผ่าน multipart/form-data 2. เปลี่ยนการส่ง Access Token เป็น HTTP Authorization Header Nginx Config สำหรับบังคับใช้ Header location /api/upload/ { } } # 1. ตรวจสอบว่ามี Authorization Header หรือไม่ if ($http_authorization = "") { return 401; # ปฏิเสธทันทีถ้าไม่มี # หากมี Header: ส่งคำขอไปที่ Backend (ที่ควรจะตรวจสอบ Token ต่อ) proxy_pass http://your_api_backend; 3. หากจำเป็นต้องรับ Token จาก Request Body จริง ๆ (ซึ่งทางผู้ทดสอบไม่แนะนำ) ต้องบังคับใช้ Authentication Middleware ทุก API Endpoint ที่มีการเข้าถึงข้อมูลต้อง ถูกหุ้มด้วย Middleware หรือ Filter ที่บังคับตรวจสอบ Token โค้ดต้องมีการตรวจสอบที่รัดกุมและมั่นใจว่า Token ถูกนำไป Validate ก่อนอนุญาตให้โค้ดทำงานต่อไปได้ ตัวอย่างผลของการทดสอบ 1) ทดสอบการ POST ขอข้อมูลผ่าน /ConsoleMaster/Branch UnitList Page 46 of 63 46 --- PAGE 48 --- 2 สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) 64006243 47 Request Pretty Raw Hex POST ConsoleMaster/Branch Unit List HTTP/2 2 Host: e2e-ml-test api. app. baac.or.th 3 Content-Length: 1591 4 Sec-Ch-Ua-Platform: "windows" 5 Accept-Language: en-US,en;q=0.9 6 Accept: application/json, text/plain, */* 7 Sec-Ch-Ua: "Chromium"; -"139", "Not; A-Brand"; v-"99" 8 Content-Type: multipart/form-data; boundary ----WebKit FormBoundary8wraCCDOFDNx $72b 9 Sec-Ch-Ua-Mobile: 70 0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64: x64) 2 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Origin: https://eze-ml-testapp.app. baac.or.th Sec-Petch-Site: same-site 3 Sec-Petch-Mode: cors 4 .9 Sec-Fetch-Dest: empty 5 Referer: https://e2e-ml-testapp.app. baac. or.th/ 6 Accept-Encoding: gzip, deflate, br. 7 Priority: u=1, i 9 ------WebKit FormBoundary8wraCGDOFDNxS72b 10 Content-Disposition: form-data; name="token" \n = 12 eyJhbGcioiJIUZI1NiIsInR5CCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IjExMjg3MDAiLCJ 1bWFpbCI6IiIsInVzZXJJZCI6IjExMjg3MDAiLCJjb3VudERvd24i0jAsIm1vZHVsZXM 101t71m1vZHVsZWlkIjoiZjU3MDI5MWIENGESYSOUNGNKLWI3MjQtNDVINjg32GZmNDI xIiwicm9sZWlkIjoiNCISImlzYXBwcm92ZXIiOmZhbHNlfsx71m1vZHVsZWlkIjoiNZI WYZIDN2EtYzFmYy00N204LTgzNDgtYT000TgzMTgуNZQxIiwicm9s zwlkIjoiMiIsIml ZYXBwcm92ZXIiOmZhbHNlfsx7In1vZHVsZWlkIjoiODIZZjJhMDET OWMO Z1 00Y2V Lig 4Y2NtYzdkYTZhZGU4N2NlIiwicm9sZWlkIjoiNOYOMTE 1MkMtMTgxRC00MDI2LTg4MDI tNzE2NjA1MjNBNjY4Iiwi axNhcHBуb3Zlci1I6ZmFsc2V9LHsibw9kdWxlawQLOLIзYjB jxjQ2YS1jNGZjLTQ3ZDgt ODM00C1hND050DMXODI3 ZDEiLCJyb2xlaWQiOiI4MCIs Inl ZYXBwcm92ZXIiOmZhbHN1E8x7Im1vZHVsZWlkIjoiNZIwYzIOM2EtYz RmYy00N2Q4L7g zNDgtYTQ0OTgzNTgyN2QxIiwicm9sZWlkIjoioDgiLCJpc2FwcHJvdmVyIjpmYWxzZX0 sInJvbGVpZCI6IjkzIiwiaXNhcHByb3Zlci16dHJ12X0seyJtb2R1bGVpZCI6IjgуM2Y sayJtb281bGVpZCI6IjdiмCMYNDNhLWMO ZmMtNDdk0C04MzQ4LWEONDk4MzE4MjdkMSI VYTAXLT1jNGYENGNIZ1040GNJ LWM3ZGEZYWRlODdjzsIsInJvbGVpZCI6IkUlMzdFNkZ CLUQINDYENDIDOC1BMUJBLTEуMKM3RjFFOZlGMiIsImlzYXBwcm92ZXIicmZhbHNlfsx 7Im1vZHVsZWlkijoizjU3MDI5MWITNGESYSOUNGNKLWI3MjQtNDVINjg3 ZGZmNDIxIiw icm9sZWlkIjoiMTIiLCJpc2FwcHJvdmVyIjpmYWxzZX0seyJtb2R1bGVpZCI6IjQ40WZ INGJILTQ5ZDKINDCZYS05MDJjLTUOZWEZZjMZMZYXNSIsInJvbGVpZCI6I1IxNzUzMjY yMzIwMDk0IiwiaXNhcHByb321ciI6ZmFsc2V9LHsibW9kdWxlaWQiOiIzYjRkZjJmMy 12TIZLTQ0YjctYTJINS1jZGUZMWY 40W 2mNTYiLCJybZxlaWQiOiIwMDIiLCJpc2PwcHJ dmVmVWxzZVLAICUTRINTA MTMxEO Iud RoadRG-3400 2 I Response Pretty Raw HTTP/2 200 OK Hex Render 2 Content-Type: application/json; charset=utf-8 3 Vary: Origin 4 Server: Microsoft-IIS/10.0 = An == 5 Access-Control-Allow-Origin: https://e2e-ml-testapp.app.baac.or.th 6 Date: Sun, 02 Nov 2025 20:17:25 GMT 1 "branch_units": [ "id": 498, "created_at":"2023-11-12T00:00:00", "updated_at":"2023-11-12T00:00:00", "boo": "240", "branch unit":"4709", "name": "\U0E40\U0E01\U0E25\U0E15\U0E23\U0E27\u0£34\GDEZA\U0E 31\u0632 1", "name_en": "KASET WISAI 1" "id":1514, "created_at":"2023-11-12T00:00:00", "updated_at":"2023-11-12T00:00:00", "boo": "991", "branch_unit":"4709", "name": "U0E40\U0E01\U0E25\U0E15\u0823\u0827\U0E34\u0E2A\U0E 31\u0622 1", "name_en": "KASERTWI SAI 1" "id":499, "created_at":"2023-11-12T00:00:00", "updated_at":"2023-11-12T00:00:00", "boo": "240", "branch_unit": "4719", "name": "\u0R40\uDR01\u0R29\u0E15\U0E23\u0827\U0E34\U0E2A\U0E 31\U0E22 2", "name_en": "KASET WISAI 2" "id":1427, "created +707311 1700-00-07 2) ทดสอบการ POST ขอข้อมูลผ่าน /ConsoleMaster/BranchUnitList โดยไม่ใช้งาน Access Token Request Pretty Raw Hex Accept-Language: en-US,en;q=0.9 Sec-Ch-Ua: "Chromium"; v="139", "Not; A=Brand";v="99" L POST /ConsoleMaster/Branch Unit List HTTP/2. 2 Host: e2e-m1-testapi.app. baac.or.th 3 Content-Length: 0 Sec-Ch-Ua-Platform: "Windows" Accept application/json, text/plain, */* Content-Type: multipart/form-data; boundary ----WebKit Form Boundary8wraCGDOF DNxS72b Sec-Ch-ua-Mobile: 70 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537 Pain: https://e2e-n1-testapp.app.baac.or.th Origin: Sec-Fetch-Site: same-site 2 Sec- Sec-Fetch-Mode: cors Sec- c-Fetch-Dest: empty Referer: https://020-ml-testapp.app.baac.or.th/ Accept-Encoding: gzip, deflate, br Priority: u=1, i In = Response Pretty Raw 1 HTTP/2 200 OK Hex Render 2 Content-Type: application/json; charset=utf-8 3 Vary: Origin 4 Server: Microsoft-IIS/10.0 In 5 Access-Control-Allow-Origin: https://e2e-m1-testapp.app. baac.or.th 6 Date: Sun, 02 Nov 2025 20:26:11 GMT 7 8 1 "branch_units": [ { "id": 498, "created_at": "2023-11-12T00:00:00", "updated_at": "2023-11-12T00:00:00", "boo": "240", "branch_unit":"4705", "name": "\u0E40\U0E01\U0E29\u0E15\U0E23\U0E27\u0E34\u0E2A\U0E 31\u0E22 1" "name_en": "KASET WISAI 1" Page 47 of 63 } "id": 1514, "created_at":"2023-11-12T00:00:00", "updated_at":"2023-11-12T00:00:00", "boo": "991", "branch_unit":"4709", "name": "\u0E40\U0E01\U0E29\u0E15\U0E23\U0E27\u0E34\U0E2A\U0E 31\u0E22 1", "name_en": "KASERTWISAI 1" "id": 499, "created_at":"2023-11-12T00:00:00", "updated_at":"2023-11-12T00:00:00", "boo": "240", "branch_unit": "4719", "name": "\u0E40\U0E01\U0E29\u0E15\U0E23\U0E27\uDE34\u0E2A\U0E 31\u0E22 2", "name_en": "KASET WISAI 2" "id": 1427, --- PAGE 49 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 5.4 ตรวจพบมีการใช้งาน Session Token บน URL Path ผลการทดสอบซ้ำา วิธีการแก้ไข ระดับความเสี่ยง มีการ Encrypted ข้อมูลที่ทำการส่งโดยผู้ทดสอบ ต่ำ สถานะช่องโหว หมายเหตุ ปิดโดยการแก้ไข จะไม่สามารถที่จะนำเอา Session token ไปใช้ตอ ได้ 48 ประเด็นข้อตรวจพบและผลกระทบ การเปิดเผย Session Token บน URL Path ทำให้ Token นั้นมีความเสี่ยงที่จะถูกขโมยได้ง่ายกว่า การส่งผ่าน HTTP Cookie หรือ HTTP Header มาก Session Token จะถูกบันทึกไว้ใน Access Logs ของ Web Server (เช่น Nginx),Browser History และ Backend Server อย่างถาวร หาก Attacker เข้าถึงไฟล์ Log เหล่านี้ได้ ก็จะสามารถรวบรวม Session Token ที่ยังไม่หมดอายุทั้งหมด ผลกระทบหลักคือ Session Hijacking ซึ่งหมายถึงการที่ Attacker สามารถขโมย Session ID ไปสวม รอยเป็นผู้ใช้ได้ ท (1) เปาหมายที่กระทบ 'https://e2e-uat-m3ui.app.baac.or.th/login-iauth/username/ https://e2e-m1-testapp.app.baac.or.th/login https://e2e-m1-testapi.app.baac.or.th/landing/ https://e2e-m2-testapp.app.baac.or.th/ ระดับความเสี่ยง ระดับความเสี่ยง อางอิง A07:2021 ความน่าจะเป็น ต่า ต่า ผลกระทบ ปานกลาง CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N (8.6 High) CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N (8.5 High) Page 48 of 63 --- PAGE 50 --- ☑ คำแนะนำในการแก้ไข 2 2 สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) 64006243 คำอธิบาย 49 1. หามสง Session Token ผาน URL Path 2. ใช้ HTTP Authorization Header: สำหรับ APL ควรส่ง Access Token หรือ Session Token ผ่าน Header (Authorization: Bearer ) 3. กรณี Nginx หรือ IIS ต้องปิดคุณสมบัติ URL-based Session Tracking ที่ระดับ Application Backend การ Rewrite URL (เพื่อกำจัด Session ID) และบังคับให้ใช้ HTTP Cookies (Secure,HTTPOnly, SameSite Strict/Lax) ตัวอย่างผลของการทดสอบ 1) ทดสอบการ POST ขอข้อมูลผ่าน /ConsoleMaster/Branch UnitList Request Pretty Raw Hex 1 GET /login-iauth/username/?token= \n = eyJhbGci0iJIUZIINiIsInRSCCI6IkpxVCJ9.eyJ1c2VybmFt35161jExMjg3MDAiLCJ 1bWFpbCI6IiIsInVzZXJJZCI6IjExMjgзMDAiLCJjb3VudERvdZ410jAsIm1vZHVsZXM iolt71m1vZHVsZwlkIjoiZjU3MDI5MWIENGESYS00NGNKLWI3MjQtNDV1Njg3ZcZmNDI xIiwicm9sZWlkIjoiNCIsIm1zYXBwcm92ZXIiOmZhbHNL fsx7Im1vZHVsZWlkIjoiZI WYZI0M2EtYz RuYy00N20417gzNDgtYT000TgzMTgyN20xIiwicm9saWikIjoiMiIsIml ZYXBwcm92ZXIi OmZhbHNIFSx7In1vZHVsZWlkIjoiODIzZjJhMDEŁOWM02100Y2VmL@g 4Y2MtYzdkYTZhZGU4N2NlIiwicm9saWlkIjoiNOYOMTE1MkMtMTgxRC00MDI2LT 4MDI Response Pretty Raw HTTP/2 200 OK Hex Render 2 Date: Sun, 02 Nov 2025 20:50:52 GMT 3 Content-Type: text/html; charset=utf-8 4 Content-Length: 816 5 Last-Modified: Fri, 31 oct 2025 11:57:44 GMT 6 Etag: "6904a438-330" 7 Expires: Tue, 02 Dec 2025 20:50:52 GMT 8 Cache-Control: max-age=2592000 CNZEZNJALMjNENjY4IiwiaжNhcHBуb321ciI6ZmFsc2V9LHsibW9kdWxlaNQiol13Yj8 9 Accept-Ranges: bytes jMjQ2YS1jNGZjLT032DgtoDMDOC1hNDQ50DXXODI3ZDELLCJуb2xlaWQiOiI4MCISI ZYXBwcm92ZXIiomzhbHNlfsx7Im1vZHVsZwlkIjoin IwYZIOM ELYZ RmYy00N2Q4LTg zNDgtYTo0OTgzNTgyN20xIiwica5sWlkIjoioDgiLCJpc2FwcHJvdmVyIjpmYWxzZX0 10 Strict-Transport-Security: max-age-15724800; include SubDomains 11 12 seyJt b2R1bGVpZCI6IjdiMGMYNDNhLWMOZmMtNDk0C04MzQ4LWEONDE 4MzE4MjdkMSI 13 sInJvbGVpZCI6IjkzIiwiaжNhcHBуb321cȧIбGHJ1ZX0seyJtb2RlbGVpZCI6IjgуMZY VYTAKLTLINGYENGN1Z1040GNjLWM33GE2YWRlODdjzsIsInJvbGVpZCI6IkU1MzdFNkZ CLUQINDYENDIUOCIBMUJBLTEуMKM3RJEEQZLGMiIsIm1zYXBwcm92ZXIiomZhbHNlгsx 71m1vZHVsZWlkijoizjU3MDI5MNINGESYS00NGNILMI3NjQtNOVINjg3ZGZmNDIxIiw icm9sZWlkIjoiMTIiLCJpc2FwcHJvdmVyIjpmYWxzZX0seyJtb2R1bGVpZCI6IjQ4OW INGJILTOSZDKUNDC2YS05MDJjLTU0ZWE23jMzM2YxNSIsInJvbGVpZCI6ILIxNzUzMjY yMzIwMDk0Iiwi aXNhcHByb3Zlci162mFsc2V9LHsibW9kdWxlaWQiOiI2YjRk3jJmMy 14 16 17 18 19 1ZTI=LTQ0YjctYTJINS1jZGU2MNY 40W2MNTYiLCJyb2xLaWQiOiIwMDIiLCJpc2FwcHJ vdmVyIjpmYWxzzx1dLcJl AiOjE3NjIxMjAуMTE UNjMwNzI5FQ.581LzKNX64mtXL 20 AGEBOARJL1J6QPb3AhjIzaEZ9FY HTTP/2 2 Host: 20-uat-m3ui.app.baac.or.th 11 12 3 Sec-Ch-Ua: "Chromium" y="135", "Not: A Brand";v="99" 4 Sec-Ch-Ua-Mobile: 70 S Sec-Ch-Ua-Platform: "Windows" 6 Accept-Language: en-US, enq=0.9 Upgrade-Insecure-Requests: 1 8 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Accept: text/html,application/xhtml+xml, application/xml;q=0.9, image/avit, ima ge/webp, image/apng,*/*;q=0.8, application/signed-exchange;vb3;q=0.7 Sec-Fetch-site: same-site Sec-Fetch-Mode navigate Sec-Betch-User: 21 13 Sec-Fetch-Dest: document 14 Referer: https://eze-uat.app. baac.or.th/ 15 Accept-Encoding: gzip, deflate, br 16 Priority: =0, i 17 Le 21 <1 GOOGLE FONT API --> in 25 ༡:|:ཤའ་འཆག་གླུ་མ་མཐུན་པ་མཞམསྐུ་ ཨེས 33 Debt Restructuring System
29 30 32
Chades 2 2) ทดสอบการ POST ขอขอมูลผาน /ConsoleMaster/Branch UnitList d8 Inspector Notes Explanations Request Pretty Raw Hex 1 GET /Login?token= Response in = Pretty Raw eyJhbGci0iJIUZIINiIsInR5CCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IjExMjg3MDAiLCJ1bWFpbCI6IiIsInVzZXJJ2C I6IjBxMjg3MDALLCJjb3VudERvd2410jAsIm1vZHVsZXMiolt7Im1vZHVsZWlkIjoiZjU3MDI5MWINGESYSOONGNKL WIзMjQtNDVINjg3363mNDIxIiwicm9szwlkIjoiNCISInlzYXBwcm92ZXIiOmZhbHNlfsx71m1vZHVsзWlkIjoiN2Iw YzIOM2EtYzRmYy00NZQ4LTgzNDqLY? QUOTgzM?gyN2QxIiwicm9sZWlkIjoiMiIsImlzYXBwcm92ZXIiOmZhbHNLES× 71m1vZHVsZWlkijoioDIZZjJhMDELOMMOzi 00Y2VmLTg4Y2MtYzdkYTZhZGU4N2NlIiwicm9szulkijoiNOYOMTE LMK MtMTgxRCO DMDI2LTg4MDI+NzEZNjALMjNBNjY4Iiwi aXNhcHByb32lci 162mFsc2V9LHsibwkdWxlaWQiOiIзYjBjм jQ2YS1jNGZjLT033Dgt ODM00C1hNDQ50DMXODI3ZDEiLCJyb2xlaWQiOiI4MCISImlzYXBwcm92ZXIiOm5hbHNlf 5x7 Im1vZHVsZWlkIjoiN2IwYZI0M2EtY:RmYу0 0N204LTgzNDgtYTQ0OTgzMTgyN20xIiwicm9s zwlkIjoioDgiLCJpc2F wcHJvdmVyIjpmYWxzZX0seyJtb2R1bGVpZCI6IjdiMGMYNDNhLMM0ZmMENDdk0C04MzQ4LWE ONDK 4MZE 4MjdkMSIsIn JvbGVpZCI6IjkzIiwiaxNhcHBуb3zlci1бdHJ1ZxOsayJtb281bGVpZCIбгjдумZYуYTAжLT1jNGYENGN1zi040GNjL WM3ZGRZYWRLODdj3SIsInJvbGVpZCI6IkU1MzdPNkZCLUQINDYENDIDOC1BMUJBLTEyMKM3RjPFQzlGMiIsIm1zYXBw cm92ZXIiomZhbHNlf5x7Im1vZHVsZWlkIjoiZjU3MDI5MWIUNGE SYS00NGNKLWI3MjQtNDVLNjg32GZmNDIxIiwica sZWlkIjoiMTIiLCJpc2FwcHJvdmVyIjpmYWxzZX0seyJtb2R1bGVpZCI6IjQ40WZINGJLLTQ5zDktNDC2YS 05MDJjLT UOZWB2ZjNzM2YxNSIsInJvbGVpZCI6ILIxNzUzMjYyMzIwMDk0IiwiaxNhcHBуb3Zlci16ZmFsc2V9LHsibW9kdWxla WQiOiI2YjRkZjJmMy01ZTIZLTQ0YjctYTJINS1jZGU MWY LOW ZANTYiLCJyb2xlawQiOiIwMDIiLCJpc2FwcHJvdmVy IjpmYWxzZX1dLCJIеHAiOjE3NjIxMTQyNzKUM2E4MTK3TQ.KpNALT DUE5qZ-4bVs LN ZA1SJ5_qak-3kQ1GzuXer5w HTTP/2 Host: e2e-ml-testapp. app. baac.or.th 3 Accept-Language: en-US,en;q=0.9 4 Upgrade-Insecure-Requests: 1 5 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 6 Accept: text/html,application/xhtml+xml, application/xml/q=0.9, image/avif, image/webp, image/apng,*/*; q=0.8, application/signed-exchange: v=b3;q=0.7 7 Sec-Fetch-site: B 9 same-site Sec-Petch-Mode: navigate Sec-Fetch-User: HTTP/2 200 OK Hex Render 2 Content-Type: text/html 3 Last-Modified: Fri, 31 Oct 2025 16:30:15 GMT 4 Accept-Ranges: bytes. 5 Rtag: "805fea2834adel: 0" 6 Server: Microsoft-IIS/10.0 7 Date: Sun, 02 Nov 2025 20:54:49 GMT 8 Content-Length: 955 9 10 doctype html> BAAC CONSOLE 10 Sec-Fetch-Dest: document 11 Sec-Ch-Ua: "Chromium": v="139", "Not: A Brand": v="99" 12 Sec-Ch-Ua-Mobile: 70 13 Sec-Ch-Ua-Platform: "Windows" 14 Referer: https://e2e-uat.app.baac.or.th/ 15 Accept-Encoding: gzip, deflate, br 16 Priority: u=0, i 17 LB
Page 49 of 63 Custom actions. --- PAGE 51 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 50 Page 50 of 63 --- PAGE 52 --- 2 สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) 64006243 3) ทดสอบการ POST ขอขอมูลผ่าน /ConsoleMaster/BranchUnitList Request Pretty Raw 1 GET /landing/?token= Hex In = ByJhbGcioiJIUZIINiIsInR5CCI6IkpxvCJ9 eyJlc2VybmFtZSI6IjExMjg3MDAiLCJ1bWFpbC I6IiIsInVzZXJJZCI6IjExMjg3MDAiLCJjb3VudERvd2410jAsIm1vZHVsZXMiolt7Im1vZHVsZ WlkIjoiZjU3MDI5MWIENGESYSDONGNKLWI3MjQtNDVINjg32GZmNDIxIiwicm9sZWlkIjoiNCIS ImlzYXBwcm92ZXIiOm2hbHNlf Sx7Im1vZHVsZWlkIjoiNZIwYzI0M2BtYz RmYy00NZ04LTgzNDq tYTODOTgzMTgyNZQxIiwicm9sZWlkIjoiMiIsImlzYXBwcm92ZXIiOmZhbHNlfSx7Im1vZHVsZW IkIjoiODIzZjJhMDEtOWMOZ100YZVmLTg4Y2MtYzdkYT2hZGU4N2N1Iiwicm9sZWlkIjoiNDYOM TELмkMtMTgxRC00MDI2LTg4MDIENZE2NjA1MjNENjY4IiwiaжNhcнBуb3Zlci16ZmFsc2V9LHsi bw9kdWxlawQioi13YjBjмjozYS1jNGZjLTQ3ZDgtoDм00C1hNDQ50DMXODI3ZDEiLCJyb2xlawQ ioi14MCISImlzYXBwcm92ZXIiomZhbHNlfsx71m1vZHVsZWlkIjoiNZIWYZIOMZETYzRMYy00N2 Q4LTgzNDgtYTQDOTgzMT gуNZQxIiwicm9sZWlkijoioDgiLCJpc2FwcHJvdmVyIjpmYWxzZX0se yJtb2R1bGVpZCI6IjdiкGMуNDNhLWM0ZmMtNDdk0C04MzQ4LWE INDK 4M2E 4MjdkMSIsInJvbGVp ZCI6IjkzIiwiaxNhеHBуb3zleiI8dHJ1Zx0seyJtb2R1bGVpZCI6IjgуM2YyYTAxLT1jNGYINGN 1ZL040GNjLWM3ZGE2YWRLODdjZSIsInJvbGVpZCI6IkU1MzdPNkZCLUQINDYENDI00C1BMUJBLT EVMKM3RjFFQZ1GMiIsIm1zYXBwcm92ZXIiOmZhbHNlfsx7Im1vZHVsZWlkIjoiZjU3MDI5MWILN GE5YSOONGNKLWIзMjotNDVINjg32G2mNDIxIiwicm9sZWlkIjoiMTIiLCJpc2FwcHJvdmVyIjpm YWxzZX0seyJtb3RlbGVpZCI6Ij040W ZiNGJlLT052Dkt NDC2Y805MDJjLTUOZWEZZjMzM2YxNSI sInJvbGVpZCI6I1IxNzUzMjYyMzIwMDk0IiwiaXNhcHByb321ciI6ZmFsc2V9LHsibW9kdWxlaW OiOiI2YjRkZjJmMy012TIZLTQ0YjctYTJINS1jZGUZMWY 40W 2mNTYiLCJyb2xlaWQiOiIwMDIiL CJpc2FwcHJvdmVyIjpmYWxzzx1dLCJlенAiоjE3NjIxMTE2NTgUNTM5NDMOFQ.-14rse 0 Suxaks IMZQPTXVNITJXAhwEITqjH5nXFORVC HTTP/2 Host: e2e-ml-testapi. app. baac.or.th 3 Sec-ch-Ua: "Chromium"; v="139", "Not;A-Brand"; v="99" Sec-Ch-Ua-Mobile: 20 5 Sec-Ch-Ua-Platform: "Windows" 6 Accept-Language: en-US,en;q=0.9 7 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 9 Accept: text/html,application/xhtml+xml,application/xml;q=0.9, image/avif, image/webp ,image/apng,*/*;q=0.8, application/signed-exchange; v=b3;q=0.7 0 Sec-Fetch-site: same-site 1 Sec-Fetch-Mode: navigate 2 Sec-Fetch-User: 71 3 Sec-Fetch-Dest: document. 4 Referer: https://e2e-uat. app. baac.or.th/ Response Pretty Raw Hex 1 HTTP/2 302 Found) Location: Render In = https://e2e-m1-testapp. app. baac.or.th/login?token=eyJhbGcioiJIUZI NiIsInR5CCI6IkpXVCJ9.eyJlc2VybmFtZSI6IjBxMjg3MDAiLCJ1bWFpbCI6IiI sInVzZXJJZCI6IjExMjg3MDAiLCJjb3VudERvd24i0jAsIm1vZHVsZXMi01t7Imlv ZHVsZWlkIjoiZjU3MDI5MWI NGE5YSOONGNkLWI3MjQtNDVINjg32GZmNDIxIiwic m9sZWlkIjoiNCIsIm1zYXBwcm92ZXILOmZhbHNlf 8x7Im1vZHVsZWlkIjoiNZIWYz IDM2EtYzRmYy00N2Q4LTgzNDgtYTQ0OTgzNTgyN2QxIiwicm9sZWlkIjoiMiIsIml ZYXBwcm92ZXIiomZhbHNlfsx71m1vZHVsZWlkijoiODIZZjJhMDET OWMOzi 00Y2vm LTg4Y2MtYzdkYTZhZGU4N2NlIiwicm9sZwlkIjoiNDYOMTE 1MKMENTgxRC00MDI2L Tg4MDITNZEZNjA1MjNBNjY4Iiwi axNhcHBуb3Zlci16ZmFsc2V9LHsibw9kdWxlaw QiOiIзYjEjMjQ2YS1jNGZjLTQ3ZDgtoDM00C1hNDQ50DMXODI3ZDEiLCJyb2xlaWQ iOiI4MCISImlzYXBwcm92ZXIiOmZhbHNlfsx7Im1vZHVsZWlkIjoiN2IwYZI0M2Et Y2RmYy00N204LTgzNDgtYTQ0OTgzMTgуN2QxIiwicm9sZWlkIjoioDgiLCJpc2Fwc HJvdmVyIjpmYWxzZX0seyJtb2R1bGVpZCI6IjdiMGMуNDNhLWM0ZmMENDdkoс04M2 Q4LWE UNDk4MzE4MjdkMSIsInJvbGVpZCI6IjkzIiwiaXNhcHBуb321ci IбdHJ1ZX0 seyJtb2RlbGVpZCI6IjgyM2YyYTAxLT1jNGYENGN121040GNjLWM3ZGEZYWR10Ddj 28IsInJvbGVpZCI6IkU1MzdPNk2CLUQINDYENDI DOC1BMUJB LTEуMKM3RjFFQzlGM iIsIm1zYXBwcm92ZXIiOmZhbHN1f8x71m1vZHVsZW1kIjoiZjU3MDI5MWI+NGB5YS 00NGNKLWI3MjQtNDV1Njg3zGZmNDIxIiwicm9sZWlkIjoiMTIiLCJpc2FwcHJvdmV yIjpmYWxzZX0seyJtb2R1bGVpZCI6IjQ40wZiNGJ1LTQ5zDkt NDC2Ys05MDJjLTUO ZWE2ZjMZMZYXNSIsInJvbGVpZCI6111XNZUZMjYyMzIwMDk0IiwiaxNhcнBуbзzle 116ZmFsc2V9LHsibw9kdWxlawQiOiI2YjRkZjJmMy01ZTIZLTQ0YjctYTJiNS1jZG U2MWY 40W ZENTYiLCJуb2xlaWQiOiIwMDIiLCJpc2FwcHJvdmVyIjpmYWxzZX1dLCJ leHAiOjE3NjIxMTE2NTguNTM5NDM0fQ.-I4rse0 SuxaкSIMzQpTXVNITIXAhwfITq jH9nXFORve 3 Server: Microsoft-IIS/10.0 4 Date: Sun, 02 Nov 2025 18:28:08 GMT 4) ทดสอบการ POST ขอขอมูลผาน /ConsoleMaster/Branch UnitList Request Pretty Raw Hex 1 GET /?token= 5 in = Response 三 eyJhbGcioiJIUZI1NiIsInR5CCI6IkpXVCJ9 eyJ1c2VybmFtZSI6IjExMjg3MDAiLCJ1b MFpbCI6IiIsInVzZXJJZCI6IjExNjg3MDAiLCJjb3Vudxxvd24iojAsIn1vZHVsZXMilt 71m1vZHVsZWlkIjoiZjU3MDI5MWIENGESYS00NGNKLWI3MjQtNDVINjg3zGZmNDIxIiwic m982W1kIjoiNCIsIm12YXBwcm92ZXIiOnZhbHNlISx7In1vZHVsZWIKIjoiZIWYZIUMZE tYzRnYyDON204 LTgzNDgtYTQ007gzMTgyN2QxIiwicm952WlkIjoiMiIsIm1zYXBwcm92Z XILOmZhbHNlfsx7In1vZHVsZWlkIjoioDIzZjJhMDEŁOWNOZI 00Y2VL7g4Y2MtYzdkYTZ h3GU4N2N1Iiwicm9s ZWIKIjoiNUYOMTE1MKMtMTgxRCUUNDIZLTg4MDIENZEZNJAIMINEN jY4IiwiaXNhcHByb321ciI62mFsc2V91HsibW9kdWxLaWQiOiI3YjBjMjQ2YS1jNGZ LTO 3ZDgt DDM00c1hNDQ5ODMxODI3ZDEiLCJуb2xlawQiOiI4NCIsIm1zYXBwcm92ZXIiOnZhb HNLESx7Im1vZHVs2W1kIjoiZIwYzIDM2EtYz RmYy00N204LTgzNDgtYTQDOTgzMTgyN20 xIiwicns zwlkijoiongiLCJpc2FwcHJvdmVyIjpmYWxzZxOseyJtb2RlbGVpZCI6Ijdin GMYNDNhLWM0ZmMtNDdkoс04MzQ4LWEONDE 9MzE4MjdkMSIsInJvbGVpZCI6IjkzIiwiaXN WM3ZGE2YWRlODdjzsIsInJvbGVpZCI6IKU INzdFNkZCLUQINDYENDIOCLEMUJELTEуMKM hcHBуb3Zlci16dHJ1ZX0seyJtb2R1bGVpZCI6IjgyM2YyYTAxLT1jNGYUNGNI 31040GNjL 3RjFFQzLGMiIsImlzYXBwcm923xIiOm5hbHNlfsx7In1vZHVsZWlkIjoiZjU3MDI5MWIN GESYSOUNGNKLWI3MjotNDVLNjg3262mNDIxIiwicm983N1kIjoiMTILLCJpc2FwcHJvdmV yIjpmYWxzZX0seyJt b2R1bGVpZCI6IjQ40NZINGJ11TQ52DktND 2Y805MDJjLTUOZWE22 jMzM2YxNSIsInJvbGVpZCI6IlIxNzUzMjYyMzIwMDk0Iiwi axNhcHBуb3Zlci16ZxFsc2V 91HsibkdWxlaWQiOiIzYjRk2jJmMy012012LTQ0Yjet YTJINS1jZGUINWY4OWZENTYL cuyb2xlaWQiOiIwMDIiLCJpc2EwcHJvdmVyIjpmYWxzxx1dLCJI HALOjENjIxMjAyNTE NjMwNzI5FQ.5F1LezкNXE4BtXLAGEBOARJL1J6QPb3AhjEzaEZ9FY HTTP/2 Host: e2e-m2-testapp.app. baac.or.th 3 Cookie: langCookie th; .AspNetCore. Antiforgery.k2mmBa40u3km CfDJ8ItBb2кjCndMknPls_hv3R6CzsaAHC4UmsdBHLeuEY7qUABY-fvelUebLpLC1303k NrEuH6bd0hIfENn47IenaBaSOLFmVArcYuCrx 0XcTMVb7WMg 40dGNG56_JD8zEn18i6e g12Lj2sk-aDNTO, dms chunks-3; dmsc1= cfDJ8It Bb2кjCndMknPls_hv3R7x10cEuRjROAI1Y13dg0A4HAXFijJXXOAqXM0Aw5xFBJ uby OkijVtdw3k09 JnZJN48TQ17LWdk2_Dn50S ENHRH8 PLC2NXNYM NETESJPgMqeNARFJ 5mnEmiU5cJhBL3g6hAY PaVz PK87nGh6kVCNF8DMi6wzz JrWpe P1RapfN4qkjn411p5CX2G leM4fWrTv31MU2rew7bvjбCMk6NnlMgMIBio4agsrk0zw2n16wAhw3gVkVEduGP55Ruzh8 Xqk53XEo6iuF0x380xm Enjoq18qWCpYysi2rAdaTe 5wJgLJRbBeypaX1gb Bt40DVGBOTD h77 142TcdAеKUOIECAIQUSRUTMJ-D-Le G0gnhwEnG7jko B258CvR39YTFRVTWLH1C7E 4uoi 68PkHuy8xFGC-CI4S-PIOI SeTuzev9f301pbnxF11088j6vjTKOROуvPx3t dHNEvOjEZYsTS12JB Okax PbgHD6qT3уpuo 90VVu_7rT6_51ujfD3210H0cvMv8H KHS cjAr7UusXU1ABUON DIBhhoзwysleкkEg2sx180zKQxy xMvGd-VM-pxafCpo4UxI93so nno2Rko 6p-18q65EW1jDw08hzvi Bossz_hdqVycoRqtc9m-BmyNP2uIanExo 130mmx8 7jHTTеWEL-LKBSY1154XJ0_NNBqonxG7xxhe GKMM1whq6V1WVBGE1-0J6BZ_GRQXU1OXH PQiuXuhu -IKEVRNMkXyakbhDS8B1W1UAV DICs1860-h6-voJtZfIgz3TBzAuRi9LfVBT ak ECib4anoJRb3u4 Kvat fFz2FwoHxva KYUs 40xnldfrPTAP-ZFKL8f00vHtzGbIopyty Pretty Raw Hex 1 HTTP/2 302 Found Render 2 Cache-Control: no-cache, no-store 3 Pragma: no-cache 4 Expires: Thu, 01 Jan 1970 00:00:00 GMT 5 Location: /Home 6 Server: Microsoft-11/10.0 7 Strict-Transport-Security: max-age=2592000 8 Expect-ct: enforce, max-age=43200 9 X-Prame-Options: SAMEORIGIN 10 X-Xss-Protection: 1; mode=block 11 X-Content-Type-Options: nosniff 12 Referrer-Policy: no-referrer 13 X-Permitted-Cross-Domain-Policies: none. 14 Feature Policy: fullscreen 'none' 15 Dermissions-Policy: fullscreen=() 16 Content-Security-Policy: default-src style-src 'self' http://* 'unsafe-inline'; script-src 'self' http://* 'unsafe-inline" 'unsafe-eval'; ing-src 'self' http://* data:; 17 Set-Cookie: dms-chunks-3; path=/; secure: samesite-lax: httponly 18 Set-Cookie: dmscl CfDJ8ItBb2кjCndMknPls_hv3R6wb016_7p1tGz1QyjGhwDY jwfFvYAulfxa-hpGdvGCH_ aWwy EMX1vtxoTu8HSUhcm AsQgIJq32AB0mmn9CM43_bq2106m WdRoMb2acdaNuas9G0 Tm3 6finjzjL54DEk872qEM4RpvDAJE-170CdAandf2jVDS0Kes4-2WBp8t0S9HonDT005 FWkGdnt pbzT3V71000_2v0a3xxx0gT DYDtmisCudzxEEvworyof2WF1qW386ZAHHнобorgh QB6QWMTRATIU9JtPkgDHafe_bvEONvaLj2pubrкceDF PhqxulErCmqGQJt_Kdy Baquoo- LRSU83wcbrfh5AwUAXG4B558g21LR7vsf769-PbеMVуxPx2NoFjxwe Db-00194LEJIYNgk Fg1PQARhqjIsD2VU2QDr PRCL-sautuph0035h5QrobBDBDVI 7уue Blex-DoWXvJTLLS 4zq3BfbMgpr-yPjizebDWRNi ruPz CFnLOPDOHouk06JkefNgxvwIo8gDJ6EYSLKc2ud-H8 DvqcLrwzXaozhzkуXB04gHp3WqAz 52QywUbdRyMDеHQXThqDxV47XUAE60LK80-tzufdb5 bAPuQMaDehUtDEJ1Txyos88DM97baQEHY4vbHpWguxlwGP1t-jxEa0u3Wul0CxpIJDE 3 h43KxxVc-z1v2x296fUz Aept Zgo TMf10a6JHPbo-dwvOHiFovN? EN2kYcpгMAPL1-aw9If tdI2KxCegcE-12BW K3nCgnx7 PEA1EOTTLG32Eten PY1Blez ON Pt d7WYOуuAvFBZGXYVLV 982 typdnTxzLfZBLd PftmMmTvb15U8BZ9DNfu2 P-54Yzsba xrc5u0y3ofe4U-9adl Bf6isзhcpkD5K7HTz22BWvyjt2sp90z1G7RLMMbrLGJICKETBOCmqwaax_6000Pzb GQBR1oHEkKpT1hmDK0EnKCMC PUeNumLJqJU8X262p0I3NeB8155HBn4V0642C-BWDWYRYN s47ypetkvodMVWWLqleyhvqx221cc9yec59nf9tp4etxxj5j96gBJvxz HoуbDVDbEJn9m CxMJhDc2C1jKphDPbrcs 374CT_DZUOPh_gajvSxkb_iT7wvwybGJXgby 4V75bRl1PY8LBC FPCwgP LgEkdmowoy7Kkg5SKRHWHHV3hinsopNSIvabкzBw4wD4p5-1BDMxTxhMHеwo 4G3 03ixzwExoSwap7aLOERCBSZbhLjNG2EBE7auLoryOCPzVihrnVepн32Kns Nb2j5s2xRau xXDRIxNwxO0dR0270i7Brzn3a6n3cf10L010T2wiht GUeNW45AVECOWsa UihIVdmeSM Page 51 of 63 51 --- PAGE 53 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 5.5 ตรวจพบ Secret/Credential Key ใน source code ผลการทดสอบซ้ำา วิธีการแก้ไข ระดับความเสี่ยง มีการนำเอา Secret และ Credential ออกจาก ต่ำ สถานะช่องโหว หมายเหตุ ปิดโดยการแก้ไข Source code 52 ประเด็นข้อตรวจพบและผลกระทบ การฝัง Secret Keys ไว้ใน Source Code ที่อาจถูกเปิดเผยสู่สาธารณะ (Sensitive Data Exposure) นั้นเกือบจะเทียบเท่ากับ Remote Code Execution (RCE) หรือ Full Access Bypass ปัจจุบันข้อมูล Key ที่ พบสามารถเข้าถึงได้เลยโดยไม่มีต้องมี Access token/Credential และยังระบุไม่ได้ว่าใช้สำหรับเข้าถึงระบบ หรือข้อมูลชุดใด จึงยังประเมินความเสี่ยงในการไปใช้งานต่อค่อนข้างยาก ที่ การฝัง Secret Keys ไว้ใน Source Code ที่อาจถูกเปิดเผยสู่สาธารณะ (Sensitive Data Exposure) นั้นเกือบจะเทียบเท่ากับ Remote Code Execution (RCE) หรือ Full Access Bypass ปัจจุบันข้อมูล Key พบสามารถเข้าถึงได้เลยโดยไม่มีต้องมี Access token/Credential และยังระบุไม่ได้ว่าใช้สำหรับเข้าถึงระบบ หรือข้อมูลชุดใด จึงยังประเมินความเสี่ยงในการไปใช้งานต่อค่อนข้างยาก ที (1) เป้าหมายที่กระทบ 'https://e2e-uat-m3ui.app.baac.or.th/assets/index-5d8ad383.js https://e2e-m4-testapp.app.baac.or.th/static/js/main.76b30312.js ระดับความเสี่ยง ระดับความเสี่ยง ม อางอิง A05:2021 A04:2021 ความน่าจะเป็น ปานกลาง 1 ตา ผลกระทบ ต๋า CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H (8.5 High) CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H (8.6 High) Page 52 of 63 --- PAGE 54 --- ☑ คำแนะนำในการแก้ไข 2 สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) 64006243 คำอธิบาย 53 แนวทางการแก้ไขและป้องกัน 1. ห้าม Hardcode โดยเด็ดขาด: ห้ามใส่ Secret Keys ใด ๆ ในไฟล์ Source Code (ไม่ว่าจะเป็นภาษาใดก็ ตาม) โดยเด็ดขาด 2. ใช้ Environment Variables: สำหรับการตั้งค่าที่ไม่ละเอียดอ่อนมากนัก ควรใช้ Environment Variables ในการโหลด Key ระหว่างการ Deploy 3. Secret Manager й - HashiCorp Vault - AWS Secrets Manager - Azure Key Vault - Google Cloud Secret Manager 4. Git Secret Scanning: GiGuardian, TruffleHog, v GitHub's Secret Scanning เพื่อตรวจสอบ Repository และป้องกันไม่ให้นักพัฒนาเผลอ Commit Secret Keys เข้าไปตั้งแต่แรก ہے ตัวอย่างผลของการทดสอบ 1) ทดสอบการ POST ขอข้อมูลผ่าน /ConsoleMaster/Branch UnitList Request Response E Pretty Raw Нех 1 GET /assets/index-5d8ad383.js HTTP/2 2 Host: e2e-uat-m3ui.app.baac.or.th 3 Origin: https://e2e-uat-m3ui. app. baac.or.th 4 Sec-Ch-Ua-Platform: "Windows" 5 Accept-Language: en-US,en;q=0.9 6 Sec-Ch-Ua: "chromium";y="139", "Not 1A-Brand"; v="99" 7 User-Agent ୪ เก = Pretty Mozilla/5.0 (Windows NT 10.0; Win64: x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 8 Sec-Ch-Da-Mobile: 70 9 Accept: */* 0 Sec-Fetch-site: same-origin 1 Sec-Fetch-Mode: cors 2 Sec-Fetch-Dest: script. 3 Accept-Encoding: gzip, deflate, br 4 Priority: u=1 .5 .6 Raw Hex Render \n = Account Interest List :s, set NewAccount Interest List:, adjust Account List: j, set Adjust Account List _, oldAdjust Account List: et, set Oldadjust Account List: tt, reset Context ApplicationFinancial: () =>a ([]), ([]), ([]), tt ([]) const emptyData $1=customer_id: 0, account number: 0, adjust_ta ble: (distifre: "", payment calculation method: 1, maturity date: new Date, schedule_payment_next date: null, number_of_installment: D, type_installment: "fixed", stable_list: [], tier list: [] }; function useApplicationAdjust Loan () (const [i, a] =react Exports.use State (emptyData$1), [5,]=re act Exports.use State (null), [], e]-react Exports. use State (null); return (adjust Loan: i, set Adjust Loan: a, schedule_date: s, set Schedule_date: oldSchedule_date: j, setoldschedule_date: _e, resetc ontext Adjust Loan: () => [a (emptyData51), (null), _e (null)]) const empty Data (customer_id: 0, acc ount number: 0, adjust_table: |distlfre: "", payment calculation method: 1, maturity date: new Dat e, schedule_payment_next_date: new Date, number_of_installment: 0, type_installment: "fixed", sta ble list: [], tier list: [], payment period: (schedule_payment_next_date: new Date); function u seApplication Postpone () (const [i, al react Exports. use state (empty Data); return (adjust Loan: i, se tAdjust Loan: a, resetContext Adjust Loan: () => [a (emptyData) const Application Base Path$2="/api /signature"; async function get SignatureList (i) var return (await axios$1.get ($1 ApplicationBase Path$2 /inquiry/$ , headers: (Authorization: Bearer St (s=getUserProfileData()) ==null?void 0:s.token ", "Content-Type": "application/json", "x-api-key": "LpNl Bm3ghzQvn FyуBSYT5i19oMydu7GU"]}).then (=>).catch (=>(throw new Error(response.data.error_desc)))).data.data async function U pdateSignature (i, a) (var return (await axios51. put (St ApplicationBase Path$2 } /update/St a F } i, theaders: (Authorization: Bearer $ (=getUserProfileData()) ==null7void 0:_token 1}).then (j=>j).catch (j=>(throw new Error (j. response.data. error_desc) 1)).datalasync functi on PinSignature (i, a) (var j;const s=(cif: i, pin: a); return (await axios$1. post ("/api/third-par ty/pin", s, headers: (Authorization: Bearer $1 (j=getUserProfileData()) == null ?void D: j.token }).then (e=> _e).catch (_e->(throw new Error(e. response.data.error_desc))).data async fu nction Dopasignature (i) (var si return (await axios $1. post ("/api/third-party/dopa", i, (headers (Authorization: Bearer St (s getUserProfileData()) ==null?void D:s.token Page 53 of 63 --- PAGE 55 --- 2 สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) 64006243 2) ทดสอบการ POST ขอขอมูลผาน /ConsoleMaster/BranchUnitList Request Pretty Raw Hex GET /static/js/main. 76b30312.js HTTP/2 2 Host: 20-m4-testapp. app. baac.or.th Sec-Ch-Va-Platform: "Windows" 4 Accept-Language: en-US,en;q=0.9 5 Sec-Ch-Ua: "Chromium": v="139", "Not A Brand"; v="99" 6 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Cecko) Chrome/139.0.0.0 Safari/537.36 7 Sec-Ch-Ua-Mobile: 70 8 Accept: +/+ 9 Sec-Fetch-site same-origin 10 Sec-Fetch-Mode: no-cors 11 Sac-Fetch-Dest: script 12 Referer: https://eze-m4-testapp.app.baac.or.th/ 13 Accept-Encoding: gzip, deflate, br 14 15 Response In 三 Pretty Raw Hex Render 54 key: "Save As", value: function () { if (e) { var t=document.createElement ("a"); if (void 01t. download) ( var ne.name, re.src In = return t.setAttribute ("href", 1), t.setAttribute( "download",n), t.style.display="none", document.body appendChild(t),t.click(), document.body.removeChild( t), 10 48 Inspector E return 1 key: "create Inline Style", value: function (e) { var t=document.createElement ("style")1 try! ell (e= NODE_ENV: "production", PUBLIC_URL: ".", WDS_SOCKET_HOST: void 0, WDS SOCKET PATH: void D, WDS SOCKET PORT:void 0, FAST REFRESH: 10, REACT ADD DEPLOY: "2568-10-2 16.20", REACT ADD DEV_ADIKEY: "503yAsrst PT dPYZFRьVYZimH7EHEуEdA", REACT APP_SERVICE_TYPE: "PROD", REACT_APP_TIMEOUT: "35", REACT_APP_UAT APIKEY: *70gpgA72a5bzoKILLOTNk7Jyz 1XDO", REACT_APP_URL_BANK_DAV: "https://e2e-m4-testapp.app. baac.or.th", REACT_APP_URL_BANK_DAV_SIT: "https://eze-n4-sitapp.app. baac.or.th", REACT APP URL_BANK_PROD: "https://e2e-m4-app. app.baac.or.th", REACT APP_URL_BANK_PROD_DR: "https://e2e-m4-drapp. app. baac.or.th", REACT_APP_URL_BASE_PATH: "BAAC", REACT_APP_URL_DEV: "http://sitdev.dyndns.ora: 9148", REACT APP URL E2E: Page 54 of 63 Notes Explanations Custom actions --- PAGE 56 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 5.6 ตรวจพบการใช้งาน Software ที่มีช่องโหว่ ผลการทดสอบช้า วิธีการแก้ไข มีการอัพเดท Software ที่ใช้ ระดับความเสี่ยง สถานะช่องโหว หมายเหตุ ต่ำ ปิดโดยการแก้ไข 55 ประเด็นข้อตรวจพบและผลกระทบ การตรวจพบการใช้งาน Software ที่มีช่องโหว่ (Vulnerable Software) ดังนี้ jQuery Validation Plugin - v1.19.5 มีช่องโหว่ดังนี้ - CVE-2025-3573 (XSS) JSZip v3.1.3 มีช่องโหว่ดังนี้ - CVE-2021-23413 (DoS) - CVE-2022-48285 (Directory Traversal) Axios v1.6.2 มีช่องโหว่ดังนี้ - CVE-2024-39338 (Server-Side Request Forgery) - CVE-2025-27152 (Server-Side Request Forgery) ผลกระทบของการใช้ซอฟต์แวร์ที่มีช่องโหว่ jQuery Validation Plugin Attacker สามารถขโมย Session Cookie หรือ Access Token ของผู้ใช้ และส่งไปยังเซิร์ฟเวอร์ของผู้โจมตี (Session Hijacking) การเปลี่ยนหน้าเว็บ: สามารถแก้ไขเนื้อหาของหน้าเว็บที่ผู้ใช้เห็น (Defacement) หรือ หลอกให้ผู้ใช้ป้อนข้อมูลส่วนตัว (Phishing) บบ บบ JSZip Attacker ทำการการประมวลผลไฟล์ ZIP ที่มีความซับซ้อนจะทำให้แอปพลิเคชันหรือเซิร์ฟเวอร์ที่ประมวลผล ไฟล์ ZIP ล่มหรือทำงานช้าลงอย่างมาก Axios Attacker สามารถใช้ Server ของคุณเป็น Proxy เพื่อสแกนหรือโจมตีระบบภายในเครือข่ายส่วนตัว (Internal Network) ที่ไม่สามารถเข้าถึงได้จากภายนอก ที่ ท (1) เป้าหมายที่กระทบ 'https://e2e-m2-testapp.app.baac.or.th/js/jquery.validate.min.js https://e2e-m2-testapp.app.baac.or.th/js/jszip.min.js Page 55 of 63 --- PAGE 57 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 https://e2e-m1-testapp.app.baac.or.th/static/js/main.3ea9bd77.js ระดับความเสี่ยง ระดับความเสี่ยง อางอิง คำแนะนำในการแก้ไข A06:2021 ความน่าจะเป็น ตา ตา ผลกระทบ ปานกลาง คำอธิบาย jQuery Validation Plugin อัปเดตเป็น v1.20.0 หรือสูงกว่า JSZip อัปเดตเป็น v3.1.4 หรือ v3.10.1 หรือสูงกว่า Axios อัปเดตเป็น V1.7.0 หรือสูงกว่า ตัวอย่างผลของการทดสอบ 1) ทดสอบการ POST ขอข้อมูลผ่าน /ConsoleMaster/Branch UnitList Request Response Pretty Raw Hex GET /js/jquery.validate.min.je HTTP/E 2 Host: ele-m2-testapp.app. baac.or.th 3 Sec-ch-Ua-Platform: "Windows" 4 Accept-Language: en-US,on;q=0.9 Soc-ch-Ua! "Chromium" y="139", "Not A Brand"; y="gg" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64, x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 safari/7537.36 Sec-Ch-Ua-Mobile: 70 B Accept: */* g Sec-Fetch-site: same-origin ก Sec-Petch-Mode: no-core 1 sec-Fetch-Dest: script 2 Accept-Encoding: gzip, deflate, bri Priority: u=2 = Pretty Raw HTTP/E 200 OK Hex Render 2 Content-Length: 24601 2 Content-Type: application/javascript 4 Last-Modified: Mon, 19 Feb 2024 14:23:51 GMT Accept -Ranges: bytes 6 Etag: "1da633f42761599* 7 Server: Microsoft-11s/10.0 8 Strict-Transport-security: max-age-2592000 s Expect-Ct: enforce, max-age=43200 10 X-Frame-Options: SAMBORIGIN 11 X-Xse-Protection: 1; mode=block 12 X-Content-Type-Options: nosnite 13 Referrer-Policy: no-referrer 14 X-Permitted-cro---Domain-Policies: none 15 Feature-policy: fullscreen 'none' 16 Permissions-Policy: fullscreen={} 17 Content-Security-Policy: default-src *; style-src 'self' http:// 'unisafe script-scre c 'self' http://* 'unsafe-inline' 'unsafe-eval'; img-src 18 Date: Sun, 02 Nov 2025 21:25:41 GMT 19 201 21 22 /* jQuery Validation Plugin v1.19.5 7/1/2022 https://jqueryvalidation.org/ Copyright (c) 2022 Jorn Zaetterer: Licensed MIT */ 23 function (a) ( lecler "function"==typeof defines define and define (["jquery"), a): "object"= module.exports?module.exports-airequire ("jquery")): a (jQuery) (function(a) ( a. extend (a. En, ( validate:function(b) | if(this.length)return vold [b&cb. debugs window.consolesco "Nothing selected, can't validate, returning nothing.")); var cea at althien1,"validator" 2) ทดสอบการ POST ขอขอมูลผาน /ConsoleMaster/BranchUnitList Page 56 of 63 56 --- PAGE 58 --- 2 สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) 64006243 Request Pretty Raw GET /js/jszip.min.js HTTP/2 2 Host: e2e-m2-testapp.app.baac.or.th 3 Sec-Ch-Ua-Platform: "Windows" 4 Accept-Language: en-Us, en;q=0.9 5 Sec-ch-Ua: "Chromium"; v="139", "Not: A Brand"; v="95" & = Response Pretty 6 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139. D. D. 0 Safari/537.36 7 Sec-Ch-Va-Mobile: 20 8 Accept: */* 9 Sec-Fetch-site: same-origin 10 Bec-Fetch-Mode 11 Sec-Petch-Dest no-cors script 12 Accept-Encoding: gzip, deflate, br 13 Priority: u=2 14 15 Raw HTTP/2 200 OK Hex Render 2 Content-Length: 101953 3 Content-Type: application/javascript 4 Last-Modified: Wed, 03 Jan 2024 23:42:40 GMT 5 Accept-Ranges: bytes S Etag: "1da3e9e89e21641* Server: Microsoft-IIS/10.0 8 Strict-Transport-Security: max-age=2592000 9 Expect-ct: enforce, max-age=43200 10 X-Frame-Options: SAMEORIGIN 11 X-Xss-Protection: 1; mode-block 12 X-Content-Type-Options: nosniff 13 Referrer-Policy: no-referrer 14 X-Permitted-Cross-Domain-Policies: none 15 Feature-Policy: fullscreen 'none' 16 Permissions-Policy: fullscreen() 17 Content-Security-Policy: default-src ; style-src 'self' http://* 'unsa script-src 'self' http://* 'unsafe-inline' 'unsafe-eval' ing-src 'self 18 Date: Sun, D2 Nov 2025 21:25:49 GMT 19 20 /*! 21 22 Jazip v3.1.3 A Javascript class for generating and reading zip files 23 241 25 (c) 2009-2016 Stuart Knightley 26 Dual Licenced under the MIT license or GPLv3. Sea 27 https://raw.github.com/ stuk/jazip/master/LICENSE.markdown. 28 JsZip uses the library pako released under the MIT license : 29 https://github.com/nodeca/pako/blob/master/LICENSE 57 30 */ 31 function (a) | if ("object"==typeof exports&& "undefined" 1=typeof module) module.exp else if/"function"==tunenf defineredefine and define/11.al 3) ทดสอบการ POST ขอข้อมูลผ่าน /ConsoleMaster/Branch UnitList Request Pretty Rawi Hex 1 GET /static/js/main. 3ea9bd77.js HTTP/2 2 Host: e2e-m1-testapp. app. baac.or.th 3 Sec-Ch-Ua-Platform: "Windows" 4 Accept-Language: en-US,en;q=0.9 5 Sec-ch-Ua: "chromium": v="135", "Not: A Brand": v="99" 6 User-Agent: Response & 5 Pretty Raw Hex Render Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 7 Sec-Ch-Ua-Mobile: B Accept: +/+ 70 9 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: no cors 1 Sec-Fetch-Dest: script 2 Accept-Encoding: gzip, deflate, br 4 }; In F headers: (e,t) =>i (ci (e), ci (t),!0) return fr.forEach (Object.keys (object.assign({ }, e, t)) 12.0 (function(r) ( const a l[r]||i, o-a (e[r], t[r], E); fr.isUndefined (o) &&al ==|| (n[r]=o) const ui "1.6.2", pi=( 17 ["object", "boolean", "number", "function", "string", "symbol"].forEach(((e,t) => [ pi[e]-function (n) () return typeof ne|| "a"+ (t ( if (!1e) throw new r (r (i," has been removed"+ (t?" in "+t: ""))_I .ERR DEPRECATED); return t&&lfi[i] && (fi[i]=10, console, warn (r(i has been deprecated since v"+t+ "and will be removed in the near future"))), elle (n,i,a) 4) ทดสอบการ POST ขอขอมูลผ่าน /ConsoleMaster/Branch UnitList 10 Request Pretty Raw Hex 1 GET /static/js/main. 3ea9bd77. js HTTP/2 3 Host: e2e-ml-testapp. app.baac.or.th Sec-Ch-va-Platform: "Windows" 4 Accept-Language: en-US,en;q=0.9 5 Sec-Ch-Va: "Chromium"; v="135", "Not; A Brand"; v="99" & 5 6 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 7 Sec-Ch-Ua-Mobile: 70. 8 Accept: */* Sec-Fetch-site: same-origin Sec-Fetch-Mode: no-cors 11 Sec-Fetch-Dest: script 12 Accept-Encoding: gzip, deflate, bri Response Pretty Raw 1 HTTP/2 200 OK Hex Render Content-Type: application/javascript 3 Last-Modified: Fri, 31 oct 2025 16:30:15 GMT 4 Accept-Ranges bytes 5 Etag: "805fea2834adc1: D" 6 Server: Microsoft-IIS/10.0 7 Date: Sun, 02 Nov 2025 21:25:57 GMT 8 Content-Length: 4103262 9 10 / For license information please see main. 3ea9bd77. js. LICEN 11 (() => var e={ 7762 (e,t,n) => { 13 14 Page 57 of 63 "use strict"; n. r (t), n. d (t, ( } default: () =>s --- PAGE 59 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 5.7 ตรวจพบการใช้งาน Software บน Header ผลการทดสอบช้า วิธีการแก้ไข ระดับความเสี่ยง สถานะช่องโหว หมายเหตุ มีการปรับแก้ไข Response Header บันทึกไว้ ปิดโดยการแก้ไข ประเด็นข้อตรวจพบและผลกระทบ 58 1) Improper Information leakage ช่องโหว่นี้จัดอยู่ในกลุ่ม Information Leakage แม้จะดูไม่เกี่ยวกับการโจมตีหรือการระบุช่องโหว่ โดยตรง แต่การเปิดเผยข้อมูล Software เป็นการให้ ข้อมูลนำเข้า (Input) แก่ Attacker ซึ่งสามารถนำไปใช้ใน การโจมตีที่ซับซ้อนขึ้นได้ Attacker ไม่ต้องเสียเวลาในการคาดเดาหรือใช้เครื่องมือ Fingerprinting ที่ซับซ้อนเพื่อหาเวอร์ชันที่แน่นอน ซึ่งช่วยประหยัดเวลาและทรัพยากรในการสร้าง Payload โจมตี ข้อมูลที่ตรวจพบมีการใช้งานดังนี้ 1. Nginx 2. Microsoft IIS/10.0 2) Missing security headers ของไหวนี้คืออะไร • X-Content-Type-Options บอกเบราเซอร์ไม่ให้ “เดา” ชนิดไฟล์จากเนื้อหาเพื่อป้องกัน MIME sniffing • X-XSS-Protection กลไกป้องกัน XSS แบบเก่าในบางเบราเซอร์ • Strict-Transport-Security (HSTS) บ บังคับใช้ HTTPS ทุกครั้ง โดยส่งผลกระทบแยกตามประเภทได้ดังนี้ • ขาด X-Content-Type-Options: เบราเซอร์อาจตีความไฟล์ผิดชนิด นำไปสู่โค้ดอันตรายถูกรัน • ขาด X-XSS-Protection: ลดโอกาสกรอง XSS อัตโนมัติในเบราเซอร์ที่ยังรองรับ • ขาด HSTS: ผู้ใช้ถูกดาวน์เกรดไป HTTP ได้ ทำให้เสี่ยง MITM และการดักฟัง 3) SSL/TLS configuration issue: 'notAfter' ช่องโหว่นี้คืออะไร Page 58 of 63 --- PAGE 60 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 59 • • “notAfter” คือวันหมดอายุของใบรับรองดิจิทัล (TLS certificate), หากหมดอายุ หรือใกล้หมดอายุ จะทำให้การเชื่อมต่อ HTTPS ไม่น่าเชื่อถือโดยเกิดขึ้นได้หลายสาเหตุ เช่น ใบรับรองหมดอายุแล้วแต่ยังไม่ต่อ อายุ, ติดตั้งใบรับรองผิดชุด เช่น ขาด intermediate CA ทำให้เบราเซอร์มองว่าไม่เชื่อถือ, ใช้ใบรับรองที่ออก ให้โดเมนอื่น หรือชื่อโฮสต์ไม่ตรง • โดยส่งผลกระทบคือ ผู้ใช้จะเห็นคำเตือน “ไม่ปลอดภัย” และอาจปฏิเสธการเชื่อมต่อและ เสี่ยงต่อ การโจมตีแบบดักกลางทาง (MITM) เพราะผู้ใช้บางส่วนอาจยอมข้ามคำเตือน ทำให้ข้อมูลถูกดักฟังหรือแก้ไขได้ เป้าหมายที่กระทบ ที 2 (1) https://e2e-m1-testapp.app.baac.or.th https://e2e-m1-testapi.app.baac.or.th https://e2e-m4-testapp.app.baac.or.th https://uat-efiling.app.baac.or.th ระดับความเสี่ยง ระดับความเสี่ยง บันทึกไว้ 21 อางอิง - คำแนะนำในการแก้ไข ความน่าจะเป็น ตา ผลกระทบ ตา ต่า A02:2021 – Cryptographic Failures AV:A/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N (3.9 Low) คำอธิบาย 1) Improper Information leakage การซ่อน Header ทั้งหมด (Defense in Depth) หากต้องการความปลอดภัยสูงสุด ต้องทำการลบ Header ที่เปิดเผยซอฟต์แวร์ออกไปทั้งหมดก่อนส่ง Response ให้ Client สําหรับ Nginx location / { proxy_hide_header Server; รวมกัน) # ซ่อน Header Server (ต้องมีการตั้งค่าใน Backend ให้ทำงาน Page 59 of 63 --- PAGE 61 --- ม สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) สัญญาเลขที่ 64006243 คำอธิบาย 60 สําหรับ IIS 1. ไปที่คีย์: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters 2. สร้างค่า DWORD (32-bit) ใหม่ชื่อว่า DisableServerHeader 3. กำหนดค่า (Value Data) ของ DisableServerHeader เป็น 1 4. รีสตาร์ทบริการ HTTP Service 2) Missing security headers ะ ตังคา X-Content-Type-Options: ตาม MIME type กำหนด X-Content-Type-Options: nosniff ใน header เพื่อสั่งให้เบราว์เซอร์ปฏิบัติ ที่กำหนดและไม่เดาชนิดไฟล์ . เปิดใช้งาน X-XSS-Protection (สำหรับเบราว์เซอร์เก่า) การตั้งค่า X-XSS-Protection: 1; mode=block จะเปิดฟิลเตอร์ XSS และบล็อกเพจเมื่อ พบการโจมตี XSS อย่างไรก็ตาม ฟีเจอร์นี้ ถูกยกเลิกในเบราว์เซอร์ใหม่ และควรใช้ Content-Security-Policy (CSP) แทน . เปิดใช้ Strict-Transport-Security (HSTS): 0 ก า หิ น ด header Strict-Transport-Security: max-age=63072000; includeSubDomains; preload เพื่อบังคับให้ผู้ใช้เชื่อมต่อผ่าน HTTPS และป้องกันการ downgrade attack NGINX ปรับค่าบนเว็บเซิร์ฟเวอร์: Nginx: เพิ่มในไฟล์ nginx.conf ภายในบล็อก server: add_header X-Content-Type-Options "nosniff" always; add header X-XSS-Protection "1; mode=block" always; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; 3) SSL/TLS configuration issue: 'notAfter' 1. ระบุใบรับรองที่หมดอายุ - ตรวจสอบใบรับรองดิจิทัลทั้งหมดในโครงสร้างพื้นฐานและหาจุดที่ยังใช้ งานใบรับรองหมดอายุ Page 60 of 63 --- PAGE 62 --- И 2 สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) 64006243 61 คำอธิบาย 2. ต่ออายุใบรับรองทันที – บทความของ SSL Store แนะนำให้เปลี่ยนใบรับรองใหม่โดยเร็ว เนื่องจาก ใบรับรองหมดอายุมีผลเสียต่อภาพลักษณ์และความน่าเชื่อถือขององค์กร 3. ติดตั้งใบรับรองใหม่ - ติดตั้งใบรับรองบนเซิร์ฟเวอร์ให้ถูกต้องตามวิธีของระบบ (เช่น Apache, Nginx หรือ IIS) ตัวอย่างผลของการทดสอบ 1) ทดสอบการ POST ขอข้อมูลผ่าน /ConsoleMaster/Branch UnitList Request 1 2 3 4 Pretty Raw Hex POST BAACCoreService/rest/internal/app/auth/auth_session_manage_update HTTP/2. Host: e2e-m4-testapp. app. baac. or.th Content-Length: 148 Sec-Ch-Ua-Platform: "Windows" 5 Accept-Language: en-US,en;q=0.9 6 Sec-Ch-Ua: "Chromium"; v="139", "Not;A Brand" y="99" 7 Npltoken: & 5 In = eyJhbGci0iJIUZI1NiJ9.eyJ1c2VysWQiOiIxMTI 4NzAwIiwicm9sZUlkIjoiMiIsImRlcHRJZCI60DM2LCJjcmVhdG VEdCI6IjIwMjUtMTEtMDIgMTkбMDCENTIiLCJlеHBpcmVEdCI6IjIwMjUtMTЕtмDkgмTC ENDCбNTIiLCJsYXNOTG9na W4iOiIwMzExMjUwMjExMTki fQ. PкcbLMpMGPsгXxFqFlxfOE1ts 1CmpltjzlU5q71MkCk 8 Sec-ch-Ua-Mobile: 70 9 Zoneurl: https://e2e-m4-testapp.app.baac.or.th Response Pretty Raw 1 HTTP/2 200 OK Server: nginx Hex Render Date: Sun, 02 Nov 2025 19:51:06 GMT 4 Content-Type: application/json 5 Vary: Accept-Encoding 6 Access-Control-Allow-Origin: * 7 Access-Control-Allow-Methods: POST, GET, PUT, DELETE 8 Access-Control-Allow-Headers: 9 Rest_uuid: 513d5946-b4b7-4058-a080-2610701e0802 10 Server_id: 68765922 11 Vary: origin 12 Vary: Access-Control-Request-Method 13 Vary: Access-Control-Request-Headers 10 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 safari/537.36 14 11 Accept: application/json, text/plain, */* 15 [ 12 Content-Type: application/json "sessionId": null, 13 Origin: https://eze-m4-testapp.app.baac.or.th 14 15 Sec-Petch-Site: same-origin Sec-Fetch-Mode: cors 16 Sec-Petch-Dest: empty 17 Referer: https://e2e-14-testapp. app. baac.or.th/ 18 Accept-Encoding: gzip, deflate, br a Priority: =4. i "errorcode": 0, "totalCount": null "errormessage": null, } 2) ทดสอบการ POST ขอข้อมูลผ่าน /ConsoleMaster/Branch UnitList Request Pretty Raw Hex 1 GET /js/jquery.validate.min.js HTTP/2 2 Host: 20-m2-testapp. app.baac.or.th 3 Sec-Ch-Ua-Platform: "Windows" 4 Accept-Language: en-US,en;q=0.9 Sec-Ch-Ua: "Chromium"; v="139", "Not; A-Brand"; v="99" 6 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 7 Sec-Ch-Ua-Mobile: 0 8 Accept: */* 9 Sec-Fetch-site: same-origin 0 Sec-Fetch-Mode: no-cors 1 Sec-Fetch-Dest: script 2 Accept-Encoding: gzip, deflate, bri 3 Priority: u=2 4 5 \n = Response Pretty Raw 1 HTTP/2 200 OK Hex Render 2 Content-Length: 24601 3 Content-Type: application/javascript 4 Last-Modified: Mon, 19 Feb 2024 14:23:51 GMT 5 Accept-Ranges: bytes 6 Etag "1da633f42761599" 7 Server: Microsoft-IIS/10.0 8 Strict-Transport-Security: max-age=2592000 9 Expect Ct: enforce, max-age=43200 10 X-Frame-Options: SAMEORIGIN 11 X-Xss-Protection: 1; mode=block 12 X-Content-Type-Options: nosniff 13 Referrer-Policy: no-referrer 14 X-Permitted-Cross-Domain-Policies: none. 15 Feature-Policy: fullscreen 'none' 16 Permissions-Policy: fullscreen=() 17 Content-Security-Policy: default-src ; style-src 'self' http://* 'uns script-src 'self' http://* 'unsafe-inline' 'unsafe-eval'; img-src 'sel 18 Date: Sun, 02 Nov 2025 21:25:41 GMT 19 20 21 jQuery Validation Plugin v1. 19.5 7/1/2022 https://jqueryvalidation.org/ 3) ทดสอบการ POST ขอข้อมูลผ่าน /ConsoleMaster/Branch UnitList Page 61 of 63 --- PAGE 63 --- 2 สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) 64006243 62 Request Pretty Raw Hex POST/ConsoleMaster/Branch Unit List HTTP/2 Host: e2e-ml-testapi. app. baac.or.th 3 Content-Length: 1591 Sec-ch-Ua-Platform "Windows" Accept-Language: en-US,en;q=0.9 Accept: application/json, text/plain, */* Content-Type: multipart/form-data; boundary=----WebKit FormBoundary BwraCGD OF DNxS72b 7 Sec-Ch-Ua: "Chromium"; v="139", "Not;A-Brand"; v="99" 3 Sec-Ch-Va-Mobile: 70 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64: x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Origin: https://e2e-ml-testapp. app. baac.or.th Sec-Fetch-Site: same-site. 3 Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty Referer: https://e20-ml-testapp. app. baac.or.th/ 5 Accept-Encoding: gzip, deflate, br 7 Priority: u=1, i -----WebKit FormBoundary 8wraCGDOFDNXS72b Content Disposition: form-data; name="token" In = eyJhbGcioiJIUZI 1NiIsInR5CCI6IkpxVCJ9 eyJ1c2VybmFtZSI6IjExNjg3MDAiLCJ1bWFpbCI6IiIsInVzZXJJZC I6IjExMjg3MDAiLCJjb3VudERVd24iojAsIm1vZHVsZXMiolt7Im1vZHVsZWlkIjoiZjU3MDI5MWIENGESYSDONGNKL MONOVI Min322mNDTvTiwirme zwlTini NCTCTml>YXRm92ZXTiOnZhbHNlfv7Tm1vZHVelkTini Tw Response Pretty Raw Hex Render 1 HTTP/2 200 OK 2 Content-Type: application/json; charset=utf-8 3 Vary: Origin Server: Microsoft-IIS/10.0 5 Access-Control-Allow-Origin: https://e2e-ml-testapp.app. baac.or.th 6 Date: Sun, 02 Nov 2025 20:17:25 GMT 4 7 8 ( "branch units": [ "id": 498, "created_at":"2023-11-12T00:00:00", "updated_at": "2023-11-12T00:00:00", "boo": "240", "branch_unit":"4709", "name": "\u0E40\U0E01\U0E29\u0E15\U0E23\U0E27\u0E34\u0E2A\ "name_en": "KASET WISAI 1" "id":1514, "created at": "2023-11-12T00:00:00", "updated at": "2023-11-12T00:00:00", "boo": "991", "branch_unit": "4709", "name" 400015007340A\ Page 62 of 63 --- PAGE 64 --- И 2 สัญญาจ้างพัฒนาระบบงานบริหารจัดการคุณภาพหนี้เพื่อยกระดับการให้บริการ (Enhance Debt Management Service) 64006243 63 4) ทดสอบการ POST ขอขอมูลผาน /ConsoleMaster/Branch UnitList Request Pretty Raw Hex 1 GET /static/js/main. 3ea9bd77. js HTTP/2 2 Host: e2e-m1-testapp.app. baac.or.th 3 Sec-Ch-Ua-Platform: "Windows" 4 Accept-Language: en-US,en;q=0.9 5 Sec-Ch-Ua: "Chromium"; v="135", "Not; A Brand";v="99" 6 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 7 Sec-Ch-Ua-Mobile: ?0. 8 Accept: */* Sec-Fetch-site: same-origin 10 Sec-Fetch-Mode: no-cors 11 Sec-Fetch-Dest: script 12 Accept-Encoding: gzip, deflate, br. 13 14 \n = Response Pretty Raw 1 HTTP/2 200 OK Hex Render 2 Content-Type: application/javascript 3 Last-Modified: Fri, 31 oct 2025 16:30:15 GMT 4 Accept-Ranges: bytes 5 Etag: "805 foa2834adc1: 0" 6 Server: Microsoft-IIS/10.0 7 Date: Sun, 02 Nov 2025 21:25:57 GMT B Content-Length: 4103262 9 10 / For license information please see main. 3ea9bd77. js. LICEN 11 (() => { var e={ 7762 (e,t,n) => { "use strict"; n. r (t), n. d (t, ( default: () =>s Page 63 of 63 }