PlanetPast
TH

เทคโนโลยี · เว็บทำงานอย่างไร

เว็บไซต์ทำงานอย่างไร

จดหมายถึงเครื่องที่อยู่ไกล

ทุกครั้งที่เปิดเว็บ อุปกรณ์ของเราเขียนจดหมายสั้น ๆ ถึงเครื่องที่เราไม่เคยเห็น และได้คำตอบกลับมาในเสี้ยววินาที สัปดาห์นี้ ช่องโหว่ในภาษาของเครื่องเหล่านั้นทำให้เว็บไซต์ทั่วโลกต้องปิดตัวเองชั่วคราว นี่คือวิธีที่บทสนทนานั้นทำงาน และทางที่มันผิดพลาดได้

หนังสามมิติโต้ตอบได้10 นาที1989 ถึง ปัจจุบันเผยแพร่ 23 ตุลาคม 2569

ดูภาพยนตร์ 3 มิติแบบโต้ตอบอ่านฉบับ English

บทนำ

เทคโนโลยี

จดหมายถึงเครื่องที่อยู่ไกล

ทำไมช่องโหว่เดียวทำให้เว็บไซต์ต้องปิดชั่วคราว

ช่วงหลังวันที่ 21 ตุลาคม 2026 เว็บไซต์รัฐบาลในฟินแลนด์และเนเธอร์แลนด์ รวมถึงบางระบบของวิกิพีเดีย หายไปจากอินเทอร์เน็ต ไม่มีใครโจมตีจนล่ม เจ้าของปิดมันเองโดยตั้งใจ

สาเหตุคือช่องโหว่ร้ายแรงสองจุดใน PHP ภาษาโปรแกรมที่อยู่เบื้องหลังเว็บไซต์ส่วนใหญ่ของโลก เซิร์ฟเวอร์ที่ยังไม่ได้ติดตั้งการแก้ไขใหม่อาจถูกสั่งให้ทำตามคำสั่งของคนแปลกหน้าได้ และมูลนิธิ PHP เพิ่งเร่งปล่อยการแก้ไขออกมา

บริษัทความปลอดภัยพบช่องโหว่นี้ตั้งแต่เดือนสิงหาคมโดยใช้เครื่องมือ AI ช่วย จะเข้าใจว่าช่องโหว่เดียวไปได้ไกลขนาดนี้ได้อย่างไร ลองตามหน้าเว็บหน้าเดียวไปตลอดการเดินทางของมัน

คืนแห่งการแพตช์ ตู้เซิร์ฟเวอร์ในศูนย์ข้อมูล ตู้หนึ่งถูกตั้งสัญญาณเตือน ภาพนิ่งสร้างด้วย AI
  • สองช่องโหว่: CVE-2026-109618 และ CVE-2026-109619
  • พบในเดือนสิงหาคม 2026 ด้วยเครื่องมือ AI
  • ไม่มีใครสังเกตเห็นมานานกว่าสิบปี
  • แพตช์เผยแพร่ 21 ตุลาคม 2026
PHP2Shell โดยย่อ
  • บริการเว็บภาครัฐของฟินแลนด์
  • เว็บไซต์หน่วยงานความมั่นคงไซเบอร์ของเนเธอร์แลนด์
  • บางระบบของมูลนิธิวิกิมีเดีย
  • บางหน้าเว็บของ ANA, JR West และ MUFG ในญี่ปุ่น
ปิดชั่วคราวระหว่างแพตช์
บทนำ

PHP2Shell

Fortune รายงานว่าช่องโหว่สองจุด CVE-2026-109618 และ CVE-2026-109619 ถูกพบครั้งแรกเมื่อ 1 สิงหาคม 2026 โดย Calif บริษัททดสอบเจาะระบบด้วย AI ซึ่งใช้โมเดลของ OpenAI และ Wiz พบเองอีกครั้งเมื่อ 19 สิงหาคม OpenAI ตรวจสอบต่อหลัง Calif แจ้ง พบส่วนอื่นของบั๊กเพิ่ม แล้วนำกลุ่มพันธมิตรร่วมกับมูลนิธิ PHP, Cloudflare และอื่น ๆ Paubox รายงานว่ารายละเอียดหลุดออกไปบนโซเชียลมีเดีย มูลนิธิ PHP จึงเผยแพร่การแก้ไขเร็วกว่ากำหนดในวันที่ 21 ตุลาคม และช่องโหว่นี้ไม่มีใครสังเกตมานานกว่าสิบปี ตามรายงานของ CNN (ผ่าน ABC7) NSA และหน่วยงานความมั่นคงไซเบอร์ของยุโรปเร่งให้ดำเนินการทันที และเว็บไซต์ในไอร์แลนด์ ญี่ปุ่น ฝรั่งเศส เดนมาร์ก ฟินแลนด์ เนเธอร์แลนด์ รวมถึงบางระบบของวิกิมีเดีย ต้องปิดชั่วคราว

คอมพิวเตอร์ สายสัญญาณ และแพ็กเก็ตสามมิติเป็นแบบจำลองอย่างง่ายเพื่อการสอน ไม่ใช่ฮาร์ดแวร์หรือเส้นทางเครือข่ายจริง

แหล่งข้อมูล: Fortune (21 Oct 2026): AI tools discovered the PHP vulnerability; the race is on to patch it; Paubox (Oct 2026): PHP flaws found by AI force governments and major sites offline; ABC7 New York / CNN (22 Oct 2026): websites shut down globally as operators address AI-detected PHP flaw

บทที่ I · เครือข่ายของเอกสาร

1989

เครือข่ายของเอกสาร

เว็บเริ่มจากวิธีแบ่งปันเอกสาร

เว็บเริ่มต้นจากวิธีแบ่งปันเอกสาร เดือนมีนาคม 1989 ทิม เบอร์เนิร์ส-ลี นักวิทยาศาสตร์ชาวอังกฤษที่ทำงานอยู่ที่เซิร์น ห้องปฏิบัติการฟิสิกส์ใกล้นครเจนีวา เขียนข้อเสนอแรกของเวิลด์ไวด์เว็บ

พอถึงปลายปี 1990 เว็บเซิร์ฟเวอร์และเบราว์เซอร์ตัวแรกก็ทำงานอยู่ที่นั่น บนคอมพิวเตอร์ NeXT เว็บไซต์แรกของโลกอยู่ที่ที่อยู่ info.cern.ch

