日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php扩展 waf,基于PHP扩展的WAF实现

發布時間:2023/12/3 php 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php扩展 waf,基于PHP扩展的WAF实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

訪問一下看看結果:

可以看到ls命令成功的執行了,也就是說我們的正常文件是不會被攔截的,而只有upload目錄中的文件會被攔截,這樣做又會引發另一個弊端,倘若攻擊者通過某種方法將shell寫入正常的文件中,或是與業務結合起來,那么這種防御手段就很難生效了。具體如何防御還要結合其他的特征進行檢測,并不是沒有辦法了,實際應用中不能只依靠檢測文件路徑這一條規則,需要結合業務進行部署防御方案。

另一種方法與這個hook三個OPCODE的方法類似,無非就是麻煩一點,感興趣的同學可以圍觀下面的參考文獻:http://security.tencent.com/index.php/blog/msg/19 ,這里描述了hook函數的比較詳細的思路。

0x04 不談業務的安全都是耍流氓

總結一下,攔截的方法大概就是上面兩種,但是攔截的依據還沒有決定,如何判斷一個調用system()的腳本是否為webshell呢?如果我們的WAF放到生產環境,啥都不管亂殺,很有可能造成正常的業務無法工作。我自己總結了幾個方法,可能聯合起來使用效果更好一些。

根據目錄判斷 通常情況下,上傳的文件一般都有專門的目錄進行存放,例如upload/等,正常的業務文件是不在這其中的,于是我們可以簡單的只對這個目錄進行處理,其他目錄的文件一律放行。

根據文件權限判斷 這需要網站的維護者對網站的權限進行嚴格的控制,例如,所有的web文件均是644,且為root:root所有。上傳的文件為www:www所有,根據權限的不同進行查殺,對于默認的web文件進行放行,對屬于非root:root的文件進行查殺。也可以根據w標志判斷,通過未知方式getshell的文件很多是帶有w標志的,所以可以根據這些特征進行查殺。

變形檢測 如果發現一個文件調用了assert、system、preg_replace /e等等,但是在源文件中沒有發現這些關鍵字,還等什么,這個文件很大的可能就是shell了。(zend_get_executed_filename可以獲得文件的標志以及文件的路徑,例如出現了assert,說明該腳本使用了assert執行代碼。)

黑名單檢測 就像傳統的殺軟一樣,總會有那么一部分的特征病毒庫,我們也可以建立一部分的webshell特征庫,先依靠特征庫殺掉一部分,再根據其他的情況進行判斷。如果將動態檢測和靜態檢測結合起來,查殺、攔截效果應當都會有顯著的改善。

0x05 所以這WAF有啥用

安全需要和業務結合起來進行,不談業務的安全都是耍流氓。因為是擴展級別的WAF,在部署的時候可能需要重新編譯,修改配置文件等等。批量式部署可能顯得不是那么方便,而且要根據業務需要進行各種細微的調整。如果僅僅是幾臺服務器,相信這種WAF還是十分棒的,調整起來也十分方便。

如果能開發出適合批量部署的基于擴展的WAF,那么可能會比較容易普及,畢竟在業務上部署WAF不是一個簡單的事情。

參考資料:

http://security.tencent.com/index.php/blog/msg/57 http://security.tencent.com/index.php/blog/msg/19 http://www.walu.cc/phpbook/ http://www.php-internals.com/book/?p=index http://www.nowamagic.net/librarys/veda/detail/1543

總結

以上是生活随笔為你收集整理的php扩展 waf,基于PHP扩展的WAF实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。