1. iis7.0解析漏洞 php用什麼軟體檢測
本文利用了PHPCMS V9的兩個漏洞,一個是讀取任意文件漏洞,另一個是模版運行php腳本漏洞。使用到的工具:Navicat for Mysql/IE瀏覽器(建議使用代理)/湛藍v9代碼包(包含文中使用到的所有文件、代碼和木馬)
1、放置data.txt以備在目標站點讀取並在目標站點生成PHP木馬腳本使用。
例如將data.txt放置在yun..com/j0192/data.txt
2、通過v9漏洞獲取配置信息(請參閱:phpcms V9最新讀取站點任意文件漏洞)。
/index.php?m=search&c=index&a=public_get_suggest_keyword&url=asdf&q=../../phpsso_server/caches/configs/database.php
3、通過v9系統漏洞獲取到的資料庫信息遠程登陸目標站點資料庫,在v9_admin和v9_sso_admin表中添加賬號
username欄位:admn
password欄位:
encrypt 欄位:bGV22e
issuper 欄位: 1
4、通過資料庫添加管理員賬號後使用以下用戶名密碼在後台登陸,然後修改當前用戶密碼。
用戶名:admn
密碼:123456
5、ctrl+a復制write.php全部內容粘貼進v9默認模版下的footer.html保存,然後點擊footer.html的可視化運行該模版中的腳本,到此時就完成在目標站點生成木馬腳本。
6、打開ifeng.com/caches/caches_template/default/wap/data.class.php
用戶名:admin
密碼:admin
7、隱藏新增加的管理員。
通過木馬腳本上傳替換/phpcms/moles/admin/admin_manage.php(默認匹配%admn%),然後登陸目標站點後台查看管理員列表是否還有用戶名為admn的超級管理員,如果沒有則表明我們完成了新加管理員的隱藏。
8、隱藏新增加的關聯鏈接
通過木馬腳本上傳替換/phpcms/moles/admin/keylink.php((默認匹配%skyhome%))
9、將目標網站的漏洞修復,以防其他黑客入侵。
通過木馬腳本上傳替換/phpcms/moles/search/index.php
防黑參考:
1、關閉資料庫遠程訪問。
2、靜態文件及附件等文件目錄禁止執行許可權。
3、腳本文件目錄禁止寫許可權。
4、系統後台等重要目錄限制IP訪問。
5、及時關注開源系統官方補丁升級和烏雲、sebug等漏洞發布平台,修復系統漏洞。
2. php漏洞與代碼審計過程中需要注意的幾點
1.xss + sql注入
其中佔大頭的自然是XSS與SQL注入,對於框架類型或者有公共文件的,建議在公共文件中統一做一次XSS和SQL注入的過濾。寫個過濾函數,可由如下所示:
$_REQUEST = filter_xss($_REQUEST);
$_GET = filter_xss($_GET);
$_POST = filter_xss($_POST);
$_COOKIE = filter_xss($_COOKIE);
$_POST = filter_sql($_POST);
$_GET = filter_sql($_GET);
$_COOKIE = filter_sql($_COOKIE);
$_REQUEST = filter_sql($_REQUEST);
這里有一點需要說明,$_REQUEST雖然等於$_GET+$_POST,但他們是獨立的數組,也就是說假設改變了$_GET的值,但$_REQUEST的值還是原來的值,所以過濾時都不能落下,至於其他的如$_FILE之類的就可忽略了。
最簡單的filter_xss函數是htmlspecialchars()
最簡單的filter_sql函數是mysql_real_escape_string()
當然,誰都知道這種過濾filter_sql只能過濾字元型和搜索型的注入,對於數字型是沒有辦法的,但也說明做了這層過濾後,只需在後面注意數字型的SQL語句就可以了,遇到了加intval過濾就可以了,這就變得容易多了。
2. 命令執行
對於命令執行,可以從關鍵字入手,總共可分為3類
(1) php代碼執行 :eval等
(2)shell命令執行:exec、passthru、system、shell_exec等
(3) 文件處理:fwrite、fopen、mkdir等
對於這幾類需要注意其參數是否用戶可控。
3.上傳漏洞
對於上傳漏洞,也是重點關注的地方,要仔細分析它的處理流程,針對上傳的繞過方式是很多的,最保險的方式:在保存文件是採用文件名隨機命名和後綴白名單方式。其次要注意的一點是上傳文件的地方可能不止一處,不要有遺漏,可能會碰到這樣的情況,突然在某個目錄裡麵包含了一個第三方的編輯器在裡面。
文件包含漏洞涉及的函數如include() 、include_once()、require()、require_once()、file_get_contents()等
最常見的還是出在下載文件功能函數,例如download.php?file=///etc/passwd 這種類型中。
4. 許可權繞過
許可權繞過可分為兩類吧
(1)後台文件的未授權訪問。後台的文件沒有包含對session的驗證,就容易出現這樣的問題
(2)未作用戶隔離,例如mail.php?id=23顯示了你的信件,那麼換個ID, mail.php?id=24就查看到了別人的信件,編寫代碼是方便,把信件都存在一個數據表裡,id統一編號,前端展現時只需按id取出即可,但未作用戶隔離,判定歸屬,容易造成越權訪問。
這樣的例子是很常見的,給某銀行做評估是就經常發現這種漏洞。
5. 信息泄露
信息泄露算是比較低危的漏洞了,比如列目錄這種就屬於部署問題,而與代碼審計無關了,而像暴路徑、暴源碼這種是需要防止的。曾經遇到這樣的代碼
<?php if(empty($_GET['a'])) {…} ?>
表面上似乎沒問題,可是當請求變為 xx.php?a[]=1時,即參數變為數組的時候,就會發生錯誤以致路徑泄露,而用isset判斷則不會,當然一個個防太麻煩,建議在配置文件中關閉錯誤提示,或者在公共文件中加入如下代碼以關閉錯誤顯示功能:
<?php error_reporting(0);?>
3. PHP 檢查漏洞工具顯示「網站目錄結構暴露」
網站存在目錄瀏覽漏洞:關閉Web容器(如IIS/Apache等)的目錄瀏覽功能,比如:
1.IIS中關閉目錄瀏覽功能:在IIS的網站屬性中,勾去「目錄瀏覽」選項,重啟IIS;
2.Apache中關閉目錄瀏覽功能:打開Apache配置文件httpd.conf,查找 「Options Indexes FollowSymLinks」,修改為「 Options -Indexes」(減號表示取消),保存退出,重啟Apache。
具體看這個http://zhanzhang..com/college/courseinfo?id=267&page=14#03
4. 計算機掃描出php漏洞如何處理
系統漏洞是指應用軟體或操作系統軟體在邏輯設計上的缺陷或在編寫時產生的錯誤,這個缺陷或錯誤可以被不法者或者電腦黑客利用,通過植入木馬、病毒等方式來攻擊或控制整個電腦,從而竊取您電腦中的重要資料和信息,甚至破壞您的系統。
漏洞原理windows系統漏洞問題是與時間緊密相關的。一個windows系統從發布的那一天起,隨著用戶的深入使用,系統中存在的漏洞會被不斷暴露出來,這些早先被發現的漏洞也會不斷被系統供應商:微軟公司發布的補丁軟體修補,或在以後發布的新版系統中得以糾正。而在新版系統糾正了舊版本中具有漏洞的同時,也會引入一些新的漏洞和錯誤。
因而隨著時間的推移,舊的系統漏洞會不斷消失,新的系統漏洞會不斷出現。系統漏洞問題也會長期存在。
安全公告
2014年2月12日凌晨,微軟發布7個漏洞補丁,包括4個「嚴重」級別的補丁和3個「重要」級別的漏洞。分別修復了Internet Explorer、.Net、Windows中存在的多個漏洞和一個Windows8專屬漏洞。
2014年1月16日,發布1月安全公告,其中4個漏洞補丁級別均為「重要」,它們分別修復了MS Office Word、Windows 7內核和舊版本Windows 內核驅動中存在的多個遠程代碼執行和提權漏洞。同時推送的還有Adobe Flash Player 12的版本更新安裝包及Adobe Reader安全更新。
微軟一般在每月第二周的周二發布安全公告,被稱為「補丁星期二」。
漏洞級別
漏洞按嚴重程度分為「緊急」、「重要」、「警告」、「注意」四種。一般的說,在微軟的網站上定義為重要的都應該及時更新。
漏洞修復
系統自動更新Update,或用電腦管家等安全軟體自動修復。
希望我能幫助你解疑釋惑。
5. 用什麼工具檢測php網站是否存在注入漏洞
PHP的安全性現在是越來越好了PHP6。0版本都把存在的SQL漏洞都解決了
但是為了安全起見還是應該做安全檢測
檢測方法:SQL 注入法 、腳本代碼、參數傳遞等方法 具體情況參看PHP官方網站 安全篇章
6. 怎樣判斷自己的php網站是否有漏洞
把表單變數的收集寫好一點就OK了,
如果是用post方式接收的,就處理一些特別的字元,例如<或者>或者其他的..
如果從get方式接收的,就要對URL進行處理了.
7. php漏洞怎麼修復
近日,我們SINE安全對metinfo進行網站安全檢測發現,metinfo米拓建站系統存在高危的sql注入漏洞,攻擊者可以利用該漏洞對網站的代碼進行sql注入攻擊,偽造惡意的sql非法語句,對網站的資料庫,以及後端伺服器進行攻擊,該metinfo漏洞影響版本較為廣泛,metinfo6.1.0版本,metinfo 6.1.3版本,metinfo 6.2.0都會受到該網站漏洞的攻擊。
metinfo建站系統使用的PHP語言開發,資料庫採用的是mysql架構開發的,在整體的網站使用過程中,簡單易操作,可視化的對網站外觀進行設計,第三方API介面豐富,模板文件較多,深受企業網站的青睞,建站成本較低可以一鍵搭建網站,目前國內使用metinfo建站的網站數量較多,該metinfo漏洞會使大部分的網站受到攻擊影響,嚴重的網站首頁被篡改,跳轉到其他網站,以及網站被劫持跳轉到惡意網站上,包括網站被掛馬,快照被劫持等情況都會發生。
關於該metinfo漏洞的分析,我們來看下漏洞產生的原因:
該漏洞產生在member會員文件夾下的basic.php代碼文件:
metinfo獨有的設計風格,使用了MVC框架進行設計,該漏洞的主要點在於使用了auth類的調用方式,在解碼加密過程的演算法中出現了問題,我們再來看下代碼:
通常加密,以及解密的演算法是不可以可逆的,但是metinfo寫的代碼可以進行偽造函數值進行逆算,我們看這個構造的惡意函數,這里的key值是從前端met_webkeys值里進行獲取,將獲取到的webkeys值進行寫入,並賦值到配置文件里,config目錄下的config_safe.php代碼里。我們通過查看這個代碼,發現寫入的值沒有辦法進行PHP腳本的執行,本來以為可是偽造key值進行寫入木馬,發現行不通,但是在這個偽造key值的過程可以進行sql注入攻擊,採用是延時注入方式進行
關於metinfo漏洞的修復建議,以及安全方案
目前metinfo最新版本發布是2019年3月28日,6.2.0版本,官方並沒有針對此sql注入漏洞進行修復,建議網站的運營者對網站的後台地址進行更改,管理員的賬號密碼進行更改,更改為數字+字元+大小寫的12位以上的組合方式,對網站的配置文件目錄進行安全限制,去掉PHP腳本執行許可權,如果自己對代碼不是太熟悉,建議找專業的網站安全公司來處理修復漏洞,國內SINE安全,以及綠盟,啟明星辰,都是比較不錯的網站漏洞修復公司。
8. 關於PHP漏洞修復
因為官方已經停止更新了,是不會出新包的。如果想要修復,只能把自己的版本迭代,升級到php7。物競天擇,只能狠狠心更新版本了,項目可能要大換血