วันที่ 30 เมษายน 1993 เซิร์นเปิดซอฟต์แวร์ของเว็บให้ใช้ได้โดยไม่ต้องจ่ายค่าสิทธิ์ ใครก็ตั้งเซิร์ฟเวอร์ได้ และทุกหน้าเชื่อมโยงไปยังหน้าอื่นได้

โต๊ะในห้องแล็บ ปี 1990 สถานีงานในจินตนาการของยุคนั้น ไม่ใช่เครื่องจริง ภาพนิ่งสร้างด้วย AI
  1. มี.ค. 1989 ข้อเสนอแรกของเบอร์เนิร์ส-ลี
  2. พ.ย. 1990 ข้อเสนออย่างเป็นทางการร่วมกับโรแบร์ กายิโย
  3. ปลาย 1990 เซิร์ฟเวอร์และเบราว์เซอร์ตัวแรกทำงาน
  4. ต้น 1993 NCSA ปล่อยเบราว์เซอร์ Mosaic
  5. 30 เม.ย. 1993 ซอฟต์แวร์เปิดให้ใช้ฟรี
เว็บที่เซิร์น
1
เว็บไซต์ตอนเริ่มต้น: info.cern.ch
30 Apr 1993
วันที่โค้ดเปิดให้ทุกคน
ตอนนั้นกับตอนนี้
บทที่ I · เครือข่ายของเอกสาร

กำเนิดที่เซิร์น

ประวัติของเซิร์นเอง: ทิม เบอร์เนิร์ส-ลี เขียนข้อเสนอแรกของเวิลด์ไวด์เว็บในเดือนมีนาคม 1989 และร่วมกับโรแบร์ กายิโย ทำเป็นข้อเสนอต่อผู้บริหารอย่างเป็นทางการในเดือนพฤศจิกายน 1990 พอถึงปลายปี 1990 เว็บเซิร์ฟเวอร์และเบราว์เซอร์ตัวแรกทำงานที่เซิร์น และ info.cern.ch คือที่อยู่ของเว็บไซต์และเว็บเซิร์ฟเวอร์แห่งแรกของโลก บนคอมพิวเตอร์ NeXT ต้นปี 1993 NCSA แห่งมหาวิทยาลัยอิลลินอยส์ปล่อยเบราว์เซอร์ Mosaic และวันที่ 30 เมษายน 1993 เซิร์นเปิดซอฟต์แวร์ WorldWideWeb ให้ใช้โดยไม่ต้องจ่ายค่าสิทธิ์

เครือข่ายหน้าเว็บที่เชื่อมกันบนจอเป็นภาพแผนผัง ไม่ใช่แผนที่ของเว็บไซต์จริง

แหล่งข้อมูล: CERN: a short history of the Web

บทที่ II · หาเครื่องให้เจอ

บทที่ II

หาเครื่องให้เจอ

คอมพิวเตอร์สองเครื่อง บทสนทนาเดียว

การเข้าเว็บไซต์ทุกครั้งคือบทสนทนาระหว่างคอมพิวเตอร์สองเครื่อง เครื่องของเราคือไคลเอนต์ (client) คือโทรศัพท์หรือแล็ปท็อป กับเบราว์เซอร์ที่ทำงานอยู่บนนั้น

อีกเครื่องคือเซิร์ฟเวอร์ (server) คอมพิวเตอร์ที่มีหน้าที่เก็บหน้าเว็บและส่งสำเนาให้คนที่ขอ มันอาจอยู่ในศูนย์ข้อมูลอีกทวีปหนึ่ง

เมื่อเราเปิดหน้าเว็บ สำเนาโค้ดของมันจะเดินทางมาที่อุปกรณ์ แล้วเบราว์เซอร์แปลงโค้ดนั้นเป็นภาพที่เราเห็น HTML กำหนดโครงสร้าง CSS กำหนดหน้าตา และ JavaScript กำหนดการทำงาน

ปลายสองข้างของเส้นเดียว แล็ปท็อปที่บ้านกับอาคารที่เต็มไปด้วยเซิร์ฟเวอร์ที่อยู่ไกลออกไป ภาพนิ่งสร้างด้วย AI
  • ไคลเอนต์: ขอ แล้ววาดหน้าเว็บ
  • เซิร์ฟเวอร์: เก็บหน้าเว็บและตอบกลับ
  • แอสเซต: ภาพ วิดีโอ PDF ที่ไม่ใช่โค้ด
ใครทำอะไร
  • HTML: หัวข้อ ย่อหน้า ลิงก์
  • CSS: สี แบบอักษร การจัดวาง
  • JavaScript: เมนู ปุ่ม การอัปเดตสด
สามภาษาของเบราว์เซอร์
บทที่ II · หาเครื่องให้เจอ

ไคลเอนต์และเซิร์ฟเวอร์

MDN Web Docs: คอมพิวเตอร์ที่ต่ออินเทอร์เน็ตเป็นได้ทั้งไคลเอนต์ (อุปกรณ์และซอฟต์แวร์ของผู้ใช้ เช่น เบราว์เซอร์) หรือเซิร์ฟเวอร์ (คอมพิวเตอร์ที่เก็บหน้าเว็บ เว็บไซต์ หรือแอป) เมื่อไคลเอนต์ขอหน้าเว็บ สำเนาโค้ดจะถูกดาวน์โหลดจากเซิร์ฟเวอร์แล้วเบราว์เซอร์นำมาแสดงผล เว็บไซต์สร้างจาก HTML, CSS และ JavaScript เป็นหลัก ส่วนภาพ เพลง วิดีโอ และเอกสาร คือแอสเซตที่ไม่ใช่โค้ดที่เบราว์เซอร์ตีความ

คอมพิวเตอร์ สายสัญญาณ และแพ็กเก็ตสามมิติเป็นแบบจำลองอย่างง่ายเพื่อการสอน ไม่ใช่ฮาร์ดแวร์หรือเส้นทางเครือข่ายจริง

แหล่งข้อมูล: MDN Web Docs: how the web works

แต่ก่อนอื่นเบราว์เซอร์ต้องหาเซิร์ฟเวอร์ให้เจอ คนจำชื่ออย่าง mozilla.org แต่คอมพิวเตอร์บนอินเทอร์เน็ตหากันด้วยตัวเลขที่เรียกว่าที่อยู่ไอพี (IP address)

