Posts Tagged ‘ security

ตัวแปรแบบ dynamic (Dynamic Variables) 17 October 2008 at 2:13 am by tumaji

����������� เนื่องจากผมได้เจอคำถามจากเพื่อนสมาชิกใน board thaiseoboard.com ตั้งคำถามว่า

// read POST variables if present
foreach ($_POST as $name => $value) {�
������ $$name = $value;
}

Script บรรทัดนี้หมายความว่ายังไง ก็เลยเป็นเหตุได้เขียนบทความนี้

������������ ที่เป็นคำถามเพราะว่าเจอตัวแปรที่มี $$ นำหน้า ซึ่งปกติทั่วไปจะเป็น $ อันเดียว ลักษณะที่เป็น $$ �เป็นการสร้างตัวแปรแบบ dynamic �เช่น

$name = 'test' ;
$$name จะหมายถึง $test
การรับค่า $$name = 1 ;
ก็แสดงว่า $test มีค่าเท่ากับ 1

อันนี้น่าจะพอเข้าใจกันแล้ว ทีนี้มาดูจุดมุ่งหมายของ Script นี้

// read POST variables if present
foreach ($_POST as $name => $value) {� // name เป็น index ของ array
������ $$name = $value; // ส่งค่าให้กับตัวแปร
}


จาก script เป็นการแก้ปัญหาการ config register_globals = Off ใน php.ini �ซึ่งค่าจาก form จะอยู่ในรูป $_POST['test'] ,$_GET['test'] ไม่สามารถ เอา $test มาใช้ได้เลยทันที แต่ถ้า register_globals = On จะสามารถใช้ $test ได้เลย
ด้วยเหตุนี้ถ้าไม่สามารถแก้ php.ini ได้(กรณีเช่าโฮสอยู่) ก็มาแก้ที่โปรแกรมโดยการวนลูป� $_POST ซึ่งเป็น array แล้วส่งค่าให้กับตัวแปรตามค่า index ของมันซึ่งค่า index ของมันก็คือชื่อตัวแปรนั้นเอง

ตัวอย่างเช่นใน form มีการส่งค่า username=var1 และ password=var2 มา� ในการรับค่าจาก form จะได้เป็น $_POST[‘username'] และ $_POST[‘password'] �โดยในรูปแบบ array จะเป็น (‘username’=>var1 ,’password’=>var2)

ปล. register_globals = Off� แนะนำให้ใช้เพราะเหตุผลทางด้าน security ครับ อีกตัว magic_quotes_gpc = On ป้องกัน Sql injection ครับ

+ รู้ทันป้องกัน “Phishing” By tumaji 02 August 2008 at 1:46 pm and have No Comments

พอดีวันนี้ผมได้รับเมล์แปลกๆจากธนาคารแห่งนึง ด้วยความที่ผมไม่เคยใช้บริการของที่นั้นเลยแปลกใจว่าทำไมจึงส่งเมล์มาให้และจากประสบการณ์ที่เรียนวิชา Advance IT Security มาเลยทำให้พอจะเดาออกว่าต้องเป็น Phishing [1,2] แน่ๆ� ก็เลยจัดการดูที่ link ที่ส่งไปก็เลยรู้ว่า phishing จริงด้วย

ข้อควรปฏิบัติในกรณีเจอเหตุการแบบนี้

  1. ตรวจสอบให้แจ่ในก่อนว่าเป็นเมล์ของธนาคารจริง เช่นดู link ดังภาพ
  2. ถ้าไม่แน่ใจให้สอบถามไปที่ธนาคารโดยตรงเช่นโทรติดต่อแบบนี้แน่นอนกว่า
  3. ลบเมล์ทิ้งเลย :)

Phishing� [1] คือ การโจมตีในรูปแบบของการปลอมแปลงอี-เมล์ (Email Spoofing) และทำการสร้างเว็บไซต์ปลอม เพื่อทำการหลอกลวงให้เหยื่อหรือผู้รับอี-เมล์เปิดเผยข้อมูลทางด้านการเงินหรือข้อมูลส่วนบุคคลอื่นๆ อาทิ ข้อมูลของหมายเลขบัตรเครดิต บัญชีผู้ใช้ (Username) และ รหัสผ่าน (Password) หมายเลขบัตรประจำตัวประชาชน หรือข้อมูลส่วนบุคคลอื่นๆ

Phishing สามารถทำได้โดยการขโมยหรือนำเครื่องหมายหรือสัญลักษณ์ตลอดจนรูปลักษณ์ของธนาคารหรือสถาบันการเงินที่มีชื่อเสียง และบัตรเครดิตประเภทต่างๆของผู้ประกอบการ การให้สินเชื่อทางอินเตอร์เน็ต มาประกอบเข้ากับการหลอกลวงเหยื่อหรือผู้ใช้ให้เปิดเผยข้อมูล ซึ่งมีการประเมินเบื้องต้นว่า การโจมตีในรูปแบบของ phishing สามารถหลอกให้เหยื่อร้อยละ 5 ของทั้งหมด เปิดเผยข้อมูลที่ต้องการ นอกจากนี้ ผู้โจมตี (Hacker หรือ Spammer) ยังใช้ยุทธวิธีการหลอกลวงแบบ Social Engineering ประกอบเพิ่มเติม เพื่อให้มีความน่าเชื่อถือยิ่งขึ้น เช่น การหลอกลวงชื่ออี-เมล์ เป็นต้นว่า เป็นเรื่องด่วนจากธนาคาร การหลอกลวงว่าบัญชีที่ใช้งานจะหมดอายุ การเสนอสินค้าที่มีดอกเบี้ยต่ำต่างๆ เป็นต้น

เนื่องจากการโจมตีแบบ phishing ได้มีการแพร่ระบาดไปในหลายประเทศ ซึ่งทำให้คาดการณ์ได้ว่า อาจมีการแพร่เข้ามาในประเทศไทยในอีกไม่นานนี้ จึงมีความจำเป็นต้องแจ้งให้ประชาชนได้รับทราบถึงภัยที่มีความรุนแรงนี้

อ้างอิง

[1] เทคนิคการโจมตีแบบ “Phishing”, http://www.thaicert.org/paper/basic/phishing.php
[2] Phishing, http://en.wikipedia.org/wiki/Phishing