มกราคม 28, 2021, 04:34:27 PM *
ยินดีต้อนรับคุณ, บุคคลไม่รู้ว่าใคร กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
หน้า: [1]   ลงล่าง
  พิมพ์  
การโจมตีแบบที่ 7 SQL Injection + การป้องกัน  (อ่าน 4145 ครั้ง)
ไร้คอนเซปต์ *** ออฟไลน์ ออฟไลน์ เพศ: ชาย พลังสะสม: 1669
พฤษภาคม 09, 2007, 05:22:11 PM
ผลงาน: 193
2t
แฟนคลับ
ไร้คอนเซปต์
***

ผลงาน: 193
ออฟไลน์ ออฟไลน์

เพศ: ชาย
พลังสะสม: 1669

เว็บไซต์
« เมื่อ: พฤษภาคม 09, 2007, 05:22:11 PM »
การโจมตีแบบที่ 7 SQL Injection

เป็นการ Hack ผ่าน SQL Command ตัวอย่างที่เจอบ่อย ๆ เกิดจากความไม่ระวังของ Programmer เองขอยกตัวอย่างหน้า Login ที่เปิด DB เพื่อตรวจสอบ Username และ Password

SQL="select * from tableUser Where username='" & txtUsername &"' and password='" & txtPassword &"'"

โดย SQL ด้านบนจะ Run ผ่านหน้า Login เมือผู้ใช้กรอก Username และ Password แล้ว
สมมุติน่ะครับ ว่าถ้า User กรอกข้อมูลดังนี้

txtUsername="user"
txtPassword= "pass' or 'x'='x'"

ตอนที่นำมาประมวลผลก็จะได้ Query String เต็ม ๆ คือ

SQL="select * from tableUser Where username='user' and password=pass' or 'x'='x' "

จุดที่น่าสนใจของ Query String ด้านบนคือ 'x'='x'  ถ้าเปรียบเทียบทางลอจิกมันจะเท่ากัน ดังนั้นเงื่อนไขก็เป็นจริง และเมื่อนำ 'x'='x' ไป OR กับ เงื่อนไขอื่น ๆ ก็เป็นจริงไปด้วย ดังนั้น Query String ด้านบนมันก็จะไม่สนใจแล้วว่า username และ password จะถูกต้องหรือไม่ เพราะ Query String เป็นจริงแล้วก็เข้าสู่ระบบต่อได้

วิธีป้องกัน
แทก Code ตัวอย่างด้านล่าง ก่อน Submit ลง Databases

Value1= Request("Value1") ' ค่าที่รับมาจาก TextBox
Value1=Replace(Value1,"'","") ' Replace เอา '  ออกหรือเอาแบบที่ใช้กับ HTML Syntax มาใช้เลยก็ได้ คือ Replace Control Code ที่สำคัญออกทั้งหมด

อีกอย่างที่ควรทำคือการกำหนดให้ TextBox กรอกข้อมูลได้ เฉพาะ a-z,0-9 ด้วยก็ได้ ทั้งนี้ขึ้นอยู่กับนโยบายหรือแผนที่วางไว้ว่าจะป้องกันแค่ไหนดี

ผ่านพ้นคืนวันที่ทำเพื่อชาติ
อีกกี่วันคืนจะได้ทำเพื่อตัวและหัวใจ
ไร้คอนเซปต์ ****** ออฟไลน์ ออฟไลน์ เพศ: ชาย พลังสะสม: 9130 นิค ณ ระยอง
พฤษภาคม 10, 2007, 08:24:10 AM
ผลงาน: 6767
nick_indy
๛ เทพไร้คอนเซปต์ ๛
ไร้คอนเซปต์
******

ผลงาน: 6767
ออฟไลน์ ออฟไลน์

เพศ: ชาย
พลังสะสม: 9130


นิค ณ ระยอง

เว็บไซต์
« ตอบ #1 เมื่อ: พฤษภาคม 10, 2007, 08:24:10 AM »
แบบนี่ แหละ ที่ ชอบ โจมตี PHP-Nuke
ขั้น 3 : ซุปเปอร์สตาร์ ** ออฟไลน์ ออฟไลน์ เพศ: ชาย พลังสะสม: 568
พฤษภาคม 10, 2007, 08:30:21 AM
ผลงาน: -56
[V]inle[P]rince
ขั้น 3 : ซุปเปอร์สตาร์
**

ผลงาน: -56
ออฟไลน์ ออฟไลน์

เพศ: ชาย
พลังสะสม: 568

I'm lovely C.C.

« ตอบ #2 เมื่อ: พฤษภาคม 10, 2007, 08:30:21 AM »
วิธีนี้ เมื่อ 2 ปีก่อนใช้ hack กันกระจุย
พอเดี๋ยวนี้แทบจะใช้ไม่ได้ -*-
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

Powered by MySQL Powered by PHP Valid XHTML 1.0! Valid CSS!