ระบบชื่อโดเมน หรือ DNS ทำงานเหมือนสมุดที่อยู่ของอินเทอร์เน็ต เบราว์เซอร์ถามเซิร์ฟเวอร์ DNS ซึ่งค้นชื่อนั้นแล้วตอบกลับเป็นตัวเลข

เว็บใหญ่มีเซิร์ฟเวอร์หลายเครื่อง ตัวเลขที่เราได้จึงอาจขึ้นกับว่าเราอยู่ที่ไหน จากนั้นคำขอจริงจึงออกเดินทางได้

mozilla.org
สิ่งที่คนพิมพ์
192.0.2.172
สิ่งที่คอมพิวเตอร์ใช้ (ที่อยู่ตัวอย่างของ MDN)
ชื่อกับตัวเลข
  • 1 · เบราว์เซอร์ถาม: ชื่อนี้อยู่ที่ไหน
  • 2 · เซิร์ฟเวอร์ DNS ค้นหา
  • 3 · ตอบกลับ: ที่อยู่ไอพี
  • 4 · เบราว์เซอร์ติดต่อที่อยู่นั้น
การค้นหนึ่งครั้ง
1 ชื่อ
ที่เราพิมพ์
หลายไอพี
เว็บใหญ่อาจตอบจากเซิร์ฟเวอร์ใกล้ตัวเรา
ชื่อเดียว หลายเครื่อง
บทที่ II · หาเครื่องให้เจอ

สมุดที่อยู่ของอินเทอร์เน็ต

MDN Web Docs อธิบายว่า DNS คือสมุดที่อยู่ของเว็บไซต์ มันแปลงชื่อโดเมนอย่าง mozilla.org เป็นที่อยู่ไอพีอย่าง 192.0.2.172 (ที่อยู่ตัวอย่าง) ขั้นแรกของการโหลดทุกหน้าคือเบราว์เซอร์ไปถามเซิร์ฟเวอร์ DNS เพื่อหาที่อยู่จริงของเซิร์ฟเวอร์ที่เว็บไซต์นั้นตั้งอยู่ เว็บขนาดใหญ่อาจมีหลายเซิร์ฟเวอร์ ที่อยู่ที่ได้จึงต่างกันตามตำแหน่ง

คอมพิวเตอร์ สายสัญญาณ และแพ็กเก็ตสามมิติเป็นแบบจำลองอย่างง่ายเพื่อการสอน ไม่ใช่ฮาร์ดแวร์หรือเส้นทางเครือข่ายจริง

แหล่งข้อมูล: MDN Web Docs: how the web works

บทที่ III · บทสนทนา

บทที่ III

บทสนทนา

จดหมายสั้น ๆ กับคำตอบที่มีเลขกำกับ

ตอนนี้เบราว์เซอร์เขียนจดหมายสั้น ๆ ด้วยภาษาที่เรียกว่า HTTP (Hypertext Transfer Protocol) จดหมายที่ง่ายที่สุดเขียนว่า GET ตามด้วยหน้าที่ต้องการและชื่อเว็บไซต์

เซิร์ฟเวอร์ตอบด้วยตัวเลขก่อน 200 แปลว่าเรียบร้อย ส่งให้แล้ว 404 แปลว่าไม่มีหน้านี้ 503 แปลว่าเซิร์ฟเวอร์ใช้งานไม่ได้ชั่วคราว

ทีนี้ลองเองดู กดส่งคำขอ หรือขอหน้าที่ไม่มีอยู่จริง แล้วดูจดหมายกับคำตอบเดินทางข้ามเครือข่าย

คำขอ คำขอ HTTP เป็นข้อความธรรมดา สั้นพอจะใส่ในโปสการ์ดได้ ภาพนิ่งสร้างด้วย AI
GET /en-US/ HTTP/2\texttt{GET /en-US/ HTTP/2}Host: developer.mozilla.org\texttt{Host: developer.mozilla.org}
จดหมายเขียนว่า ตัวอย่างของ MDN: วิธีการ เส้นทาง รุ่นโพรโทคอล แล้วตามด้วยชื่อเว็บไซต์
  • 200 · เรียบร้อย นี่คือหน้าเว็บ
  • 301 · ย้ายไปที่อยู่ใหม่ถาวร
  • 403 · ไม่มีสิทธิ์ดู
  • 404 · ไม่มีหน้านี้
  • 503 · เซิร์ฟเวอร์ใช้งานไม่ได้ชั่วคราว
รหัสสถานะ ตัวเลขหลักแรกบอกกลุ่ม: 2 สำเร็จ 3 ย้ายที่ 4 คำขอมีปัญหา 5 เซิร์ฟเวอร์มีปัญหา
200
หน้าเว็บมาถึงและถูกวาดขึ้นจอ
404
เซิร์ฟเวอร์ตอบ แต่ไม่มีอะไรจะส่ง
ตาเรา
บทที่ III · บทสนทนา

พูดภาษา HTTP

MDN Web Docs: HTTP เป็นโพรโทคอลระดับแอปพลิเคชันที่กำหนดภาษาให้ไคลเอนต์กับเซิร์ฟเวอร์ใช้คุยกัน คำขอทั่วไปใช้วิธี GET (“GET /en-US/ HTTP/2”, “Host: developer.mozilla.org”) คำตอบขึ้นต้นด้วยบรรทัดสถานะและส่วนหัว แล้วตามด้วยเนื้อหา รหัสที่พบบ่อย: 200 สำเร็จ 301 ย้ายถาวร 400 คำขอผิดรูปแบบ 403 ไม่มีสิทธิ์ 404 ไม่พบ 503 ใช้งานไม่ได้ชั่วคราว (เช่นระหว่างบำรุงรักษา)

ลองดู: “ส่งคำขอ” ได้ 200 OK ส่วน “ขอหน้าที่ไม่มี” ได้ 404

แหล่งข้อมูล: MDN Web Docs: how the web works

คำตอบไม่ได้เดินทางเป็นก้อนเดียว มันถูกหั่นเป็นชิ้นเล็ก ๆ ที่เรียกว่าแพ็กเก็ต (packet) แต่ละชิ้นมีส่วนหัวบอกว่ามาจากไหน จะไปไหน และอยู่ลำดับที่เท่าไร กับส่วนข้อมูลซึ่งเป็นเศษเสี้ยวของหน้าเว็บ

