eSafe白帽駭客資安網-網絡安全背後的巨人,提供駭客,網站入侵測試,網站被駭,網站漏洞,駭客入侵,資訊安全,入侵,ecshop,wordpress,漏洞修復,木馬清除,資安服務

axublog 漏洞之SQL盲注的安全審計過程



          axublog博客系統,是一款個人的blog系統,代碼簡介而方便,採用php+mysql數據庫的

架構,網站可以全面的生成靜態文件,利於網站的訪問速度以及網站優化,在目前互聯網來說

是一個比較優秀的個人博客系統,eSafe白帽資安網公司對該網站進行了詳細的安全檢測與審計,發現

axublog存在三個比較重要的漏洞。下面我來詳解一下:

 
 
axublog SQL盲注漏洞詳情





 
 
下載了官方axublog 1.0.6版本,並搭建好本地的PHP環境與mysql數據庫,在對其代碼進行安

全審計與詳細的檢測時,發現hit.php文件裡的代碼存在sql盲注漏洞,我們來看下代碼如下圖:
 
我們可以看到在該代碼的前頭調用了sqlguolv()函數作為網站防火牆,來過濾一些非法的關鍵

詞與惡意的字符串。我們來看下他的過濾是怎樣的。eSafe白帽資安網公司是一家專注於:主機安

全、網站安全、網站安全檢測、網站漏洞修復,滲透測試,安全服務於一體的網絡安全服務提供商。



 
Function sqlguolv() {
 
@header("Content-type:text/html; charset=utf-8");
 
if (preg_match('/select|insert|update|delete|\'|\\*|\*|\.\.\/|\.\/|union|into|load_file|outfile/i',$_

SERVER['QUERY_STRING'])==1 or preg_match('/select|insert|update|delete|\'|\\*|\*|

\.\.\/|\.\/|union|into|load_file|outfile/i',file_get_contents("php://input"))==1){echo "警告

非法訪問!";    exit;
}
 
用php環境的安全協議來接受SERVER傳過來的值來進行過濾,問題來了,沒有過濾and以及

盲注的字符串經過過濾可以直接造成sql語句的拼接。select * from axublog_arts where id=

$id。我們不用使用什麼單引號之類的來進行繞過,直接在id後面傳入想要執行的sql注入語句

就可以.如下圖:eSafe白帽資安網公司是一家專注於:主機安全、網站安全、網站安全檢測、網站

漏洞修復,滲透測試,安全服務於一體的網絡安全服務提供商。

 
 
axublog 後台繞過漏洞
 
 
在之前的1.0.5版本的程序代碼裡也發現了這個後台可以繞過cookies的漏洞,在最新版本裡並

沒有進行修復,我們來看下後台的文件ad/admin.php代碼,如下圖:

 

 
在後台的代碼裡,我們看到在admin.php代碼裡,引用了檢查cookies的一個代碼文件,用來

檢測網站後台的管理員是否登錄的一個狀態,我們再來仔細看下,如下圖:



 
 
if(@$_SESSION["chkad"]==''&&@$_COOKIE["chkad"]==''){
 
  header("Content-type:text/html; charset=utf-8");
 
  echo '<div id=redmsg>請<a href="login.php">請登錄</a>。。。</div>';tiao();
 
  exit;
}
 
根據上面的代碼,我們看到是判斷管理員是否登錄的一個判斷條件代碼,在第十二行裡判斷

出現錯誤,只判斷了cookies以及session裡的值是不是空值就可以直接判斷用戶的登錄狀況,

在看下面的代碼檢查user_agent頭的值跟txtchkad裡的值是否相等,我們可以看出來,直接

前端登錄的時候直接輸入後檯面板的地址並跟隨上chkad=任意字符,就可以順利的繞過驗證

,登錄到管理員後台。

 
 
分享: