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

ต่อจาก “วิธีตรวจสอบเว็บไซต์ที่โดน Hack #1” และ “วิธีตรวจสอบเว็บไซต์ที่โดน Hack #2” จากการใช้งาน CMS ยอดนิยม อย่าง Joomla อย่างแพร่หลาย ซึ่งเป็นเรื่องง่ายในการพัฒนาเว็บไซต์ เพราะผู้ใช้ สามารถสร้างเนื้อหาได้ง่ายดาย แถมรุ่นใหม่ๆ สร้างแทรกภาพ แทรกวิดีโอได้มากมาย ทำให้เว็บไซต์น่าสนใจ แต่สิ่งที่แลกมา คือ ความปลอดภัย เพราะมี Joomla รุ่น 1.5 และใช้เครื่องมือการแก้ไขข้อความ (editor) ที่ชื่อว่า JCE นั้น  (รุ่นต่ำกว่า 2.5) มีช่องโหว่ ซึ่งเรียกรวมๆว่า JCE Exploited รายละเอียดของช่องโหว่ สามารถอ่านได้จาก http://www.bugreport.ir/78/exploit.htm โดยสรุป วิธีการ Hack ทำเช่นนี้ 1. ตรวจสอบว่า website เป้าหมายมี com_jce หรือไม่ 2. ถ้ามี จะส่งคำสั่ง ผ่านช่องโหว่ทาง URL เข้าไปเพื่อสร้างไฟล์ชื่อ xxxx.gif แล้วเขียนหัวไฟล์ว่า GIF89 3. จากนั้น ก็ใส่ php code ซึ่งจะใช้เป็น Backdoor เข้าไป 4. ใช้ช่องโหว่ JCE แก้ไขไฟล์เป็น .php เมื่อสามารถเขียนไฟล์ ลงไปได้แล้ว Hacker ก็จะเข้ามาจัดการเครื่องเราในภายหลัง … เช่น เบื้องต้น อาจจะวางไฟล์ 0day.php หรือ อะไรก็แล้วแต่ เพื่อเอาไปอวดเพื่อนๆว่า นี่ๆ ฉัน Hack ได้แล้ว หรือบางคน ก็เข้ามาเปลี่ยนหน้าตาของ Website และเลวร้ายที่สุด คือ สามารถเข้ามาแล้ว เอา Source Code มา Compile บนเครื่องของเรา แล้วยึดเครื่องได้เลย หรืออาจจะเข้ามาใน Network เพื่อ Scan และยิงเครื่องอื่นๆได้เลยทีเดียว จาก website ที่อ้างอิงข้างต้น เป็นโค๊ดที่สามารถ นำไปใช้ทดสอบเครื่องในความดูแลของตนเอง แต่ในขณะเดียวกัน ก็จะมี Hacker มือใหม่ หรือที่เรียกว่า Script Kiddie จะลองของ โดยเอา PHP, Perl Script ข้างต้น ไปลอง Hack ดู ซึ่ง … สร้างความเสียหายได้ง่ายๆ วิธีการตรวจสอบ ซึ่ง ผู้ดูแล Website พึงตรวจสอบเป็นประจำ 1. พวก Script Kiddie จะเอาโค๊ดไปใช้ โดยไม่แก้ไขอะไร หรือ แก้ไขเฉพาะให้ Hack ได้ โดยจะลืมแก้ Signature ของ Script ดังภาพ (ส่วนหนึ่งของ Script) ดังนั้น จะใน Log File ของ Web Server ก็จะปรากฏข้อความ “BOT for JCE” ด้วย จึงสามารถใช้คำสั่งต่อไปนี้ ค้นหาว่ามีความพยายาม Hack หรือไม่ grep -i “BOT for JCE” /var/log/httpd/domains/*.log | grep 200 คำสั่งนี้ จะค้นหาคำว่า  “BOT for JCE” ในที่ที่เก็บ Log File คือ /var/log/httpd/domains/*.log ( ซึ่งแต่ละแห่งใช้ที่เก็บ Log ไม่เหมือนกัน เช่นอาจจะเป็น /var/log/apache2/access.log.* ก็ได้ ขอให้ปรับเปลี่ยนตามความเป็นจริง) และ grep 200

Read More »

How to install mathtex.cgi ubuntu 12.04