แพ็กเก็ตอาจไปคนละเส้นทางและมาถึงไม่ตรงลำดับ กติกาที่เรียกว่า TCP/IP ทำให้อุปกรณ์ของเราเรียงมันกลับ และขอชิ้นที่หายไปใหม่ได้

ทีนี้ลองทำแพ็กเก็ตหายสักชิ้น แล้วดูมันถูกส่งมาใหม่ หน้าเว็บจะปรากฏก็ต่อเมื่อได้ครบทุกชิ้นแล้วเท่านั้น

  • ส่วนหัว: ที่อยู่ไอพีต้นทางและปลายทาง
  • ส่วนหัว: ลำดับของแพ็กเก็ตนี้และจำนวนทั้งหมด
  • ส่วนข้อมูล: เศษเสี้ยวของข้อมูล
ข้างในหนึ่งแพ็กเก็ต
8
แพ็กเก็ตบรรจุหน้าเว็บหนึ่งหน้า
4
เส้นทางที่ไปได้
ในแบบจำลองนี้
ประกอบกลับ ชิ้นส่วนมาถึงคนละเส้นทางแล้วถูกเรียงกลับเข้าที่ ภาพนิ่งสร้างด้วย AI
1 ชิ้น
คือสิ่งเดียวที่ต้องส่งใหม่เมื่อหายไป
หลายเส้นทาง
แพ็กเก็ตแบ่งกันใช้เส้นทางในเครือข่าย
ทำไมต้องหั่น
บทที่ III · บทสนทนา

แพ็กเก็ตและ TCP/IP

MDN Web Docs: เซิร์ฟเวอร์ส่งไฟล์ของเว็บไซต์เป็นชิ้นเล็ก ๆ ต่อเนื่องกันที่เรียกว่าแพ็กเก็ต แต่ละแพ็กเก็ตมีส่วนหัว (ที่อยู่ไอพี ลำดับแพ็กเก็ต จำนวนทั้งหมด รายละเอียดโพรโทคอล) และส่วนข้อมูล การแบ่งข้อมูลทำให้ขอแพ็กเก็ตที่หายหรือเสียใหม่ได้ทีละชิ้น และแพ็กเก็ตไปคนละเส้นทางได้ ไคลเอนต์ใช้ส่วนหัวเรียงลำดับกลับ TCP/IP คือโพรโทคอลการสื่อสารที่กำหนดว่าข้อมูลเดินทางบนอินเทอร์เน็ตอย่างไร

ส่วนหัว TCP จริงนับเป็นไบต์ ไม่ใช่ทีละชิ้น “แพ็กเก็ตที่ 5 จาก 8” เป็นการอธิบายแบบง่าย

คอมพิวเตอร์ สายสัญญาณ และแพ็กเก็ตสามมิติเป็นแบบจำลองอย่างง่ายเพื่อการสอน ไม่ใช่ฮาร์ดแวร์หรือเส้นทางเครือข่ายจริง

แหล่งข้อมูล: MDN Web Docs: how the web works

บทที่ IV · หน้าเว็บที่สร้างตามสั่ง

บทที่ IV

หน้าเว็บที่สร้างตามสั่ง

หลายหน้าเว็บยังไม่มีอยู่จริงจนกว่าเราจะขอ

เว็บไซต์ยุคแรกเป็นแบบสแตติก (static) เซิร์ฟเวอร์เก็บหน้าเว็บที่ทำเสร็จแล้วเป็นไฟล์ และส่งสำเนาเดียวกันให้ทุกคนที่ขอ

แต่ร้านค้า ธนาคาร หรือเว็บข่าว ต้องมีหน้าที่ต่างกันสำหรับผู้ชมแต่ละคนและทุกขณะ ตะกร้าสินค้าของเรา บัญชีของเรา พาดหัวข่าวชั่วโมงนี้ การเขียนแต่ละหน้าด้วยมือเป็นไปไม่ได้

เซิร์ฟเวอร์จำนวนมากจึงสร้างหน้าเว็บตามสั่ง โปรแกรมฝั่งเซิร์ฟเวอร์ (server-side) ดึงสิ่งที่ต้องใช้จากฐานข้อมูล เทลงในแม่แบบ แล้วส่ง HTML ใหม่เอี่ยมกลับมา นี่คืองานที่ PHP ทำ ลองสลับดูสองแบบแล้วเปรียบเทียบกัน

1 ไฟล์
เก็บไว้ในดิสก์ ส่งให้ทุกคนแบบเดิม
สแตติก
โรงงานหน้าเว็บ อุปมา: เครื่องจักรประกอบแต่ละหน้าจากชิ้นส่วนที่เก็บไว้ ภาพนิ่งสร้างด้วย AI
  • คำขอมาถึง: “แสดงสินค้า 4182”
  • โปรแกรมค้นฐานข้อมูล
  • ข้อมูลเติมลงช่องว่างในแม่แบบ
  • HTML ที่เสร็จแล้วถูกส่งกลับไปที่เบราว์เซอร์
สร้างหนึ่งหน้า
1 แม่แบบ
กลายเป็นหน้าสินค้าได้นับล้านหน้า
ไดนามิก
บทที่ IV · หน้าเว็บที่สร้างตามสั่ง

เว็บสแตติกและไดนามิก

MDN Web Docs: เว็บสแตติกส่งเนื้อหาเดิมที่เขียนตายตัวทุกครั้งที่มีการขอ เซิร์ฟเวอร์ดึงเอกสารจากระบบไฟล์ของมัน ส่วนเว็บไดนามิก เนื้อหาบางส่วนถูกสร้างเมื่อจำเป็นเท่านั้น โดยปกติหน้า HTML สร้างจากการนำข้อมูลในฐานข้อมูลไปใส่ช่องว่างในแม่แบบ HTML สำหรับร้านค้าที่มีสินค้าจำนวนมหาศาล การทำหน้าสแตติกแยกให้ทุกชิ้นเป็นเรื่องที่ทำไม่ได้เลยในทางปฏิบัติ

ลองดู: สลับเซิร์ฟเวอร์ระหว่างส่งไฟล์ที่เก็บไว้กับสร้างหน้าจากฐานข้อมูล

แหล่งข้อมูล: MDN Web Docs: introduction to the server side (static and dynamic sites)

