Day: July 29, 2016

  • การ upgrade PHP to new version on IIS ด้วยวิธีง่ายๆ

    เคยเขียนบทความเกี่ยวกับการ upgrade PHP 5.2 to 5.3 ไปเมื่อปีที่แล้ว (Apache 2.2 + PHP 5.2 + phpMyAdmin on Windows 8.1)

    วันนี้ขอนำเสนอการ upgrade เวอร์ชั่นของ PHP บน IIS (Windows Server 2012 R2) ด้วยวิธีที่แสนจะง่ายดาย

    ***ใครทราบวิธีการแล้วก็ผ่านไปเลยนะคับ ^^ เขียนไว้เผื่อบางท่านที่ยังไม่รู้เนอะ

    ขั้นตอนการ upgrade

    1. check PHP เวอร์ชั่นที่เราใช้ปัจจุบันก่อนว่าเป็นเวอร์ชั่นอะไร ด้วยการสร้างไฟล์ phpinfo.php เก็บไว้ที่ web root แล้วเขียนโค้ดตามนี้

    <?php
    phpinfo();
    ?>

    2. เปิดเว็บ http://localhost/phpinfo.php ในภาพจะเป็น php 5.6.2.2

    001

    3. เปิด IIS manager ขึ้นมา แล้วคลิกที่ Web Platform Installer

    002

    4. พิมพ์คำค้น PHP ในช่องค้นหา ในรูปเราจะติดตั้ง PHP 7.0.7 ให้คลิกที่ปุ่ม Add จากนั้นระบบจะทำการติดตั้ง PHP 7.0.7

    003

    5. เมื่อติดตั้งเสร็จแล้ว ให้คลิก Restart IIS

    004

    6. ตรวจสอบเวอร์ชั่นของ PHP ด้วยการเปิดหน้าเว็บ http://localhost/phpinfo.php ในภาพจะเป็น php 7.0.7 เรียบร้อยแล้ว

    005

    7. เสร็จสิ้นกระบวนการ upgrade PHP to new version

  • วิธีตรวจสอบเว็บไซต์ที่โดน Hack #17

    ปัจจุบันพบว่า รูปแบบของ Backdoor เปลี่ยนไป จากเดิมเป็น Base64 ซึ่งสามารถตรวจจับได้จาก Pattern ของ eval และ base64_decode ไปเป็น การใช้ eval ร่วมกับการใช้เทคนิคที่เรียกว่า Obfuscate หรือ การทำให้ PHP Code ปรกติ แปลงไปเป็นรูปแบบที่ซับซ้อนยิ่งขึ้น ทำให้การตรวจสอบด้วยเทคนิคเดิมไม่เจอ

    จาก วิธีตรวจสอบเว็บไซต์ที่โดน Hack #2 แสดงให้เห็นรูปแบบเดิม ดังภาพ

    sample1

    sample2

    sample3

    จะเปลี่ยนมาเป็นแบบนี้

    2559-07-29 14_29_00-

    ดังนั้น อาจจะต้องปรับเปลี่ยนคำสั่งในการค้นหาเป็น


    find /var/www -name "*.php" -user www-data -type f | xargs grep GLOBAL

    แต่ก็พบว่า มีการซ่อน base64_decode ในรูปแบบนี้ก็มี

    2559-07-29 15_11_32-_new 5 - Notepad++ [Administrator]

    ถึงแม้จะเลี่ยงการใช้ base64_decode ตรงๆแต่ก็ยังต้องใช้ eval อยู่ดี ดังนั้น จึงต้องใช้คำสั่งต่อไปนี้ในการค้นหา


    find /var/www -name "*.php" -user www-data -type f | xargs grep eval > eval.txt

    ซึ่งอาจจะได้ไฟล์มาจำนวนมาก ทั้งทีใช่และไม่ใช่ Backdoor เก็บไว้ในไฟล์ eval.txt ดังภาพ

    2559-07-29 15_21_31-_new 6 - Notepad++ [Administrator]

    จึงต้องใช้วิธี แก้ไขไฟล์ eval.txt ดังกล่าว โดยลบบรรทัดที่ไม่ใช่ Backdoor ออก ให้เหลือแต่บรรทัดที่น่าสงสัยว่าจะเป็น Backdoor ไว้ แล้ว Save จากนั้นใช้คำสั่งต่อไปนี้เพื่อเก็บไฟล์ทั้งหมดไว้ก่อน ในไฟล์ suspect.tar.gz


    cut -d: -f1 eval.txt | xargs tar -zcvf suspect.tar.gz

    จากนั้น ทำ List ของไฟล์ที่ต้องเข้าตรวจสอบจริงๆ เก็บในไฟล์ชื่อ eval2.txt ด้วยคำสั่ง


    cut -d: -f1 eval.txt > eval2.txt

    แล้วจึงแก้ไขไฟล์ หรือ ลบทิ้งต่อไป