ติดตั้ง texlive-full , dvipng,  imagemagick $sudo apt-get install -y texlive-full dvipng imagemagick ดาวน์โหลด mathtex.zip $wget http://www.forkosh.com/mathtex.zip สร้างไดเร็คทอรี่ mathtex $mkdir mathtex cd mathtex unzip ../mathtex.zip compile mathtex.c ด้วยคำสั่ง $cc mathtex.c -DLATEX=\”$(which latex)\” -DDVIPNG=\”$(which dvipng)\”  -o mathtex.cgi sudo mv mathtex.cgi /usr/lib/cgi-bin sudo chown :www-data /usr/lib/cgi-bin sudo chmod g+w /usr/lib/cgi-bin เพิ่มข้อความต่อไปนี้ในแฟ้ม /etc/apache2/sites-enabled/000-default ภายใน Directive VirtualHost ถ้าใส่ตามนี้คืออนุญาติเครือข่ายภายในมหาวิทยาลัยเท่านั้นเข้าถึงได้ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory /usr/lib/cgi-bin>     Options +ExecCGI     Order deny,allow     Deny from all     Allow from 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 </Directory> restart apache $sudo service apache2 restart ทดสอบเรียกใช้งานได้ที่ http://yourhostname/cgi-bin/mathtext.cgi?x texlive เป็นโปรแกรมที่ทดแทน latex ใช้สร้างสมาการทางคณิตศาสตร์ ใน WordPress มีปลั๊กอินชื่อ Youngwhan’s Simple Latex สามารถเรียกใช้ mathtex นี้ได้ทันที โดยปกติจะเซ็ตไว้ให้ใช้ shared host ภายนอกมหาวิทยาลัย ทดสอบเรียกใช้งาน E=mc^2 ได้ผลเป็น ตัวอย่างอื่นๆ สำหรับสมการแปลกๆ Example จบ…. ขอให้สนุกครับ ที่มา https://help.ubuntu.com/community/LaTeX http://www.forkosh.com/cgi-bin/weblist.cgi?-t=weblist&-o=php&-f=sources/mimetexquickstartweb.php

Read More »

ลดขนาดไฟล์เมื่อจะทำ export virtual machine ของ virtualbox

เมื่อจะ export Virtual Machine ใน Oracle VM VirtualBox ควรจะลบไฟล์ที่เกิดจากการใช้งานหรือ การเปลี่ยนแปลงรายการไฟล์ใน VM เช่น การลบไฟล์ หรือ ก๊อปปี้ไฟล์ใหม่ใส่ลงไป เป็นต้น เสร็จแล้วจึงใช้คำสั่ง Export Appliance จะช่วยให้ลดขนาดไฟล์ลงได้ เช่น ไฟล์ VM ชื่อ ubunturouter.ova มีขนาด 4.5GB หลังจากทำคำสั่งนี้ไฟล์มีขนาดลดลงเหลือ 3.4GB อ้อ ลืมบอกไปเป็นเนื้อหาเกี่ยวกับ ubuntu server ครับ เมื่อมีการสั่งอัปเดต sudo apt-get update sudo apt-get dist-upgrade เมื่อมีการเปลี่ยนแปลงไฟล์ เช่น sudo rm -f psu12-sritrang.tgz เมื่อเราคิดว่า VM นี้จะ export ออกไปเป็นไฟล์ .ova ให้คนอื่นเอาไปใช้ ให้ทำคำสั่งเหล่านี้ sudo apt-get clean sudo truncate -s0 /var/log/*.log sudo rm /var/log/*gz sudo rm /var/log/*/*gz dd if=/dev/zero of=tmpfile rm -f tmpfile เสร็จแล้วก็ปิดเครื่อง VM sudo poweroff แล้วจึงทำขั้นตอน export ที่โปรแกรม Oracle VM VirtualBox File > Export Appliance… คิดว่าน่าจะมีประโยชน์กับเพื่อนๆนะครับ

Read More »

vvisit_counterDShelpe rDSvvisit_counter.php: failed to open stream: No such file or directory in /var/www/student-affairs/plugins/system/vvisit_counter/vvisit_counter.php on line 18

Joomla 3.1.5 เมื่อวันนี้ตอนเช้าทดลองเปิดหน้าเว็บหน่วยงานภายในคณะดูปรากฏว่าเว็บไม่ปรากฏอะไรเลย  ได้หน้าขาวโล่งๆ ซึ่งผมก็ตกใจครับนึกว่าอะไรจะพังอีก เลยโทรไปสอบถามอาการของผู้ดูแลเว็บ บอกว่าเปิดไม่ได้ตั้งแต่เมื่อวาน  จึง ssh เข้าไปตรวจสอบ /var/www/student-affairs  ตามปกติ permission file ก็เรียบร้อยดีไม่มีไรหาย จากนั้นจึงไปเปิด log ของ apache2 ดู /var/log/apache2/error.log แล้วลอง  tail error.log | grep student-affairs ดูปรากฏว่า เจอ error ดังนี้ root@Internal-Webhost:/var/log/apache2# tail error.log | grep student-affairs [Fri Nov 01 10:00:19 2013] [error] [client 192.168.74.90] PHP Notice:  Use of undefined constant DS – assumed ‘DS’ in /var/www/student-affairs/plugins/system/vvisit_counter/vvisit_counter.php on line 18 [Fri Nov 01 10:00:19 2013] [error] [client 192.168.74.90] PHP Notice:  Use of undefined constant DS – assumed ‘DS’ in /var/www/student-affairs/plugins/system/vvisit_counter/vvisit_counter.php on line 18 [Fri Nov 01 10:00:19 2013] [error] [client 192.168.74.90] PHP Warning:  require_once(/var/www/student-affairs/plugins/system/vvisit_counterDShelperDSvvisit_counter.php): failed to open stream: No such file or directory in /var/www/student-affairs/plugins/system/vvisit_counter/vvisit_counter.php on line 18 [Fri Nov 01 10:00:19 2013] [error] [client 192.168.74.90] PHP Fatal error:  require_once(): Failed opening required ‘/var/www/student-affairs/plugins/system/vvisit_counterDShel perDSvvisit_counter.php’ (include_path=’.:/usr/share/php:/usr/share/pear’) in /var/www/student-affairs/plugins/system/vvisit_counter/vvisit_counter.php on line 18 [Fri Nov 01 10:00:21 2013] [error] [client 192.168.74.90] PHP Notice:  Undefined index: th-TH in /var/www/student-affairs/plugins/system/languagefilter/languagefilter.php on line 61 [Fri Nov 01 10:00:21 2013] [error] [client 192.168.74.90] PHP Notice:  Trying to get property of non-object in /var/www/student-affairs/plugins/system/languagefilter/languagefilter.php on line 61 [Fri Nov 01 10:00:21 2013] [error] [client 192.168.74.90] PHP Notice:  Use of undefined constant DS – assumed ‘DS’ in /var/www/student-affairs/plugins/system/vvisit_counter/vvisit_counter.php on line 18 [Fri Nov 01 10:00:21 2013] [error] [client