หนึ่งในเครื่องมือยอดนิยมที่สุดสำหรับงานนี้เกิดจากโฮมเพจส่วนตัว ปี 1994 ราสมุส เลอร์ดอร์ฟ เขียนโปรแกรมเล็ก ๆ ไม่กี่ตัวด้วยภาษา C เพื่อนับคนที่เข้ามาดูประวัติย่อออนไลน์ของเขา แล้วเรียกมันว่า Personal Home Page Tools

ปี 1997 แอนดี กัทแมนส์ และซีฟ ซูราสกี ที่เทลอาวีฟ เริ่มเขียนมันใหม่สำหรับโครงการในมหาวิทยาลัย แล้วร่วมมือกับเลอร์ดอร์ฟสร้างภาษาใหม่ PHP 3 ประกาศเปิดตัวในเดือนมิถุนายน 1998

ชื่อกลายเป็นอักษรย่อแบบวนกลับ (recursive acronym) ที่ตัวอักษรแรกหมายถึงตัวมันเอง คือ PHP: Hypertext Preprocessor แล้ว PHP 7 ออกในปี 2015 และ PHP 8 ในปี 2020

โฮมเพจในยุค 1990 ห้องทำงานที่บ้านในจินตนาการของยุคนั้น ภาพนิ่งสร้างด้วย AI
  1. 1994 Personal Home Page Tools
  2. 1996 PHP/FI (Forms Interpreter)
  3. มิ.ย. 1998 PHP 3 เขียนใหม่ร่วมกับกัทแมนส์และซูราสกี
  4. 2015 PHP 7
  5. 2020 PHP 8
จากโฮมเพจสู่ภาษาโปรแกรม
PHP: Hypertext Preprocessorอักษรย่อแบบวนกลับ: ตัวอักษรแรกหมายถึงชื่อของมันเอง
บทที่ IV · หน้าเว็บที่สร้างตามสั่ง

PHP มาจากไหน

ประวัติใน PHP Manual: ราสมุส เลอร์ดอร์ฟ สร้าง PHP ในปี 1994 เป็นชุดโปรแกรมภาษา C (CGI) ใช้ครั้งแรกเพื่อนับคนเข้าดูประวัติย่อออนไลน์ของเขา และเรียกว่า “Personal Home Page Tools” ต่อมาในปี 1996 มี PHP/FI (“Forms Interpreter”) ปี 1997 แอนดี กัทแมนส์ และซีฟ ซูราสกี จากเทลอาวีฟ เริ่มเขียนตัวแปลภาษาใหม่สำหรับโครงการอีคอมเมิร์ซในมหาวิทยาลัย แล้วร่วมงานกับเลอร์ดอร์ฟ PHP 3.0 ประกาศในเดือนมิถุนายน 1998 และชื่อกลายเป็นอักษรย่อแบบวนกลับ “PHP: Hypertext Preprocessor” PHP 7.0 ออกในปี 2015 และ PHP 8.0 ในปี 2020

แหล่งข้อมูล: PHP Manual: history of PHP

ทุกวันนี้ ตามข้อมูลของบริษัทสำรวจ W3Techs ในบรรดาเว็บไซต์ที่ระบุภาษาฝั่งเซิร์ฟเวอร์ได้ 69.3 เปอร์เซ็นต์ใช้ PHP

WordPress ระบบที่สร้างด้วย PHP ซึ่งเป็นที่รู้จักที่สุด ถูกใช้ทำเว็บไซต์ราวสี่สิบเปอร์เซ็นต์ของทั้งหมด ตามตัวเลขที่รอยเตอร์อ้างถึง และวิกิพีเดีย ไมโครซอฟท์ กับ Internet Archive ก็อยู่ในรายชื่อเว็บที่ใช้ PHP ของ W3Techs

ดังนั้นช่องโหว่ในตัว PHP เอง ไม่ใช่ในเว็บไซต์ใดเว็บหนึ่ง จึงอยู่ในเซิร์ฟเวอร์นับล้านเครื่องพร้อมกัน Palo Alto Networks นับระบบ PHP ที่อาจมีความเสี่ยงได้ 22.6 ล้านระบบ

PHP69.3%
ภาษาอื่นทั้งหมด30.7%
เว็บที่ใช้ PHP (W3Techs, 22 ต.ค. 2026) เว็บที่ตรวจไม่ได้ว่าใช้ภาษาอะไรไม่ถูกนับรวม
~40%
ของเว็บทั้งหมดใช้ WordPress (ตามที่รอยเตอร์อ้าง)
แพลตฟอร์มเดียว
  • wikipedia.org
  • microsoft.com
  • archive.org
  • theguardian.com
ตัวอย่างเว็บที่ใช้ PHP (W3Techs)
22.6 million
ระบบ PHP ที่อาจมีช่องโหว่ (Palo Alto Networks)
ความเสี่ยง
บทที่ IV · หน้าเว็บที่สร้างตามสั่ง

รากฐานที่ใช้ร่วมกัน

W3Techs (22 ตุลาคม 2026): “PHP ถูกใช้โดย 69.3% ของเว็บไซต์ทั้งหมดที่เราทราบภาษาโปรแกรมฝั่งเซิร์ฟเวอร์” Fortune อ้างรอยเตอร์ว่า WordPress ขับเคลื่อนเว็บราว 40% ของทั้งหมด และระบุ Microsoft.com, Wikipedia.org, Archive.org, TheGuardian.com และ Baidu.com เป็นเว็บที่ใช้ PHP ตาม W3Techs ส่วน Palo Alto Networks พบอินสแตนซ์ที่อาจมีช่องโหว่ 22.6 ล้านแห่ง สื่อหลายแห่งปัดสัดส่วนเป็น “ราว 70%”

แต่ละหอคอยบนจอแทนหนึ่งเปอร์เซ็นต์ของเว็บไซต์ สีเป็นไปตามสัดส่วนของ W3Techs

แหล่งข้อมูล: W3Techs: usage statistics of PHP for websites (22 Oct 2026); Fortune (21 Oct 2026): AI tools discovered the PHP vulnerability; the race is on to patch it

บทที่ V · เมื่อข้อมูลกลายเป็นคำสั่ง

บทที่ V

เมื่อข้อมูลกลายเป็นคำสั่ง

ช่องโหว่คืออะไรกันแน่

