1. Trang chủ
  2. » Công Nghệ Thông Tin

Hacking Security Sites part 21 ppt

6 161 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 192,75 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Rồi Giờ Mục tiêu kế tiếp: Cấu hình IIS hỗ trợ PHP Chúng ta đã cùng nhau cài cái IIS6 và sau đó là PHP5 vào Windows Server 2003 Sau đó ta chạy hàm phpinfo trong file phpinfo.php thì thấy

Trang 1

Rồi Giờ Mục tiêu kế tiếp: Cấu hình IIS hỗ trợ PHP

Chúng ta đã cùng nhau cài cái IIS6 và sau đó là PHP5 vào Windows Server 2003

Sau đó ta chạy hàm phpinfo trong file phpinfo.php thì thấy rằng báo rằng "page can not display" hay thậm chí sẽ không cho down load luôn file phpinfo.php về, vì sao IIS lại " đối xử " như thế đối với file php khi mà rõ ràng ta đã cài đặt trình thông dịch PHP vào rồi

Để hiểu được điều này chúng ta sẽ xem wa một chút cơ chế làm việc của IIS

Khi nhận được request từ client đến 1 file nào đó (có phần mở rộng xác định,

vd:.php,.asp, ) , IIS không thể tự ý xử lý một cách tùy tiện mà nó sẽ phải xem coi mình

đã được chỉ đạo như thế nào

Trong trường hợp này, chúng ta hoàn toàn chưa cho IIS biết nó sẽ phải làm gì khi đụng phải "thằng" file có đuôi là

.php ->"không ra lệnh thì tui ngồi chơi xơi nước cho khỏe"

Để ngăn anh chàng nhân viên này trốn việc ta quy định cụ thể luôn cho hắn như sau: "Khi nhận được yêu cầu file *.php, anh bạn hãy chuyễn ngay file ấy cho đồng nghiệp là Trình thông dịch (TTD) PHP xử lý, sau khi nhận được kết quả trả về dưới dạng html thì hãy trả

về cho client đả gửi request!

"

Và sau đây là các bước cụ thể để ra lệnh cho IIS:

Các bạn chỉnh sửa các thông số như trong hình nhé:

B1:Home Directory (chú ý thư mục c:\Web là thư mục gốc trên Web Server)

B2:Permission cho thư mục Web

B3:Chọn Application Extension

B4:Web Service Extensions

Okie, sau khi làm xong các bước trên các bạn hãy view lại file phpinfo.php để xem các thông tin trên Web Server.Được rồi đó

^-^

Bây giờ bạn search thử chữ mysql trên trình duyệt đang hiển thị phpinfo.php

Trang 2

Kết quả: không tìm thấy

Okie

TIếp theo chúng ta sẽ tiếp tục công việc install MySql4 lên Home Server của mình ^-& CÒN TIẾP Cài đặt Cơ sở dữ liệu (CSDL) MySQL4 cho PHP5

Cụ thể trong bài này, tớ đã test với mysql-essential-4.1.11-win32.msi

Các bạn Download về sau đó cài đặt bình thường

(nếu muốn cấu hình lại trong các lần chạy sau thì chạy file

MySQL\bin\MySQLInstanceConfig.exe , giả sử cài cài đặt MySQL vào thư mục

MySQL)

Xong xuôi, bây giờ ta ung dung view lại cái trang phpinfo.php lúc trước, search thử Table của mysql trên trình duyệt đang hiển thị phpinfo.php

Lạ wa', vẫn không thấy gì

Điều đó chứng tỏ PHP vẫn không biết đến sự có mặt của MySQL

Đối với các phiên bản PHP trước đây (4,3, ) thì sau khi làm xong các bước trên chắn chắn sẽ search ra nguyên table của mysql

Vậy vấn đề nằm ở đâu?

Thì ra, kể từ các phiên bản PHP 5 trở đi các nhà lập trình sáng tạo ra ngôn ngữ PHP đã quyết định không mặc định cho PHP xài CSDL MySQL như trước

Vậy ta phải làm sao đây?

Bạn con nhớ file php.ini được tạo ra trong thư mục Windows, và php bản zip mà tớ nói bạn tải về chứ, đã đến lúc mò đến nó

Sau đây là các bước cụ thể để nói cho PHP biết :có "anh bạn" CSDL MySQL trên đời và

"anh" hãy "hợp tác" với "anh ấy" để "làm ăn" ^-^ :

B1: Giải nén bản PHP zip , copy file libmySQL.dll vào thư mục WINDOWS

