banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận bảo mật Cách để chống hack include file - PHP  XML
  [Question]   Cách để chống hack include file - PHP 17/12/2006 19:21:44 (+0700) | #1 | 31011
114v
Member

[Minus]    0    [Plus]
Joined: 08/07/2006 23:27:00
Messages: 191
Offline
[Profile] [PM]
Code:
$_GET['act'] = preg_replace("/[^a-zA-Z0-9\-\_]/", "", $_GET['act']);


Không biết làm như vậy thì có chống được không?
[Up] [Print Copy]
  [Question]   Re: Cách để chống hack include file - PHP 18/12/2006 01:12:26 (+0700) | #2 | 31037
watchd0g
Member

[Minus]    0    [Plus]
Joined: 30/11/2006 18:05:23
Messages: 42
Offline
[Profile] [PM]
Viết gì hổng hỉu.
Include thì có nhiều cách fix, khai báo các biến rõ ràng là một cách.
[Up] [Print Copy]
  [Question]   Cách để chống hack include file - PHP 27/12/2006 12:31:43 (+0700) | #3 | 33018
114v
Member

[Minus]    0    [Plus]
Joined: 08/07/2006 23:27:00
Messages: 191
Offline
[Profile] [PM]
Ví dụ nếu bạn có cái URL như thế này:

Code:
index.php?act=home


Nếu đặt đoạn code kia vào thì các kí tự đặc biệt sẽ bị lọc hết vì vậy nên không thể để link vào được
[Up] [Print Copy]
  [Question]   Cách để chống hack include file - PHP 28/12/2006 01:45:45 (+0700) | #4 | 33104
[Avatar]
nhocbmt
Member

[Minus]    0    [Plus]
Joined: 26/06/2006 17:55:21
Messages: 75
Location: Ban Mê City
Offline
[Profile] [PM] [WWW]
smilie Nếu biết dùng cách này để chống thì chẳng lẽ trong lúc code lại ko biết khai báo biến cẩn thận ?

[Up] [Print Copy]
  [Question]   Cách để chống hack include file - PHP 29/12/2006 15:34:33 (+0700) | #5 | 33330
114v
Member

[Minus]    0    [Plus]
Joined: 08/07/2006 23:27:00
Messages: 191
Offline
[Profile] [PM]
Bác cứ nói thế, ai mà biết trước được, chẵng may bị chỗ nào thì khổ.

Bác khai báo cẩn thận thế nào, cho em xem 1 ví dụ thử nào smilie
[Up] [Print Copy]
  [Question]   Cách để chống hack include file - PHP 29/12/2006 17:01:25 (+0700) | #6 | 33331
[Avatar]
learn2hack
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 16:32:37
Messages: 825
Offline
[Profile] [PM] [WWW]
Ở đây có 1 bài viết khá chi tiết về lỗi include trong PHP:
http://hvaonline.net/hvaonline/posts/list/3242.html

Tuy nhiên cách khắc phục thì vẫn còn đang được thảo luận smilie. Trong ấy có nói đến cách khắc phục là đặt trong file cấu hình PHP:
Code:
allow_url_fopen = off 
register_globals=off


Mình nghĩ cách này khá ổn. Tuy nhiên trong trường hợp mình không can thiệp được vào file cấu hình PHP thì đành phải dùng cách khác.

Có thể làm bằng 2 cách:

- Cách 1: Nếu có thể dùng đường dẫn trực tiếp thì nên dùng, ví dụ như thay vì
Code:
$dir = ”/home/”;
include($dir . "page.php");

thì dùng luôn
Code:
include("/home/page.php");


- Cách 2: Kiểm tra và gán lại giá trị của biến include, để đảm bảo rằng nó không bị người khác gán hộ
Ví dụ thay vì viết:
Code:
if (!isset($dir)) $dir = "/home/"; // hoặc không có dòng này
...
include($dir . "page.php");

thì viết là:
Code:
$dir = "/home/";
include($dir . "page.php");


Đây là ví dụ 1 lỗi điển hình thuộc dạng này:
http://hvaonline.net/hvaonline/posts/list/4816.html

