聲明:

本文由博主首發于:阿里先知?https://xianzhi.aliyun.com/forum/read/441.html

如需要轉載,請先聯系先知技術社區授權;未經授權請勿轉載。

寫在前面:

過狗相關的資料網上也是有很多,所以在我接下來的文章中,可能觀點或者舉例可能會與網上部分雷同,或者表述不夠全面。

但是我只能說,我所傳達給大家的信息,是我目前所掌握或者了解的,不能保證所有人都會有收獲,但是個人水平有限,可能您覺得文章水平過低,或者并無太大營養。但是跳出文章本身,無論何種技術,重在交流,分享與總結。

另外,希望年輕人不要有太多戾氣,更多的是需要保持一個謙遜態度對待技術,尤其是這個浮躁的安全界。

以上是我的開場白(沒辦法,這是我的一貫風格)

寫php后門連載的目的。

希望大家能夠暫緩日站的腳步,靜下心來想一想,我們在用菜刀做一些除(sang)暴(jin)安(tian)良(liang)的事的時候,php做了些什么,安全狗又蜷縮在門后目睹了些什么。

其實我更愿意傳授安全之道,而非滲透之術。

參考過網上很多種已有的php后門的寫法,總之思路各種奇葩與新奇,但是衡量一個優秀的php后門并不是單單的看代碼多少,過狗怎么樣,而是一種基于實際場景的一種變通,所以,php后門這是一門藝術。

?連接后門時發生了什么

所以當我在菜刀中雙擊連接的時候到底發生了什么,安全狗又是如何發現后門并攔截的?

php后門原理很簡單,當我們連接時,實際上我們會向php文件post數據,這個數據的內容為我們需要php去執行的代碼,當php獲取到數據并執行后,將返回一個response。

那么waf能夠識別到什么層次?

其實waf最多獲取到tcp數據,也就是說,可以獲取到我們所post的數據,與服務器所返回的數據,至于php執行命令的過程,用了什么對象,走了什么函數,大部分waf是無法得知的,只能檢測敏感字符的提交與返回,與特征查殺。

所以即使是eavl()這個最原始的函數php如何去執行,waf是不管的,但是實際情況你可能還沒到那一步,后門就被和諧了。

因為在此之前waf肯定要對后門文件進行特征分析,這關過了,才到數據層,最后才到返回層,那么接下來第二章與第三章將從后門構造與數據提交角度來探討過狗的方式。

由于waf軟件眾多,防護機制不盡相同,我的一系列文章全部以安全狗為例。

WAF如何查殺

首先,后門寫入的方式有很多,比如程序本身的move函數,遠程包含,數據庫導出等等方式,在這里就不詳細展開了,

在后門寫入過程中,waf首先會對文件的格式進行一個黑白名單檢測,如一律不允許php文件上傳。

如果上傳這一步可以過,那么接下來就是對上傳的文件內容進行被動查殺。

而后門特征的查殺一般在后門上傳的過程與訪問的過程,waf會使用相關的正則與代碼預編譯來判斷是否為危險代碼。

以前還經常有用字符串疊加或者加注釋來躲避字符串匹配,但是現在很難單純靠這種方式來繞過了。

當我們的代碼本身可以過狗,加工post數據后門執行也沒有問題后,最后就是WAF對返回的敏感信息進行檢測與過濾了。

除此之外WAF可能會對特殊上傳的文件進行權限控制,例如無法執行某些命令等等。

理論篇其實本身并沒有太多的東西可說,更多的是希望大家對于WAF有個初步的認識,不要盲(qiang)目(xing)過狗,濫用菜刀。

那么下面兩篇文章會分別從后門構造篇與數據傳輸篇來闡述過狗的來龍去脈。

其實狗狗還是很可耐的額。

下一篇:php一句話后門過狗姿勢萬千之后門構造與隱藏【二】

您的支持將鼓勵我們繼續創作!

[微信] 掃描二維碼打賞

[支付寶] 掃描二維碼打賞