B2:copy file php_mysql.dll vào thư mục cài đặt PHP (giả sử "D:\Program\PHP\")

B3: Mở file php.ini :

_sửa lại extension_dir ="D:\Program\PHP\"

_Bỏ dấu ; trước dòng extension=php_mysql.dll

Ok

Lập lại thao tác view cái trang phpinfo.php, rồi search thử chữ mysql trên trình duyệt bạn

sẽ thấy 1 table được dành riêng cho MySQL đang hiển thị

Đến đây mọi thao tác cài đặt và cấu hình WebServer hỗ trợ PHP đã xong

Các lần cài đặt lại (nếu có) về sau ta chỉ cần nhớ 3 bước:

B1: cài đặt IIS

B2: cài đặt PHP và cấu hình cho IIS nhận biết PHP

B3: cài đặt MySQL và cấu hình cho PHP nhận biết MySQL

enjoy !

Tiêu đề: CGI hacking

Tác giả: (Someone)

Trang 3

CGI hacking

Hiện nay các ứng dụng WEB dùng CGI rất nhiều,nó trở nên rất phổ biến và cũng được các hacker quan tâm và không ít các lổi bảo mật được tìm thấy Bạn muốn hack web sữ dụng CGI thì bạn phải biết chút ít về ngôn ngữ PERL.Nếu bạn không biết gì về PERL thì tôi khuyên bạn nên đi tìm một cuốn sách nói về PERL mà đọc,điều này chắc là không khó đối với bạn

Trước tiên ta hãy xem cách thức làm việt của GET và POST như thế nào:

GET:

GET là phương pháp mặt định để đệ trình các form,tuy là phương pháp mặt định nhưng có một vấn đề với việt sữ dụng GET.Phương pháp này thêm thông tin chứa trong form vào chuổi vấn tin URL(,nếu URL quá dài thì chương trình tự động xén bớt nên gây ra sự đệ trình không chính xác.Thông tin đực lấy từ biến môi trường

$ENV{'QUERY_STRING'} ví dụ:

#script.cgi?sometext

#sẽ là:

$file = 'sometext'

$file = $ENV{'QUERY_STRING'};

#script.cgi?some&text

#sẽ là:

$name = 'some' and $file = 'text'

($name, $file) = split(/&/, $ENV{'QUERY_STRING'});

(chú ý:Tôi khuyên bạn biết chút ít về PERL cho dù bạn không lập trình bằng PERL,và điển hình là bài viết này bạn hiểu nó như thế nào ví dụ lệnh split() làm

Trang 4

như thế nào )

Và nếu nhiều biến thì như sau:

@pair = split(/&/, $ENV{'QUERY_STRING'});

foreach $pair (@pairs)

{

($name, $value) = split(/=/, $pair);

#used to make + into spaces

$value =~ tr/+/ /;

#used to convert url encoding (hex) to ascii :

$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} =

$value; #script.cgi?name=some&file=text

#sẽ là:

$FORM{'name'} = 'some' and $FORM{'file'} = 'text'

}

Trên đây là những ví dụ đơn giản về phương thức GET.và HTTP có dạng như sau: GET /script.cgi?some&text HTTP/1.0

POST:

POST là phương pháp thư hai dùng để đẹ trình các form và đang đươc sữ dụng rộng rải nhất,vì nó không hạn chế lượng dữ liệu truyền đến server.Để đọc dữ liệu truyền đến server,trước tiên bạn phải xác định chiều dài của nó,và thực hiện điều này bằng cách qua iến môi trường CONTENT_LENGTH và sau đó bạn có thể đọc

Trang 5

số byte chính xác trong một biến khác,chuổi được mã hoá bởi URL do đó bạn cần phân tích và giải mã nó.Đây là ví dụ của HTML được "submit" form với hai biến

"name" và "file":

<form action="script.cgi" method="post">

<input type="text" name="name" value="">

<input type="hidden" name="file" value="profiles.txt">

<input type=submit value="submit">

</form>

Và tất cã các form dữ liệu sẽ được đặt trong:into $FORM{'name-of-field'} đọc POST data:

$buffer read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

@pairs = split(/&/, $buffer);

foreach $pair (@pairs)

{

($name, $value) = split(/=/, $pair);

#used to make + into spaces

$value =~ tr/+/ /;

#used to convert url encoding (hex) to ascii

$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

#this would set

Trang 6

$FORM{'name'} = whatever the user put in the text field

#and $FORM{'file'} to profile.txt

$FORM{$name} = $value;

}

Làm việc của POST phần nào đó rất giống GET nhưng bạn sữ dụng hàm read() để đọc vào STDIN và nó sẽ send phần dữ liệu chứa trong phương thức

POST.CONTENT _LENGTH dùng để gọi script để đọc dữ liệu,nó bao gồm trong phương thức POST.Một số script sữ dụng phưong thức này có dạng như sau:

<input type="hidden" name="file" value="profiles.txt">

>đây là phần ẩn của mã nguồn URL mà khi hacker muốn xem thì không khó,khi anh phát hiện ra code có dạng như thế thì có thể đổi lại như sau:

 

Ngày đăng: 01/07/2014, 17:20

TỪ KHÓA LIÊN QUAN