ช่วงนี้ พวกลองของ Hack กันบ่อย อย่างไรต้องระวังกันนะครับ

[B]ช่วงนี้ พวกลองของ Hack กันบ่อย อย่างไรต้องระวังกันนะครับ
[/B]
จากเท่าที่ไล่ตามพบว่ามีหลายเว็บไซต์ที่อื่น ที่โดนไปเหมือนกันครับ
โดยเฉพาะเว็บไซต์ ที่พัฒนา coding ขึ้นเอง ที่ทำการเขียน code ไว้นานแล้ว และไม่ได้มีการปรับปรุงเลยต้องระวังครับ

ส่วนหนึ่งที่ช่วยป้องกันได้

[B]หลีกเลี่ยงการใช้รหัสผ่านที่คาดเดาได้ง่าย
[/B]
[B]กรณี เปิดให้ลูกค้าทำการ Upload File หรือส่งเอกสารขึ้นมาได้[/B]
ให้ทำการสร้างไฟล์ .htaccess เพื่อปิดกันการ Execute File ในโฟลเดอร์เก็บไฟล์

php_flag engine off
Order Deny,Allow
Deny from all

และ ควรทำการ rename ชื่อไฟล์ ให้อยู่ในรูปแบบไฟล์อื่นๆ เช่น md5()

[B]ข้อควรระวัง อีกประการหนึ่งของ php (register global on)[/B]
<?
include($file);
?>
http://domain.com/?file=filename

การรับค่าจาก form method ควรใช้ $_GET[], $_POST[]

[B]การเปิดใช้งาน openbase dir อาจเป็นอันตราย[/B] เช่น
<?
include($file);
?>
http://domain.com/?file=../../../etc/passwd

[B]สำหรับผู้ใช้ Script CMS สำเร็จรูป ควรตรวจสอบ version ปรับปรุง ให้เป็นปัจจุบันอยู่เสมอ

การเก็บรหัสผ่าน ควรทำการ encrypt หรือ md5 หรือ hash

… อื่นๆ ตามสำควรครับ
[/B]

[B]หลีกเลี่ยงการใช้รหัสผ่านที่คาดเดาได้ง่าย

[/B]นี่คือที่ยากที่สุดเลย. ลูกค้าชอบตั้งพาสแบบง่าย ๆ ผมเคยเจอ

username: admin
password: admin

บ่อยมาก

user: admin
passwd: aa’ or 1 like '1 :slight_smile:

ขอบคุณครับที่มาเตือนครับ ต้องลอง monitor ดูบ้างแล้วครับ

เอ น่าจะหมายถึงการไม่ได้เปิดใช้งาน และไม่ได้ระบุให้อยู่แต่ใน home user นะครับ

มาตรฐานโลก :015:


<?php
    ...
    $pid = (int)$pid;
    ...
    $username = mysql_real_escape_string($username);
    ...
?>

ถ้าใช้ DA ปกติ มันเปิด open_basedir ให้เป็น default อยู่แล้ว ไฟล์ php ก็จะเรียกข้าม home กันไม่ได้
[COLOR=#ff0000]ยกเว้นว่าเรียกผ่าน temp url ไม่เชื่อลอง http://ip/~user/file.php[/COLOR]
ในไฟล์ให้ include ข้ามไป โดเมนอื่นโดยอ้าง path เต็มๆ /home/user/…/public_html/config.php ก็จะอ่าน config db ออกมาได้สบายๆ
ยิ่งถ้าไม่ disable function พวก exec system passthru เอาไว้ด้วย ยิ่งไปกันใหญ่ เปิดอ่านไฟล์ /etc/passwd ดูก็รู้หมดเลยว่ามี user อะไร home อยู่ path ใหน

วิธีป้องกันคือปิด temp url ไปเลย สำหรับ DA ให้แก้ไขไฟล์
/etc/httpd/conf/extra/httpd-vhosts.conf
แล้วใส่ # หน้าบรรทัด AliasMatch … จะมีอยู่ 2 แห่ง port 80 กับ 443

:87a4e689:

ขอบคุณค่ะ