พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com
Javascript development / ช่วยด้วย โดน Hack
goragod
goragod
Mon 11 Sep 2006 23:21:31

ผมโดน Hack ครับ คือผมทำ Chat room ใช้ AJAX ครับ เขาใช้เทคนิค Javascript Injection เข้ามาแทนที่ Javascript ของผม แล้ว run คำสั่งเขาแทนครับ ผมอยากทราบว่ามีเทคนิคอะไร ในการตรวจสอบว่ามาจาก เว็บหรือ java ได้ยังไงครับ หรือมีวิธีป้องกันอะไร เท่าที่รู้ คือตอนนี้ เขาสามารถเข้าถึงข้อมูลต่างๆบนเว็บได้แล้วครับ

ลองไปดูที่ http://goragod.mwfhost.com ครับ

Administrator
Tue 12 Sep 2006 00:40:18
ในส่วนของ code php นั้นให้ทำการตรวจสอบด้วย $_SERVER["HTTP_REFERER"] ครับว่ามาจากไหนถ้ามีการเรียกจาก server เดียวกันและเป็นไฟล์ที่เราเขียนหรือไม่ครับ

อีกอย่างครับจากโค๊ด javascript ที่แยกไว้นั้นนอกจากจะมี comment แล้ว ควรเปลี่ยนเป็น php แทนครับโดยเปลี่ยนเป็น
<script language="JavaScript" SRC="chat.php"></script>
จากนั้นใน chat.php นั้นให้ทำการตรวจสอบว่ามี $_SERVER["HTTP_REFERER"] มาจากไฟล์ของเราเท่านั้นหรือไม่ครับ ถ้าไม่ใช่ให้แสดงข้อความใดๆแล้ว exit; ทันที ถ้ามาจากไฟล์ที่กำหนดก็ให้ส่งโค๊ด javascript เหล่านั้นออกมาครับ

ที่สำคัญตอนนี้ต้องเปลี่ยนชื่อตัวแปรทั้งหมดใหม่ด้วยครับ
goragod
goragod
Tue 12 Sep 2006 10:37:37

ขอบคุณครับ สำหรับคำแนะนำ ผมขอให้ความเห็นเพิ่มเติมดังนี้ครับ

จากการตรวจสอบ Referer แล้วทั้งหมด ผมพบว่า มันถูกต้องทั้งหมดครับ ทั้ง Referrer ในส่วนของ PHP และ Javascript ครับ ผมไม่สามารถตรวจสอบได้ว่า อันไหนจริงหรือปลอมครับ คนที่ท่านคุยด้วยเมื่อคืน นั่นแหละครับ คนปล่อยของ

เขาใช้วิธีแทนที่ script ของผมด้วย script ของเขาครับ ซึ่งก็เท่ากับว่า script ของเขา run อยู่จริงบนเครื่องครับ ค่าต่างๆเลยถูกต้องทั้งหมด ผมใช้ AJAX ครับ เลยหลีกเลี่ยงไม่ได้ที่ต้องใช้ Javascript และที่น่ากลัวยิ่งกว่านั้น เขาสามารถ Hack เอาไฟล์บนเครื่องไปได้ด้วย

ผมคิดว่าเป็นจุดอ่อนที่แย่มากๆ ที่ IE ยอมให้ใช้ Javascript Injection ได้ มันน่ากลัวมากครับ ถ้ามีใครรู้วิธีนี้ เพราะวิธีการมันง่าย แต่ป้องกันยากครับ

ถ้ามีความเห็น โพสต์ไว้ที่นี่ หรือจะตามไปคุยกับผมที่ chat ก็ได้ครับ ขอบคุณครับ

Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login