ทำไมช่องโหว่เดียวถึงอันตรายขนาดนี้ เซิร์ฟเวอร์รับข้อความจากคนแปลกหน้าตลอดทั้งวัน ทั้งที่อยู่เว็บ คำค้น ช่องกรอกฟอร์ม และทั้งหมดนั้นควรถูกอ่านเป็นแค่ข้อมูล

ช่องโหว่ (vulnerability) คือความผิดพลาดในซอฟต์แวร์ที่ทำให้ข้อความบางส่วนถูกตีความเป็นคำสั่งแทน คอมพิวเตอร์ส่วนใหญ่ไม่ได้ขีดเส้นแบ่งโค้ดกับข้อมูลไว้ชัดเจน ข้อความที่ถูกปั้นมาอย่างจงใจจึงอาจเล็ดลอดข้ามเส้นนั้นไปได้

กรณีเลวร้ายที่สุดเรียกว่าการรันโค้ดจากระยะไกล (remote code execution) ใครบางคนผ่านเครือข่ายสามารถสั่งให้เซิร์ฟเวอร์รันคำสั่งที่เขาเลือกได้ ด้วยสิทธิ์เท่ากับโปรแกรมที่ถูกเจาะเข้าไป

  • ที่อยู่: /news/today
  • คำค้น: “ตั๋วเครื่องบินราคาถูก”
  • ช่องฟอร์ม: ชื่อ อีเมล ข้อความ
สิ่งที่เซิร์ฟเวอร์อ่านทั้งวัน
อุปมา พนักงานคัดแยกอ่านโน้ตในพัสดุแล้วทำตามราวกับเป็นคำสั่ง ภาพนิ่งสร้างด้วย AI
ความสามารถของผู้โจมตีในการรันคำสั่งหรือโค้ดใดก็ได้ตามที่เลือก บนเครื่องเป้าหมายนิยามทั่วไปของการรันโค้ดตามอำเภอใจ
  • ถูกกระตุ้นผ่านเครือข่าย
  • ผู้โจมตีเลือกคำสั่งเอง
  • ทำงานด้วยสิทธิ์ของโปรแกรมที่ถูกเจาะ
  • PHP2Shell: CERT-EU ระบุว่าอาจโจมตีได้โดยไม่ต้องล็อกอิน
การรันโค้ดจากระยะไกล
บทที่ V · เมื่อข้อมูลกลายเป็นคำสั่ง

โค้ดกับข้อมูล

การรันโค้ดตามอำเภอใจ (arbitrary code execution) คือความสามารถของผู้โจมตีในการรันคำสั่งหรือโค้ดใดก็ได้บนเครื่องเป้าหมาย ส่วนการรันโค้ดจากระยะไกลคือความสามารถเดียวกันที่ถูกกระตุ้นผ่านเครือข่าย รากของปัญหาที่พบบ่อยคือคอมพิวเตอร์ส่วนใหญ่ไม่ได้แยกโค้ดกับข้อมูลออกจากกันโดยทั่วไป โค้ดร้ายจึงปลอมตัวเป็นข้อมูลธรรมดาได้ อีกต้นเหตุคือความเสียหายของหน่วยความจำ เช่น บัฟเฟอร์ล้น การโจมตีจะได้สิทธิ์เท่ากับโปรเซสที่มีช่องโหว่ Paubox รายงานว่า CERT-EU ระบุคะแนนความเสี่ยงของช่องโหว่ PHP ชี้ว่าอาจรันโค้ดจากระยะไกลได้โดยไม่ต้องยืนยันตัวตน และ NSA เตือนว่ามันอาจเปิดทางเข้าถึงระบบไฟล์หรือฐานข้อมูลของเซิร์ฟเวอร์โดยตรง

ภาพยนตร์อธิบายเพียงหลักการ ไม่ได้แสดงกลไกของช่องโหว่ครั้งนี้

แหล่งข้อมูล: Wikipedia: arbitrary code execution; Paubox (Oct 2026): PHP flaws found by AI force governments and major sites offline

เพื่อให้ทุกคนพูดถึงช่องโหว่ตัวเดียวกัน แต่ละตัวจึงได้เลขประจำตัว รายการ CVE ย่อมาจาก Common Vulnerabilities and Exposures เสนอขึ้นที่บริษัท MITRE และเปิดเผยต่อสาธารณะในเดือนกันยายน 1999 พร้อม 321 รายการ

ช่องโหว่ที่ใช้ร่วมกันเคยเขย่าเว็บมาแล้ว เมษายน 2014 พบบั๊ก Heartbleed ใน OpenSSL โค้ดที่เข้ารหัสการเชื่อมต่อแบบปลอดภัยจำนวนมาก แบบที่มีรูปแม่กุญแจในเบราว์เซอร์ Netcraft ประเมินว่าเว็บเซิร์ฟเวอร์ที่ปลอดภัยและน่าเชื่อถือราวสิบเจ็ดเปอร์เซ็นต์ได้รับผลกระทบ

Wiz เปรียบช่องโหว่ PHP เดือนนี้กับ Heartbleed บทเรียนเหมือนกัน คือข้อบกพร่องในชิ้นส่วนที่ใช้ร่วมกันส่งผลถึงทุกคนที่ใช้มัน

Sep 1999
MITRE เปิดเผยต่อสาธารณะ
321
ช่องโหว่ในรายการ
รายการ CVE แรก
CVE-2026-109618\texttt{CVE-2026-109618}
2026\texttt{2026}
ปีที่ได้รับเลข
109618\texttt{109618}
เลขลำดับ
อ่านเลข CVE หนึ่งในสองช่องโหว่ PHP2Shell
~17%
ของเซิร์ฟเวอร์ SSL ที่น่าเชื่อถือได้รับผลกระทบ (Netcraft)
~500,000
ใบรับรองของเว็บที่ปลอดภัยที่เกี่ยวข้อง
Heartbleed 7 เมษายน 2014
  • 2014 · OpenSSL อยู่ในเซิร์ฟเวอร์ที่ปลอดภัยจำนวนมาก
  • 2026 · PHP อยู่หลัง 69.3% ของเว็บที่ทราบภาษาฝั่งเซิร์ฟเวอร์
ชิ้นส่วนที่ใช้ร่วมกัน
Wiz เปรียบความสำคัญของช่องโหว่ PHP กับบั๊ก Heartbleed ปี 2014ตามรายงานของ CNN 22 ตุลาคม 2026
บทที่ V · เมื่อข้อมูลกลายเป็นคำสั่ง

