SQL

A Hacker's Diary ตอน SQL Injection ภาคต่อ


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

ความเดิมจากตอนที่แล้ว หลังจากที่ผมใช้ SQL Injection เพื่อแก้ไขข้อมูลในตารางที่ชื่อว่า booklist ซึ่งเก็บข้อมูลราคาหนังสือของร้านหนังสือ buggybookstore.com แล้วก็เดินไปซื้อหนังสืออย่างสบายใจเฉิบ 555 แต่กระนั้นผมก็สามารถแก้ไขข้อมูลได้เพียงแค่ตารางเดียว วันนี้ผมจะมาเปิดเผยเวทย์มนต์ของเหล่าแฮกเกอร์ที่ใช้ SQL Injection ในการล้วงข้อมูลสำคัญอื่น ๆ ที่อยู่ในฐานข้อมูล หรือแม้กระทั่งเรียกใช้คำสั่งของระบบปฎิบัติการ วิธีที่ผมจะนำเสนอต่อไปนี้ใช้ได้กับเฉพาะ MS SQL Server เท่านั้นนะครับ ถ้าเป็นระบบฐานข้อมูลอื่นก็ลองพลิกแพลงเอาเองนะครับ

ในระบบ ฐานข้อมูลที่เด่น ๆ เช่น Oracle, MS-SQL, PostgreSQL จะมีการเก็บ metadata ของฐานข้อมูลไว้ด้วย metadata เหล่านี้ก็ได้แก่ชื่อตารางพร้อมทั้งฟิลด์ของตารางนั้น ๆ ที่อยู่ในระบบฐานข้อมูล, ชื่อฐานข้อมูล, version เป็นต้น ซึ่งข้อมูล metadata เหล่านี้ช่วยเราได้มากในการเจาะระบบในขั้นต่อ ๆ ไป มาเริ่มกันเลยดีกว่าครับ หลังจากที่ผมแก้ข้อมูลราคาได้แล้วก็ยังไม่หนำใจครับ ผมอยากจะทราบว่าในระบบฐานข้อมูลของ buggybookstore.com นั้นมีตารางชื่ออะไรบ้าง จากตอนที่แล้วผมได้แสดงให้เห็นว่าการแสดง Error Message อันไม่พึงประสงค์นั้นอันตรายแค่ไหน ผมก็โจมตีตรงจุดนั้นต่อครับ เพื่อใช้ประโยชน์จาก ODBC Error Messages ให้มากที่สุดครับ คือให้ Error Message แสดงข้อมูล Meta Data เหล่านี้นี่เอง โดยอันดับแรกที่ผมจะทำก็คือการแจกแจงดูว่าในฐานข้อมูลนี้มีตารางอะไรบ้าง และในแต่ละตารางมีฟิลด์อะไรบ้าง มาเริ่มกันเลยดีกว่าครับ

A Hacker's Diary ตอน SQL Injection


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

วันนี้ก็เหมือนกับทุก ๆ วันผมตื่นมาอาบน้ำแต่งตัวกินข้าวเช้าเสร็จแล้วไม่มีอะไรทำก็เข้ามาท่องเน็ตตามปกติ พอดีนึกขึ้นได้ว่าอยากได้หนังสืออยู่เล่มหนึ่งชื่อว่า "The Web Application Hacker's Handbook: Discovering and Exploiting Security Flaws" ผมจึงเ้ข้าไปที่เว็บไซต์ของร้านหนังสือที่ผมซื้อหนังสือเป็นประจำ คือ www.buggybookstore.com ผมก็คลิก ไปเรื่อย ๆ จนถึงหนังสือที่ผมต้องการซื้อซึ่ง URL ของหน้าที่แสดงข้อมูลของหนังสือเล่มดังกล่าวเป็นดังนี้

http://www.buggybookstore.com/cgi-bin/description.asp?isbn=0470170778

เมื่อเข้าไปดูหนังสือที่อยากได้แต่ผมถึงกับช็อก เพราะว่าหนังสือเล่มนี้ทำไมแพงจัง ราคาตั้ง 1800 บาท ในที่สุดจิตใจด้านมืดของผมก็เข้าครอบงำผมต้องหาทางลดราคาหนังสือเล่มนี้ให้ได้ และแล้วการเปิดศึกระหว่างผมและเว็บแอพพลิเคชั่นของเว็บไซต์ buggybookstore.com ก็เริ่มขึ้น...

ญาณรักข์ วรรณสาย
Syndicate content