ไม่มีอะไรสมบูรณ์แบบ ดังนั้น ช่องโหว่จึงหลีกเลี่ยงไม่ได้ หลังจากเกิดช่องโหว่แล้ว มาตรการรับมือต่างๆ จะตามมา เช่น การเปลี่ยนคำต่อท้ายฐานข้อมูล เปลี่ยนชื่อฐานข้อมูล เป็นต้น หลายคนคิดว่าการทำเช่นนี้จะช่วยแก้ปัญหาได้ แต่ความจริงมักไม่ใช่สิ่งที่คุณและฉันต้องการ แม้ว่าคุณจะทำเช่นนี้ คุณจะไม่สามารถหลีกหนีชะตากรรมของการถูกโจมตีโดยปรมาจารย์ได้
ในฐานะนักฆ่าอันดับหนึ่งของช่องโหว่ของสคริปต์ ช่องโหว่ในการดาวน์โหลดฐานข้อมูลจึงเป็นที่รู้จักของผู้คนเพิ่มมากขึ้นเรื่อยๆ ในยุคแห่งการอัพเดตเทคโนโลยีสารสนเทศที่รวดเร็วเช่นนี้ มาตรการรับมือต่าง ๆ จะถูกติดตามหลังเกิดช่องโหว่ เช่น การเปลี่ยนคำต่อท้ายฐานข้อมูล การเปลี่ยนชื่อฐานข้อมูล เป็นต้น หลายคนคิดว่าการทำเช่นนี้จะช่วยแก้ปัญหาได้ แต่ความจริงมักไม่ใช่สิ่งที่คุณและฉันต้องการ แม้ว่าคุณจะทำเช่นนี้ คุณจะไม่สามารถหลีกหนีชะตากรรมของการถูกโจมตีโดยปรมาจารย์ได้ ด้วยเหตุนี้ เราจึงจำเป็นต้องเข้าใจเทคนิคการโจมตีบางอย่างเพื่อพัฒนาทักษะด้านความปลอดภัยของเรา
1. บังคับให้ดาวน์โหลดไฟล์ฐานข้อมูลที่มีชื่อต่อท้ายเป็น ASP และ ASA
เพื่อประหยัดเวลา ผู้ดูแลระบบเครือข่ายส่วนใหญ่ดาวน์โหลดโปรแกรมต้นฉบับของผู้อื่นโดยตรงสำหรับระบบบทความ ฟอรัม และโปรแกรมอื่น ๆ บนเว็บไซต์ของตน แล้วจึงใช้งานหลังจากแก้ไขบางอย่าง ในปัจจุบัน โปรแกรมซอร์ส ASP ของคนจำนวนมากได้เปลี่ยนส่วนต่อท้ายฐานข้อมูลจาก MDB ดั้งเดิมเป็น ASP หรือ ASA เดิมทีนี่เป็นสิ่งที่ดี แต่ในสังคมนี้ที่มีข้อมูลที่กว้างขวางมาก วิธีการแบบเก่าสามารถคงอยู่ได้ในระยะเวลาที่จำกัดเท่านั้น สำหรับไฟล์ฐานข้อมูลที่มีส่วนต่อท้าย ASP หรือ ASA แฮกเกอร์สามารถดาวน์โหลดได้อย่างง่ายดายโดยใช้ซอฟต์แวร์ดาวน์โหลด เช่น Thunder ตราบใดที่พวกเขาทราบตำแหน่งที่เก็บข้อมูล รูปที่ 1 คือไฟล์ฐานข้อมูลที่ผู้เขียนดาวน์โหลดโดยใช้ Thunder (โปรดทราบว่าส่วนต่อท้ายของฐานข้อมูลคือ ASP)
2. สัญลักษณ์ร้ายแรง-#
ผู้ดูแลระบบเครือข่ายหลายคนคิดว่าการเพิ่มเครื่องหมาย # หน้าฐานข้อมูลสามารถป้องกันไม่ให้ดาวน์โหลดฐานข้อมูลได้ ใช่ ฉันยังคิดว่า IE ไม่สามารถดาวน์โหลดไฟล์ที่มีเครื่องหมาย # ได้ (IE จะเพิกเฉยต่อเนื้อหาที่อยู่หลังเครื่องหมาย # โดยอัตโนมัติ) แต่ความสำเร็จก็คือความล้มเหลวเช่นกัน และเราลืมไปว่าหน้าเว็บไม่สามารถเข้าถึงได้ด้วยวิธีการธรรมดาเท่านั้น แต่ยังสามารถเข้าถึงได้โดยใช้เทคโนโลยีการเข้ารหัสของ IE อีกด้วย
ใน IE อักขระแต่ละตัวจะสอดคล้องกับโค้ด และอักขระโค้ด %23 สามารถแทนที่เครื่องหมาย # ได้ ด้วยวิธีนี้ เรายังคงสามารถดาวน์โหลดไฟล์ฐานข้อมูลที่มีการแก้ไขส่วนต่อท้ายและเพิ่มเครื่องหมาย # เท่านั้น ตัวอย่างเช่น #data.mdb เป็นไฟล์ที่เราต้องการดาวน์โหลด เราเพียงต้องป้อน %23data.mdb ในเบราว์เซอร์เพื่อดาวน์โหลดไฟล์ฐานข้อมูลโดยใช้ IE ด้วยวิธีนี้ วิธีการป้องกัน # จึงไม่มีประโยชน์
3. การถอดรหัสฐานข้อมูลที่เข้ารหัสการเข้าถึงเป็นเรื่องง่าย
ผู้ดูแลระบบเครือข่ายบางคนต้องการเข้ารหัสฐานข้อมูล Access โดยคิดว่าแม้ว่าแฮกเกอร์จะได้ฐานข้อมูลมา ก็ยังต้องใช้รหัสผ่านในการเปิดฐานข้อมูล แต่สิ่งที่ตรงกันข้ามนั้นเป็นจริง เนื่องจากอัลกอริธึมการเข้ารหัสของ Access นั้นเปราะบางเกินไป แฮกเกอร์สามารถรับรหัสผ่านได้อย่างง่ายดายในเวลาเพียงไม่กี่วินาทีโดยเพียงแค่ค้นหาซอฟต์แวร์บนอินเทอร์เน็ตที่สามารถถอดรหัสรหัสผ่านฐานข้อมูล Access ได้ มีซอฟต์แวร์ดังกล่าวออนไลน์อยู่มากมาย เช่น Accesskey
4. เทคโนโลยีฐานข้อมูล kill-data ทันที
ฐานข้อมูล Exploit Technology เองควรอยู่ในอันดับของช่องโหว่ของสคริปต์ เหตุผลที่ฉันพูดถึงเรื่องนี้ก็เพราะว่ามีบทบาทสำคัญในการดาวน์โหลดฐานข้อมูล ช่องโหว่ หากคุณดูให้ดี ๆ ผู้อ่านจะพบว่าเทคนิคข้างต้นถือว่าคุณรู้ ชื่อฐานข้อมูลสามารถใช้ได้ภายใต้สถานการณ์บางอย่างเท่านั้น แต่หลายครั้งที่เราไม่สามารถทราบชื่อฐานข้อมูลได้ ในเวลานี้ เราอาจรู้สึกหงุดหงิดมากและรู้สึกว่าไม่สามารถดำเนินการต่อไปได้ อย่างไรก็ตาม การเกิดขึ้นของเทคโนโลยีฐานข้อมูลไม่เพียงแต่สามารถขจัดความยุ่งยากใจของเราได้เท่านั้น ยังช่วยให้เราสามารถผสมผสานและใช้งานเทคโนโลยีก่อนหน้านี้ได้อย่างแท้จริง
เมื่อหลายๆ คนใช้ ASP เพื่อเขียนไฟล์การเชื่อมต่อข้อมูล พวกเขามักจะเขียนดังนี้ (conn.asp):
- -
- db=data/rds_dbd32rfd213fg.mdb
- Setconn=Server.CreateObject(ADODB.การเชื่อมต่อ)
- connstr=ผู้ให้บริการ=Microsoft.Jet.OLEDB.4.0;DataSource=&Server.MapPath(db)
- conn.Openconnstr
- ฟังก์ชั่นCloseDatabase
- คอน.ปิด
- Setconn=ไม่มีอะไร
- -
ดูเหมือนว่าคำสั่งนี้จะไม่มีปัญหา และชื่อของฐานข้อมูลก็แปลกมาก หากไม่มีเทคโนโลยี bruteforce ของฐานข้อมูล โอกาสที่เราจะเดาชื่อฐานข้อมูลดังกล่าวได้ก็แทบจะเป็นศูนย์ แต่ประโยคสั้นๆ ดังกล่าวกลับซ่อนข้อมูลที่ไม่มีที่สิ้นสุด อาจกล่าวได้ว่าโปรแกรมส่วนใหญ่บนอินเทอร์เน็ตมีช่องโหว่นี้ เราเพียงแค่ต้องแทนที่ / หน้าไฟล์การเชื่อมต่อข้อมูล conn.asp (โดยปกติจะเป็นสิ่งนี้) ด้วย %5c บนแถบที่อยู่เพื่อเข้าถึงตำแหน่งของฐานข้อมูล ฉันไม่จำเป็นต้องพูดสิ่งต่อไปใช่ไหม แค่ต้องใช้สมองทำอะไรไม่ได้เลย
ข้างต้นคือเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่าคุณทุกคนจะชอบมัน