CVE และ Heartbleed

ประวัติ CVE โดย Tripwire: แนวคิดนี้เสนอในเดือนมกราคม 1999 โดยเดวิด อี. แมนน์ และสตีเวน เอ็ม. คริสตีย์ แห่ง MITRE และรายการ CVE แรกเปิดเผยต่อสาธารณะในเดือนกันยายน 1999 พร้อมช่องโหว่ 321 รายการ เพื่อให้เครื่องมือต่าง ๆ อ้างถึงช่องโหว่เดียวกันด้วยรหัสเดียว Netcraft (7 เมษายน 2014): เว็บเซิร์ฟเวอร์ SSL ที่ใช้ใบรับรองจากผู้ออกที่น่าเชื่อถือราว 17% มีช่องโหว่ Heartbleed คิดเป็นใบรับรองราวครึ่งล้านใบ CNN (ผ่าน ABC7) รายงานว่า Wiz เปรียบความสำคัญของช่องโหว่ PHP กับ Heartbleed

แหล่งข้อมูล: Tripwire: the history of Common Vulnerabilities and Exposures (CVE); Netcraft (7 Apr 2014): half a million widely trusted websites vulnerable to Heartbleed bug; ABC7 New York / CNN (22 Oct 2026): websites shut down globally as operators address AI-detected PHP flaw

กลับมาที่ช่องโหว่ PHP แผนเดิมคือแก้ไขอย่างเงียบ ๆ และประสานกัน ให้เจ้าของเว็บได้แพตช์ก่อนที่ใครจะรู้วิธีโจมตี แต่รายละเอียดหลุดออกไปทางออนไลน์ช่วงดึกวันที่ 20 ตุลาคม

วันที่ 21 มูลนิธิ PHP จึงเผยแพร่การแก้ไขเร็วกว่ากำหนด และสำนักงานความมั่นคงแห่งชาติสหรัฐฯ (NSA) เร่งให้บริษัทต่าง ๆ ลงมือทันที ภายในสี่สิบห้านาที Cloudflare พบความพยายามใช้ช่องโหว่นี้หลายหมื่นครั้ง

แพตช์ (patch) คือการแทนที่โค้ดที่ผิดพลาด ระหว่างที่ยังไม่ได้ติดตั้ง ผู้ดูแลบางรายปิดเว็บไซต์ไว้ก่อนเพื่อความปลอดภัย ทีนี้ลองเอง ติดตั้งแพตช์ให้เซิร์ฟเวอร์นี้ดู

  1. 1 ส.ค. Calif พบปัญหาแรก
  2. 19 ส.ค. Wiz พบเองอีกครั้ง
  3. 20 ต.ค. รายละเอียดหลุดก่อนมีแพตช์
  4. 21 ต.ค. มูลนิธิ PHP เผยแพร่การแก้ไข
  5. 21–22 ต.ค. เว็บต่าง ๆ ปิดชั่วคราวเพื่ออัปเดต
PHP2Shell ปี 2026
ใน 45 นาที: หลายหมื่น10⁴+
ใน 2 ชม.: หลายแสน10⁵+
ถึงช่วงค่ำ: หลายล้าน10⁶+
ความพยายามโจมตีที่ Cloudflare เห็น 21 ต.ค. ความยาวแท่งแสดงลำดับขนาดตามที่รายงาน Cloudflare ไม่ได้ให้ตัวเลขแน่ชัด
เร็วกว่ากำหนด
การแก้ไขถูกเผยแพร่หลังข้อมูลหลุด
NSA
เร่งให้บริษัทลงมือทันที
21 ตุลาคม
  • ติดตั้งให้เร็วที่สุด
  • หรือปิดเว็บไว้ชั่วคราว
  • แล้วตรวจหาร่องรอยการบุกรุก
ระหว่างรอแพตช์
บทที่ V · เมื่อข้อมูลกลายเป็นคำสั่ง

การเปิดเผยและแพตช์

Fortune: Calif พบปัญหาแรกเมื่อ 1 สิงหาคมโดยใช้โมเดลของ OpenAI และ Wiz ระบุได้เมื่อ 19 สิงหาคม รายงานเริ่มปรากฏช่วงดึกวันที่ 20 ตุลาคมก่อนมีแพตช์ และมูลนิธิ PHP เปิดเผยช่องโหว่พร้อมแพตช์ฉุกเฉินเมื่อ 21 ตุลาคม Cloudflare รายงานความพยายามโจมตีหลายหมื่นครั้งภายใน 45 นาที หลายแสนครั้งภายในสองชั่วโมง และหลายล้านครั้งภายในค่ำวันนั้น AWS ระบุว่าช่องโหว่ถูกใช้โจมตีอย่างกว้างขวาง Paubox: การแก้ไขครอบคลุม PHP รุ่นล่าสุด ผู้ใช้ PHP 8.1 หรือเก่ากว่าควรอัปเกรด CNN (ผ่าน ABC7): NSA เร่งให้บริษัทต่าง ๆ ลงมือทันที

ลองดู: ถ้าเซิร์ฟเวอร์ยังไม่แพตช์ คำขอที่ปลอมตัวมาจะผ่านเข้าไปได้ ถ้าแพตช์แล้วจะถูกปฏิเสธ

คอมพิวเตอร์ สายสัญญาณ และแพ็กเก็ตสามมิติเป็นแบบจำลองอย่างง่ายเพื่อการสอน ไม่ใช่ฮาร์ดแวร์หรือเส้นทางเครือข่ายจริง

แหล่งข้อมูล: Fortune (21 Oct 2026): AI tools discovered the PHP vulnerability; the race is on to patch it; Paubox (Oct 2026): PHP flaws found by AI force governments and major sites offline; ABC7 New York / CNN (22 Oct 2026): websites shut down globally as operators address AI-detected PHP flaw

แพตช์เป็นแค่ส่วนหนึ่งของการป้องกัน เพราะการบุกรุกได้สิทธิ์เท่ากับโปรแกรมที่ถูกเจาะ วิศวกรจึงให้แต่ละโปรแกรมเข้าถึงเฉพาะสิ่งที่จำเป็นจริง ๆ เท่านั้น

