รายงานตรวจความปลอดภัยและสุขภาพเว็บไซต์
| เว็บไซต์ที่ตรวจ | ร้านสมมติ ช้อป (เว็บสาธิต) · example-shop.test |
| ประเภทการตรวจ | ตรวจพื้นฐาน (จากภายนอก ไม่ล็อกอิน) — แพ็กเกจ ฿1,900 |
| วันที่ตรวจ | 1 สิงหาคม 2569 |
| รายงานมีอายุถึง | 31 สิงหาคม 2569 (30 วัน — หลังจากนั้นควรตรวจซ้ำ เพราะเว็บและช่องโหว่ใหม่เปลี่ยนตลอด) |
| เครื่องมือที่ใช้ | raidkit + raidscan (โค้ดเปิดสาธารณะบน GitHub) ร่วมกับการตรวจด้วยมือ |
| ผู้ตรวจ | พิสิฐ ตันติรานนท์ · ZyntronLabs |
01 สรุปสำหรับเจ้าของธุรกิจ
เว็บของคุณพบช่องโหว่ทั้งหมด 9 จุด ในจำนวนนี้มี 1 จุดระดับวิกฤต ที่ควรแก้ทันที คือช่องค้นหาสินค้าที่เปิดให้ดึงข้อมูลลูกค้าทั้งหมดออกไปได้โดยไม่ต้องล็อกอิน ถ้าให้จัดลำดับ สิ่งที่ต้องทำก่อนมีสามอย่างตามนี้
- ทำทันทีปิดช่องยิงคำสั่งเข้าฐานข้อมูลที่หน้าค้นหา (จุดที่ 1) นี่คือจุดเดียวที่ข้อมูลลูกค้ารั่วได้จริงตอนนี้
- ภายในสัปดาห์นี้ล็อกหน้าหลังบ้านและตั้งค่าคุกกี้ล็อกอินให้ปลอดภัย (จุดที่ 2 และ 3)
- เมื่อสะดวกเก็บงานตั้งค่าที่เหลือและปรับความเร็วหน้าสินค้าบนมือถือที่ช้า 4.6 วินาที
| ระดับความรุนแรง | จำนวน |
|---|---|
| วิกฤต | 1 |
| สูง | 2 |
| ปานกลาง | 3 |
| ต่ำ | 2 |
| ข้อแนะนำ | 1 |
| รวม | 9 |
02 รายละเอียดช่องโหว่ทีละจุด
แต่ละจุดบอกผลกระทบเป็นภาษาคน ตามด้วยวิธีแก้ที่ช่างของคุณเอาไปทำต่อได้ทันที ตัวเลข CVSS คือคะแนนความรุนแรงมาตรฐานสากล 0 ถึง 10
ฟอร์มค้นหาสินค้าเปิดช่องให้ยิงคำสั่งเข้าฐานข้อมูล (SQL Injection)
CVSS 9.1วิกฤตผู้ไม่หวังดีพิมพ์ข้อความพิเศษลงช่องค้นหา แล้วดึงรายชื่อลูกค้า เบอร์โทร ที่อยู่ และประวัติการสั่งซื้อทั้งหมดออกไปได้ โดยไม่ต้องล็อกอิน ทดสอบยืนยันแล้วว่าดึงข้อมูลออกมาได้จริงบนบัญชีทดสอบ ไม่ได้แตะข้อมูลลูกค้าจริง
วิธีแก้เปลี่ยนการต่อคำสั่งฐานข้อมูลมาใช้ตัวแปรแบบผูกค่า (parameterized query) ทุกจุดที่รับค่าจากผู้ใช้ ห้ามต่อสตริงเข้ากับคำสั่งโดยตรง เป็นการแก้ที่โค้ด ไม่ใช่ที่การตั้งค่า
หน้าจัดการหลังบ้านเปิดให้เข้าถึงได้โดยไม่ต้องยืนยันตัวตนซ้ำ
CVSS 7.5สูงที่อยู่ /admin เดาได้ และเมื่อเข้าไปแล้วระบบไม่ได้จำกัดสิทธิ์ตามระดับผู้ใช้ บัญชีพนักงานทั่วไปกดดูยอดขายและข้อมูลลูกค้าของทุกสาขาได้ ทั้งที่ควรเห็นแค่สาขาตัวเอง
วิธีแก้เพิ่มการตรวจสิทธิ์ฝั่งเซิร์ฟเวอร์ในทุกเส้นทางของหน้าหลังบ้าน ไม่ใช่แค่ซ่อนปุ่มบนหน้าจอ และบังคับยืนยันตัวตนสองชั้นสำหรับบัญชีที่เข้าถึงข้อมูลลูกค้า
คุกกี้เก็บสถานะการล็อกอินไม่ได้ตั้งค่าความปลอดภัย
CVSS 7.4สูงคุกกี้ที่ยืนยันว่าใครล็อกอินอยู่ ไม่ได้ตั้ง HttpOnly และ Secure ทำให้สคริปต์ในหน้าเว็บหรือการดักฟังบนไวไฟสาธารณะขโมยไปสวมรอยเป็นลูกค้าหรือแอดมินคนนั้นได้
วิธีแก้ตั้งค่าคุกกี้ทุกตัวที่เกี่ยวกับการล็อกอินเป็น HttpOnly, Secure และ SameSite=Lax เป็นการแก้ที่การตั้งค่าเซิร์ฟเวอร์ ใช้เวลาไม่นาน
เว็บบอกรุ่นซอฟต์แวร์และเซิร์ฟเวอร์ที่ใช้ให้คนนอกเห็น
CVSS 5.3ปานกลางส่วนหัวของหน้าเว็บประกาศรุ่นของระบบที่ใช้ ผู้โจมตีอ่านแล้วรู้ทันทีว่าเว็บนี้เปิดช่องโหว่ที่รู้กันทั้งโลกแล้วของรุ่นนั้นข้อไหนบ้าง ย่นเวลาการหาช่องให้เขา
วิธีแก้ปิดการแสดงรุ่นในส่วนหัว HTTP และหน้าข้อผิดพลาด
หน้าเว็บถูกนำไปแสดงซ้อนในเว็บอื่นได้ (Clickjacking)
CVSS 5.4ปานกลางผู้ไม่หวังดีเอาหน้าเว็บของคุณไปครอบด้วยหน้าปลอมแบบมองไม่เห็น หลอกให้ลูกค้ากดปุ่มที่ไม่ตั้งใจ เช่น กดยืนยันคำสั่งซื้อหรือเปลี่ยนการตั้งค่าบัญชี
วิธีแก้เพิ่มส่วนหัว Content-Security-Policy frame-ancestors และ X-Frame-Options
หน้าชำระเงินโหลดสคริปต์บางตัวแบบไม่เข้ารหัส
CVSS 4.8ปานกลางมีไฟล์สามจุดในหน้าจ่ายเงินที่โหลดผ่าน http ธรรมดา เบราว์เซอร์รุ่นใหม่ขึ้นเตือน ไม่ปลอดภัย ทำให้ลูกค้าลังเลตอนกำลังจะจ่าย และเปิดช่องให้ดักแก้ไฟล์ระหว่างทางได้
วิธีแก้เปลี่ยนทุกลิงก์ทรัพยากรในหน้าให้เป็น https ทั้งหมด
ไม่มีไฟล์กำหนดสิทธิ์ให้บอตค้นหา (robots.txt)
CVSS 3.1ต่ำไม่ใช่ช่องโหว่ความปลอดภัยโดยตรง แต่ทำให้ควบคุมไม่ได้ว่าหน้าไหนถูกเก็บเข้าผลค้นหา
วิธีแก้เพิ่มไฟล์ robots.txt ระบุหน้าที่ไม่ต้องการให้เก็บ เช่น หน้าหลังบ้าน
ไม่มีคำอธิบายหน้าเว็บสำหรับผลค้นหา (meta description)
CVSS 2.6ต่ำทำให้ Google หยิบข้อความมั่วๆ ในหน้ามาแสดง ลูกค้าเห็นแล้วไม่กดเข้า
วิธีแก้เพิ่มคำอธิบายสั้นๆ ที่ชวนคลิกในทุกหน้าสำคัญ
03 ความเร็วและสุขภาพเว็บ
| หน้า | มือถือ | เดสก์ท็อป | ผล |
|---|---|---|---|
| หน้าแรก | 2.1 วิ | 0.8 วิ | ผ่าน |
| หน้าสินค้า | 4.6 วิ | 1.9 วิ | ช้าเกินไปบนมือถือ |
| หน้าชำระเงิน | 3.8 วิ | 1.4 วิ | ควรปรับ |
หน้าสินค้าโหลด 4.6 วินาทีบนมือถือ งานวิจัยตลาดพบว่าเกิน 3 วินาทีคนเริ่มกดปิดหนี ทุกวินาทีที่ช้าลงหมายถึงลูกค้าที่หลุดก่อนเห็นสินค้า จุดนี้ไม่ใช่ความปลอดภัยแต่กระทบยอดตรงๆ
04 รายการทดสอบทั้งหมดที่รันในการตรวจนี้
รายการด้านล่างคือทุกอย่างที่ถูกตรวจ ไม่ใช่แค่จุดที่พบปัญหา ข้อที่ไม่พบช่องโหว่แปลว่าเว็บของคุณผ่านจุดนั้นแล้ว ซึ่งก็เป็นข้อมูลที่มีค่าเท่ากัน
| OWASP Top 10 (2021) | |
| ✓ | A01 การควบคุมสิทธิ์การเข้าถึง (Broken Access Control) |
| ✓ | A02 ความล้มเหลวของการเข้ารหัส (Cryptographic Failures) |
| ✓ | A03 การยิงคำสั่งเข้าระบบ (Injection — SQL, NoSQL, Command) |
| ✓ | A04 การออกแบบที่ไม่ปลอดภัยตั้งแต่ต้น (Insecure Design) |
| ✓ | A05 การตั้งค่าความปลอดภัยผิดพลาด (Security Misconfiguration) |
| ✓ | A06 ส่วนประกอบที่มีช่องโหว่และล้าสมัย (Vulnerable Components) |
| ✓ | A07 ความล้มเหลวของการยืนยันตัวตน (Identification & Auth Failures) |
| ✓ | A08 ความล้มเหลวด้านความสมบูรณ์ของข้อมูลและซอฟต์แวร์ |
| ✓ | A09 ความล้มเหลวของการบันทึกและเฝ้าระวัง (Logging & Monitoring) |
| ✓ | A10 การปลอมคำขอฝั่งเซิร์ฟเวอร์ (SSRF) |
| การเข้ารหัสและใบรับรอง | |
| ✓ | บังคับใช้ HTTPS ทุกหน้า และเด้ง http ไป https |
| ✓ | อายุและความถูกต้องของใบรับรอง SSL |
| ✓ | เวอร์ชัน TLS และชุดการเข้ารหัสที่รองรับ |
| ✓ | ส่วนหัว HSTS บังคับเข้ารหัสฝั่งเบราว์เซอร์ |
| ✓ | เนื้อหาที่โหลดแบบผสมเข้ารหัสและไม่เข้ารหัส (Mixed Content) |
| ส่วนหัวความปลอดภัยและคุกกี้ | |
| ✓ | Content-Security-Policy |
| ✓ | X-Frame-Options / frame-ancestors (กัน Clickjacking) |
| ✓ | X-Content-Type-Options |
| ✓ | Referrer-Policy และ Permissions-Policy |
| ✓ | แฟล็กคุกกี้ HttpOnly, Secure, SameSite |
| ✓ | การเปิดเผยรุ่นซอฟต์แวร์ในส่วนหัว |
| ความสอดคล้อง PDPA (ข้อมูลส่วนบุคคล) | |
| ✓ | การเข้าถึงข้อมูลส่วนบุคคลโดยไม่ผ่านการยืนยันตัวตน |
| ✓ | การส่งข้อมูลส่วนบุคคลผ่านช่องทางไม่เข้ารหัส |
| ✓ | หน้าเก็บความยินยอมและนโยบายความเป็นส่วนตัว |
| ✓ | การรั่วของข้อมูลผ่านพารามิเตอร์ใน URL |
| สุขภาพและความเร็วเว็บ | |
| ✓ | เวลาตอบสนองของเซิร์ฟเวอร์ (TTFB) มือถือและเดสก์ท็อป |
| ✓ | ขนาดหน้าและทรัพยากรที่โหลด |
| ✓ | การตั้งค่าสำหรับมือถือ (viewport) |
| ✓ | ชื่อเรื่องและคำอธิบายหน้าสำหรับผลค้นหา |
| ✓ | robots.txt และ sitemap.xml |
ใบรับรองการตรวจความปลอดภัย
เว็บไซต์ example-shop.test ได้รับการตรวจความปลอดภัยและสุขภาพเว็บตามแนวทาง OWASP Top 10 และข้อกำหนด PDPA เมื่อวันที่ 1 สิงหาคม 2569 โดยช่องโหว่ที่พบได้ถูกรายงานพร้อมวิธีแก้ครบทุกจุด ใบรับรองนี้ยืนยันว่าการตรวจเกิดขึ้นจริง ไม่ใช่การกล่าวอ้าง เจ้าของเว็บนำไปแสดงต่อลูกค้าของตนได้
อยากได้รายงานแบบนี้ของเว็บคุณเอง
รายงานเต็มแบบนี้ของเว็บจริงคุณ ราคา ฿1,900 ส่งภายใน 3 วันทำการ พร้อมใบรับรองผลตรวจ