Read More »

Config PHP Fast CGI เพื่อใช้งาน PHP ใน IIS 7 ครับ

สวัสดีครับ วันนี้กระผมจะมาแชร์ประสบการณ์ในการ Config PHP Fast CGI เพื่อใช้งานเวบไซต์ PHP ใน IIS 7 ครับผม 0. เริ่มต้นด้วยขั้นตอนการ Add Role Service ครับ รูปที่ 1 แสดงการ Add Role Service 1. เลือกติดตั้ง CGI และกดเลือก Next ครับ รูปที่ 2 แสดงขั้นตอนการติดตั้ง 2. เมื่อลง CGI เสร็จเรียบร้อยก็จะขึ้นหน้าต่าง Installation Succeeded ครับ รูปที่ 3 แสดงหน้าต่างหากติดตั้ง CGI สำเร็จ 3.ลง PHP 5.2.6 ครับ รูปที่ 4 แสดงการติดตั้ง php 4. เลือก Drive ที่จะติดตั้ง PHP หลังจากนั้นคลิก Next รูปที่ 5 แสดงที่จัดเก็บ PHP 5. เลือก IIS FastCGI รูปที่ 6 แสดงการติดตั้ง FastCGI 6. เป็นอันติดตั้ง PHP สำเร็จ รูปที่ 7 แสดงการติดตั้ง PHP สำเร็จ 7. แก้ไขค่า ใน Folder PHP รูปที่ 8 แสดงการเข้าไปแก้ไขค่าใน php 8. ตรงบรรทัด fastcgi.impersonate ให้เอา ; ออกและ แก้ไขดังนี้ fastcgi.impersonate = 1 รูปที่ 9 แสดงการเข้าไปแก้ไขค่าใน php ต่อ 9. แก้ไขค่าบรรทัดนี้โดยเอา ; ออก และแก้ไขดังนี้  cgi.fix_pathinfo=1 รูปที่ 10 แสดงการเข้าไปแก้ไขค่าใน php ต่อ 10. แก้ไขค่าบรรทัดนี้โดยเอา ; ออกและแก้ไขดังนี้ cgi.force_redirect = 0 รูปที่ 11 แสดงการเข้าไปแก้ไขค่าใน php ต่อ 11.แก้ไขค่าบรรทัดนี้โดยเอา ; ออกและแก้ไขดังนี้ open_basedir = c:\inetpub รูปที่ 12 แสดงการเข้าไปแก้ไขค่าใน php ต่อ 12.หลังจากนั้นกด Ctrl+S หรือ กด Save ครับ รูปที่ 13 แสดงการบันทึกหลังจากแก้ไขค่าเสร็จเรียบร้อย 13. จากนั้นเข้า cmd เข้าไปในโฟลเดอร์ที่เก็บ PHP cd c:\php5 php -info มันจะแสดงรายละเอียดของ php ที่เราได้ติดตั้งไปทั้งหมด รูปที่ 14 แสดงรายละเอียดของ php 14. หลังจากนั้น config IIS7 เพื่อใช้ php โดยไปที่ Handler Mapping รูปที่ 15 แสดงการเข้าไปตั้งค่าใน Handler Mapping 15. เลือก Add Module Mapping รูปที่ 16 แสดงการเข้าไปตั้งค่าใน Handler Mapping ต่อ 16.จากนั้นกรอกข้อมูลดังนี้ Request path :> *.php Module:> FastCgiModule Excutable :> C:\PHP5\php-cgi.exe Name

Read More »