Khắc phục lỗi này, quan trọng nhất là kiểm tra các lệnh liên quan đến biến trong include có thể bị gán giá trị khác không. Và để chắc chắn, trước khi dùng include, ta cứ gán lại nó giá trị cần thiết thì sẽ không có vấn đề gì.
Blog: http://hontap.blogspot.com
Tải phần mềm miễn phí: http://www.taiphanmem.org
[Up] [Print Copy]
  [Question]   Cách để chống hack include file - PHP 31/12/2006 17:35:57 (+0700) | #7 | 33559
114v
Member

[Minus]    0    [Plus]
Joined: 08/07/2006 23:27:00
Messages: 191
Offline
[Profile] [PM]
Em thấy bác vẫn còn mơ hồ lắm, bác vào đọc thêm bài này nha:
http://digg.com/programming/Basic_PHP_Security

Trong lập trình, có những lúc phát sinh lỗi bảo mật mà người lập trình đã không để ý. Ví dụ như tụi phát triển Invision Power Board, có mỗi cái intval() mà nó quên thêm vào hoài à smilie
[Up] [Print Copy]
  [Question]   Re: Cách để chống hack include file - PHP 26/01/2007 02:59:09 (+0700) | #8 | 38140
uk21c
Member

[Minus]    0    [Plus]
Joined: 24/01/2007 10:07:32
Messages: 1
Offline
[Profile] [PM]
Bạn ơi !
Nếu bạn lập trình hướng đối tượng thì k ai có thể hack được đâu ! Ok!
Ví dụ:
+a.php
<?php
function abc(){
$a = $_Get["abc"];
echo $a;
}
?>
+b.php
<?php
include("a.php"smilie;
abc();
?>

[Up] [Print Copy]
  [Question]   Re: Cách để chống hack include file - PHP 26/01/2007 05:11:34 (+0700) | #9 | 38174
[Avatar]
WinDak
Researcher

Joined: 27/01/2002 11:15:00
Messages: 223
Offline
[Profile] [PM]

uk21c wrote:
Bạn ơi !
Nếu bạn lập trình hướng đối tượng thì k ai có thể hack được đâu ! Ok!
Ví dụ:
+a.php
<?php
function abc(){
$a = $_Get["abc"];
echo $a;
}
?>
+b.php
<?php
include("a.php"smilie;
abc();
?>

 


Cái này của cậu sao lại gọi là "hướng đối tượng" ?????????????

cho những ai chưa hiểu 114v viết gì
http://sg.php.net/manual/en/function.preg-replace.php
http://en.wikipedia.org/wiki/Regular_expression

preg_replace("/[^a-zA-Z0-9\-\_]/", "", $_GET['act'])
đoạn này có thể giải thích là , loại hết những kí tự đặc biệt và chỉ để lại các kí tự alphanumeric (a,b,...0-9) kí tự '-' và '_' (mình không hiểu là 114v thêm 2 kí tự này làm gì)

Với cách lọc này , attacker không thể include được file bên ngoài , nhưng vẫn có thể include được local file (trong cùng directory đang làm việc) nhưng mức độ nguy hiểm không cao, tùy cách mà cậu sử dụng biết act này .

Chúc vui

-- w~ --
[Up] [Print Copy]
  [Question]   Re: Cách để chống hack include file - PHP 26/01/2007 08:12:04 (+0700) | #10 | 38208
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]
Hic có lập trình OOP thì vẫn file inclusion như thường smilie( vì lí vo biết truyền vẫn phải truy cập bằng

Code:
$thamso = $_GET[thamso];


cho dù có OOP với các class thì mọi thứ vẫn vậy, vì thế nên mới có vụ IPB lập trình hầu như hoàn toàn bằng OOP vẫn cứ khoảng 6-7 tháng gì đó lòi ra bug File inclusion smilie

Chúc bạn vui với chút thông tin này
iJust clear, "What I need to do and how to do it"/i
br
brBox tán gẫu dời về: http://www.facebook.com/hvaonline
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|