ที่มา : zone-it.com, unixwiz.net
# Code injection : เป็นเทคนิคที่สามารถทำให้โค้ด ทำงานอย่างอื่นได้นี่เป็นเทคนิคที่พวกแฮกเกอร์ และแครกเกอร์ใช้เป็นประจำเพื่อที่จะเข้าไปยังระบบโดยไม่ได้อนุญาติ
ตัวอย่างการ Injection
# SQL Injection
# มีเว็บเพจอยู่หน้าหนึ่ง มีช่องสองช่อง ให้ผู้ใช้ใส่ Username และ Password
# เบื้องหลังโปรแกรมนั้น จะรันคำสั่ง SQL เพื่อเช็ครหัสผ่านของผู้ใช้
SELECT Username FROM Users
WHERE username = '$username' AND password = '$password'
# ถ้าเราใส่ข้อมูลว่า username เป็น someone และใส่ password เป็น ' OR 1 = '1 คำสั่ง SQL จะเป็น
SELECT Username FROM Users
WHERE username = 'someone' AND password = ' ' OR 1 ='1'
# จากคำสั่งที่เห็น มันจะส่งค่าที่เป็นจริงมาเสมอครับ
# การป้องกันเบื้องต้น
1. หลีกเลี่ยงตัวเเปรเเบบ Global
2. พยายามใช้หน้าใดหน้านึงเป็นหน้าหลักเเล้วค่อย Include หน้าอื่นเอา
3. หมั่นกรองตัวแปร string ด้วย htmlentities( ) strip_tags( ) utf8_decode( ) htmlspecialchars ( )
add/stripslashes ( ) md5 ( ) escapeshellcmd ( ) ฯลฯ
4. รัดกุม หรือ หลีกเลี่ยง เรื่อง cross-site scripting หรือพวก ระบบ back-end
5. เน้น Define ( ค่าคงที่ ) แต่ ลด Session
6. ใช้การ encrypt / decrypt เข้ามาช่วยในการเก็บข้อมูลใน DB
7. เป็นไปได้ให้ เช็ค ip ของผู้เข้าใช้ ส่วนของ admin เลยยิ่งดี
# PHP Injection
สมมติเรามีโค้ด
<form>
<select name="COLOR"> <option value="red">red <option value="blue">blueการป้องกัน - หรองข้อมูลให้เป็นอย่างใดอย่างนึงเท่านั้น
# Shell Injection : การทำให้โค้ด รับโปรแกรม Unix เอง อย่างเช่น เราเขียนโปรแกรมมาให้มันส่งข้อความจากโปรแกรม funnytext
# โปรแกรมนี้ สามารถ Inject ได้หลายวิธีครับ
`command` จะรันคำสั่งอีกคำสั่งได้
$(command) จะรันคำสั่งอีกคำสั่งได้
;command จะรันคำสั่งอีกคำสั่งได้ และส่งค่ากลับไปยังเซอร์เวอร์
command จะรันคำสั่งอีกคำสั่งได้ และส่งค่ากลับไปยังเซอร์เวอร์
command จะรันคำสั่งอีกคำสั่งได้ และส่งค่ากลับไปยังเซอร์เวอร์
&& command จะรันคำสั่งอีกคำสั่งได้ และส่งค่ากลับไปยังเซอร์เวอร์
> /home/user/phpguru/.bashrc จะเป็นการแก้ไฟล์ /home/user/phpguru/.bashrc ด้วยคำแปลกๆ ที่ผู้ใช้ส่งไป
< /home/user/phpguru/.bashrc จะเป็นการนำไฟล์ /home/user/phpguru/.bashrc มาเป็น command line
# Cross site scripting (XSS) : Cross Site Scripting เป็นการรันข้อมูลอันตรายบนเว็บอีกแบบ มันเคยมีตัวย่อว่า CSS แต่ว่า มันซ้ำกับ , Cascading Style Sheets และก้อ Content-Scrambling System จึงเปลี่ยนชื่อเป็น XSS
# เหตุการจำลอง
XSS แบบที่ 0
1. แมลอรี่ส่งลิ้งค์ไปให้อลิซ ไม่ว่าจะโดย e-mail หรือ msn หรืออะไรก้อตาม ลิ้งค์นั้นเป็นเว็บที่มีโค้ดไม่ดีอยู่
2. อลิซ คลิกที่ลิ้งค์
3. JavaScript ในเพจนั้น รันข้อมูล และลงโปรแกรมต่างๆ ในเครื่อง
4. โปรแกรมสามารถรันในเครื่องได้เลย
5. โปรแกรมสามารถเจาะข้อมูลต่างๆ ได้หมด
XSS แบบที่ 1
1. อลิสเข้าเว็บหนึ่งเป็นประจำ เป็นเว็บของบ๊อบ
2. แมลอรี่รู้ว่าเว็บบองลบ๊อบ มีรูรั่ว XSS
3. แมลอรี่เข้าสู่ระบบผู้ควบคุมแล้วส่งลิ้งค์ไปให้อลิซ โดยที่ให้เหมือนว่าส่งมาจากบ๊อบ
4. อลิซคลิกที่ลิ้งค์
5. หากโปรแกรมอยู่บนโดเมนของบ๊อม โปรแกรมสามารถที่จะส่งข้อมูล เช่น รายการสั่งซื้อ รหัว เครติต หรือข้อมูลในการล๊อกอินได้ หรือไม่ โปรแกรมมาจจะลงข้อมูลต่างๆ ก้อได้
XSS แบบที่ 3
1. บ๊อบโฮสต์เว็บบอร์ดไว้
2. แมลอรี่รู้ว่าเว็บบองลบ๊อบ มีรูรั่ว XSS คือข้อมูลที่พิมพ์ลงไป ไม่ผ่าน HTMLSpecialChars
3. แมลอรี่ส่งลิ้งค์โค้ดไปยังเว็บบอร์ด แล้วตั้งหัวข้อให้คนมาอ่าน
4. พอคนเข้ามาดู โปรแกรมจะ.....
# โค้ดที่สามารถให้ในการ Injection สามารถดูได้ที่เว็บนี้ ha.ckers.org
Subscribe to:
Post Comments (Atom)
Popular Posts
-
Font เลือกเป็น Wingdings 2 เครื่องหมายถูก Shift + P เครื่องหมายผิด Shift + O ซึ่งเราสามารถใช้ Font Wingdings 2 ใน OpenOffice เพื่อเพิ่มเครื...
-
คือเครื่องเสียงในบ้าน เป็นแบบมีรู Microphone 3 รูและ AUX (เสียงเข้าเครื่องเสียง) 2 ชุด มีไมค์ 1 ตัวและ AUX 1 ชุดเสียบสาย ปัญหาคือ พอเปิด ไม...
-
ขั้นแรกต้องตั้งค่าซองก่อนโดยไปที่ menu tab Start Mail Merge => Envelopes เลือก template size ได้ตามต้องการ หรือจะกำหนดขนาดเองเลยโดยเลือก ...
-
http://football.sodazaa.com/
-
ที่มา : http://www.pcthailand.com/th/index.php?option=com_content&view=article&id=64:-regedit-&catid=40:2009-07-02-10-59-36...
-
ปัญหาคือ เราเข้าเว็บไซต์ อันนี้แล้ว ปัญหาภาษาไทย มันแสดงเป็นต่างดาวซะงั้น Solved Options => Under the Hood => Web Content ค...
-
คือ จะใช้ printer ที่เค้าแชร์ไว้ แต่มันดันถาม User, password ซะงั้น ทั้งที่ Enable Guest แล้วนะ ไม่รู้ Guest เครื่องนั้นมีใครไปตั้งรหัสให้หร...
-
This summary is not available. Please click here to view the post.
-
อ้างอิง - http://www.sysnetcenter.com/board/index.php?topic=2028.0 <== อ่านเข้าใจง่าย ประเด็นมีอยู่ว่า เพื่อนที่ทำงานแนะนำ AP แบบ ใช้สำ...
-
nvarchar กับ varchar จะต่างกันตรง nvarchar จะเก็บตัวอักษรที่ใช้ code เป็น unicode ได้ ซึ่ง 1 ตัวอักษรจะใช้แค่ 2 byte ในการเก็บส่วน varchar...
No comments:
Post a Comment