ซอฟต์แวร์รุ่นเก่าเป็นความเสี่ยงในตัวมันเอง การแก้ไขครั้งนี้ครอบคลุมเฉพาะ PHP รุ่นล่าสุด เว็บที่ยังใช้ PHP 8.1 หรือเก่ากว่าจึงถูกเรียกร้องให้อัปเกรด

และวิธีค้นพบเองก็เปลี่ยนไป Wiz ระบุว่าเครื่องมือ AI ทำให้ช่องโหว่เหล่านี้ใช้โจมตีได้จริง และเรียกมันว่าจุดเปลี่ยนของยุค AI พูดอีกอย่างคือ เครื่องมือแบบเดียวกันช่วยได้ทั้งฝ่ายป้องกันและฝ่ายโจมตี

แพตช์ ซ่อมรอยร้าวแทนการเฝ้ามัน ภาพนิ่งสร้างด้วย AI
  • ติดตั้งแพตช์อย่างรวดเร็ว
  • ให้โปรแกรมเข้าถึงน้อยที่สุดเท่าที่จำเป็น
  • เลิกใช้รุ่นที่ไม่ได้รับการแก้ไขแล้ว
  • ปิดเว็บไซต์เมื่อไม่แน่ใจ
ชั้นของการป้องกัน
เช้าวันรุ่งขึ้น ห้องปฏิบัติการเฝ้าดูทราฟฟิกหลังการอัปเดต ภาพนิ่งสร้างด้วย AI
PHP 5
ออกปี 2004: รุ่นเก่าสุดที่ CERT-EU ระบุว่าอาจได้รับผล
ย้อนไปไกลแค่ไหน
บทที่ V · เมื่อข้อมูลกลายเป็นคำสั่ง

หลังแพตช์

การโจมตีจะได้สิทธิ์เท่ากับโปรเซสที่มันเจาะเข้าไป การจำกัดสิทธิ์ของแต่ละโปรแกรมจึงจำกัดความเสียหาย (วิกิพีเดีย การรันโค้ดตามอำเภอใจ) Paubox รายงานว่าการแก้ไข PHP ครอบคลุมเฉพาะรุ่นล่าสุด และผู้ใช้ PHP 8.1 หรือเก่ากว่าควรอัปเกรด CERT-EU ระบุว่าช่องโหว่อาจกระทบย้อนไปถึง PHP 5 (2004) CNN (ผ่าน ABC7): Wiz ระบุว่า AI ทำให้ช่องโหว่ใช้โจมตีได้จริง และเรียกเหตุการณ์นี้ว่า “จุดเปลี่ยนของยุค AI”

แหล่งข้อมูล: Wikipedia: arbitrary code execution; Paubox (Oct 2026): PHP flaws found by AI force governments and major sites offline; ABC7 New York / CNN (22 Oct 2026): websites shut down globally as operators address AI-detected PHP flaw

บทส่งท้าย

บทส่งท้าย

ไคลเอนต์ถาม เซิร์ฟเวอร์ตอบ

เว็บยังทำงานแบบเดียวกับปี 1990

จากเครื่องเดียวที่เซิร์นสู่บทสนทนานับไม่ถ้วนในแต่ละวัน เว็บยังทำงานแบบเดียวกับปี 1990 คือไคลเอนต์ถาม แล้วเซิร์ฟเวอร์ตอบ

แต่โปรแกรมที่ตอบเราเขียนขึ้นโดยคน ช่องโหว่ PHP อยู่โดยไม่มีใครสังเกตมานานกว่าสิบปี จนเครื่องมือ AI ช่วยค้นพบ และเครื่องมือเดียวกันจะค้นพบอีก

เว็บจึงเดินหน้าด้วยการแข่งขัน ระหว่างคนที่หาช่องโหว่กับคนที่ติดตั้งการแก้ไข โทรศัพท์และแล็ปท็อปของเราก็อยู่ในการแข่งขันนี้ด้วย ทุกครั้งที่มีอัปเดตรอให้ติดตั้ง

  1. 1989 ข้อเสนอสร้างเว็บ
  2. 1990 เซิร์ฟเวอร์และเบราว์เซอร์แรก
  3. 1994 Personal Home Page Tools
  4. 1999 รายการ CVE เปิดสาธารณะ
  5. 2014 Heartbleed
  6. 2026 แพตช์ PHP2Shell
จากเซิร์นถึง PHP2Shell
10+ ปี
ที่ช่องโหว่ PHP ไม่มีใครสังเกต (Paubox)
ไม่กี่สัปดาห์
ที่ทีมซึ่งใช้ AI ช่วยใช้ค้นพบในเดือนสิงหาคม
ซ่อนอยู่ต่อหน้าต่อตา
  • ติดตั้งอัปเดตระบบและแอป
  • อัปเดตเบราว์เซอร์ให้เป็นรุ่นล่าสุด
  • ลบแอปที่ไม่ได้ใช้แล้ว
ฝั่งของเราในการแข่งขัน
บทส่งท้าย · แหล่งข้อมูล

แหล่งข้อมูล

ข้อเท็จจริงทุกข้อในภาพยนตร์นี้มาจากแหล่งด้านล่าง ภาพนิ่งประจำบทและภาพประกอบสร้างด้วย AI ไม่ใช่ภาพถ่าย คอมพิวเตอร์ สายสัญญาณ แพ็กเก็ต และหอคอยสามมิติเป็นแบบจำลองอย่างง่ายเพื่อการสอน รายละเอียดของช่องโหว่ PHP2Shell เป็นไปตามรายงานวันที่ 21–22 ตุลาคม 2026 และอาจมีการปรับปรุง

แหล่งข้อมูล: Fortune (21 Oct 2026): AI tools discovered the PHP vulnerability; the race is on to patch it; ABC7 New York / CNN (22 Oct 2026): websites shut down globally as operators address AI-detected PHP flaw; Paubox (Oct 2026): PHP flaws found by AI force governments and major sites offline; CERN: a short history of the Web; MDN Web Docs: how the web works; MDN Web Docs: introduction to the server side (static and dynamic sites); PHP Manual: history of PHP; W3Techs: usage statistics of PHP for websites (22 Oct 2026); Wikipedia: arbitrary code execution; Tripwire: the history of Common Vulnerabilities and Exposures (CVE); Netcraft (7 Apr 2014): half a million widely trusted websites vulnerable to Heartbleed bug