導航:首頁 > 編程語言 > shelldetectphp

shelldetectphp

發布時間:2022-10-06 22:45:27

php命令行工具檢測php文件語法格式是否正確的方法是

使用PHP命令行,如果你是Windows下,需要先設置環境變數

1.右鍵我的電腦->屬性->高級設置

2.點高級->環境變數

㈡ 跨站攻擊

除了自身的硬體條件外,還需要對你的伺服器做出安全設置控制,用2003系統來說下具體安全設置如下:
1、伺服器安全設置之--硬碟許可權篇

這里著重談需要的許可權,也就是最終文件夾或硬碟需要的許可權,可以防禦各種木馬入侵,提權攻擊,跨站攻擊等。本實例經過多次試驗,安全性能很好,伺服器基本沒有被木馬威脅的擔憂了。

硬碟或文件夾: C:\ D:\ E:\ F:\ 類推
主要許可權部分:
Administrators 完全控制 無
該文件夾,子文件夾及文件
<不是繼承的>
CREATOR OWNER 完全控制
只有子文件夾及文件
<不是繼承的>
SYSTEM 完全控制
該文件夾,子文件夾及文件
<不是繼承的>

其他許可權部分:
如果安裝了其他運行環境,比如PHP等,則根據PHP的環境功能要求來設置硬碟許可權,一般是安裝目錄加上users讀取運行許可權就足夠了,比如c:\php的話,就在根目錄許可權繼承的情況下加上users讀取運行許可權,需要寫入數據的比如tmp文件夾,則把users的寫刪許可權加上,運行許可權不要,然後把虛擬主機用戶的讀許可權拒絕即可。如果是mysql的話,用一個獨立用戶運行MYSQL會更安全,下面會有介紹。如果是winwebmail,則最好建立獨立的應用程序池和獨立IIS用戶,然後整個安裝目錄有users用戶的讀/運行/寫/許可權,IIS用戶則相同,這個IIS用戶就只用在winwebmail的WEB訪問中,其他IIS站點切勿使用
硬碟設置需要根據你的實際需要來設置許可權!
2、伺服器安全設置之--系統服務篇(設置完畢需要重新啟動)

*除非特殊情況非開不可,下列系統服務要停止並禁用:
1、Alerter 2、Application Layer Gateway Service 3、
Background Intelligent Transfer Service
4、Computer Browser 5、Distributed File System 6、Help and Support 7、Messenger 8、NetMeeting Remote Desktop Sharing 9、Print Spooler 10、Remote Registry 11、Task Scheler 12、TCP/IP NetBIOS Helper 13、Telnet 14、Workstation 以上是windows2003server標准服務當中需要停止的服務,作為IIS網路伺服器,以上服務務必要停止,如果需要SSL證書服務,則設置方法不同。如果你裝有虛擬主機系統,設置當然也不一樣!更詳細設置可以根據自己的需要找更詳細的參考資料。

3、伺服器安全設置之--組件安全設置篇 (非常重要!!!)
A、卸載WScript.Shell 和 Shell.application 組件,將下面的代碼保存為一個.BAT文件執行(分2000和2003系統)
win2000
regsvr32/u C:\WINNT\System32\wshom.ocx
del C:\WINNT\System32\wshom.ocx
regsvr32/u C:\WINNT\system32\shell32.dll
del C:\WINNT\system32\shell32.dll
win2003
regsvr32/u C:\WINDOWS\System32\wshom.ocx
del C:\WINDOWS\System32\wshom.ocx
regsvr32/u C:\WINDOWS\system32\shell32.dll
del C:\WINDOWS\system32\shell32.dll
B、改名不安全組件,需要注意的是組件的名稱和Clsid都要改,並且要改徹底了,不要照抄,要自己改
【開始→運行→regedit→回車】打開注冊表編輯器

然後【編輯→查找→填寫Shell.application→查找下一個】

用這個方法能找到兩個注冊表項:

{13709620-C279-11CE-A49E-444553540000} 和 Shell.application 。

第一步:為了確保萬無一失,把這兩個注冊表項導出來,保存為xxxx.reg 文件。

第二步:比如我們想做這樣的更改

13709620-C279-11CE-A49E-444553540000 改名為 13709620-C279-11CE-A49E-444553540001

Shell.application 改名為 Shell.application_nohack

第三步:那麼,就把剛才導出的.reg文件里的內容按上面的對應關系替換掉,然後把修改好的.reg文件導入到注冊表中(雙擊即可),導入了改名後的注冊表項之後,別忘記了刪除原有的那兩個項目。這里需要注意一點,Clsid中只能是十個數字和ABCDEF六個字母。

其實,只要把對應注冊表項導出來備份,然後直接改鍵名就可以了。
WScript.Shell 和 Shell.application 組件是 腳本入侵過程中,提升許可權的重要環節,這兩個組件的卸載和修改對應注冊鍵名,可以很大程度的提高虛擬主機的腳本安全性能,一般來說,ASP和php類腳本提升許可權的功能是無法實現了,再加上一些系統服務、硬碟訪問許可權、埠過濾、本地安全策略的設置,虛擬主機因該說,安全性能有非常大的提高,黑客入侵的可能性是非常低了。注銷了Shell組件之後,侵入者運行提升工具的可能性就很小了,但是prel等別的腳本語言也有shell能力,為防萬一,還是設置一下為好。下面是另外一種設置,大同小異。
一、禁止使用FileSystemObject組件
FileSystemObject可以對文件進行常規操作,可以通過修改注冊表,將此組件改名,來防止此類木馬的危害。

HKEY_CLASSES_ROOT\Scripting.FileSystemObject\

改名為其它的名字,如:改為 FileSystemObject_ChangeName

自己以後調用的時候使用這個就可以正常調用此組件了

也要將clsid值也改一下

HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID\項目的值

也可以將其刪除,來防止此類木馬的危害。

2000注銷此組件命令:RegSrv32 /u C:\WINNT\SYSTEM\scrrun.dll

2003注銷此組件命令:RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll

如何禁止Guest用戶使用scrrun.dll來防止調用此組件?

使用這個命令:cacls C:\WINNT\system32\scrrun.dll /e /d guests

二、禁止使用WScript.Shell組件

WScript.Shell可以調用系統內核運行DOS基本命令

可以通過修改注冊表,將此組件改名,來防止此類木馬的危害。

HKEY_CLASSES_ROOT\WScript.Shell\及HKEY_CLASSES_ROOT\WScript.Shell.1\

改名為其它的名字,如:改為WScript.Shell_ChangeName 或 WScript.Shell.1_ChangeName

自己以後調用的時候使用這個就可以正常調用此組件了

也要將clsid值也改一下

HKEY_CLASSES_ROOT\WScript.Shell\CLSID\項目的值

HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\項目的值

也可以將其刪除,來防止此類木馬的危害。

三、禁止使用Shell.Application組件

Shell.Application可以調用系統內核運行DOS基本命令

可以通過修改注冊表,將此組件改名,來防止此類木馬的危害。

HKEY_CLASSES_ROOT\Shell.Application\



HKEY_CLASSES_ROOT\Shell.Application.1\

改名為其它的名字,如:改為Shell.Application_ChangeName 或 Shell.Application.1_ChangeName

自己以後調用的時候使用這個就可以正常調用此組件了

也要將clsid值也改一下

HKEY_CLASSES_ROOT\Shell.Application\CLSID\項目的值

HKEY_CLASSES_ROOT\Shell.Application\CLSID\項目的值

也可以將其刪除,來防止此類木馬的危害。

禁止Guest用戶使用shell32.dll來防止調用此組件。

2000使用命令:cacls C:\WINNT\system32\shell32.dll /e /d guests
2003使用命令:cacls C:\WINDOWS\system32\shell32.dll /e /d guests

註:操作均需要重新啟動WEB服務後才會生效。

四、調用Cmd.exe

禁用Guests組用戶調用cmd.exe

2000使用命令:cacls C:\WINNT\system32\Cmd.exe /e /d guests
2003使用命令:cacls C:\WINDOWS\system32\Cmd.exe /e /d guests

通過以上四步的設置基本可以防範目前比較流行的幾種木馬,但最有效的辦法還是通過綜合安全設置,將伺服器、程序安全都達到一定標准,才可能將安全等級設置較高,防範更多非法入侵。

C、防止Serv-U許可權提升 (適用於 Serv-U6.0 以前版本,之後可以直接設置密碼)
先停掉Serv-U服務

用Ultraedit打開ServUDaemon.exe

查找 Ascii:LocalAdministrator 和 #l@$ak#.lk;0@P

修改成等長度的其它字元就可以了,ServUAdmin.exe也一樣處理。

另外注意設置Serv-U所在的文件夾的許可權,不要讓IIS匿名用戶有讀取的許可權,否則人家下走你修改過的文件,照樣可以分析出你的管理員名和密碼。

4、伺服器安全設置之--IIS用戶設置方法
不同站點使用不用的IIS用戶。另外許可權的設置要細致。
5、伺服器安全設置之--伺服器安全和性能配置
把下面文本保存為: windows2000-2003伺服器安全和性能注冊表自動配置文件.reg 運行即可。[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoRecentDocsMenu"=hex:01,00,00,00
"NoRecentDocsHistory"=hex:01,00,00,00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
"DontDisplayLastUserName"="1"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"restrictanonymous"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Parameters]
"AutoShareServer"=dword:00000000
"AutoShareWks"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnableICMPRedirect"=dword:00000000
"KeepAliveTime"=dword:000927c0
"SynAttackProtect"=dword:00000002
"TcpMaxHalfOpen"=dword:000001f4
"TcpMaxHalfOpenRetried"=dword:00000190
""=dword:00000001
"TcpMaxDataRetransmissions"=dword:00000003
"TCPMaxPortsExhausted"=dword:00000005
"DisableIPSourceRouting"=dword:00000002
"TcpTimedWaitDelay"=dword:0000001e
"TcpNumConnections"=dword:00004e20
"EnablePMTUDiscovery"=dword:00000000
"NoNameReleaseOnDemand"=dword:00000001
"EnableDeadGWDetect"=dword:00000000
"PerformRouterDiscovery"=dword:00000000
"EnableICMPRedirects"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
"BacklogIncrement"=dword:00000005
"MaxConnBackLog"=dword:000007d0

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters]
"EnableDynamicBacklog"=dword:00000001
"MinimumDynamicBacklog"=dword:00000014
"MaximumDynamicBacklog"=dword:00007530
"DynamicBacklogGrowthDelta"=dword:0000000a
功能:可抵禦DDOS攻擊2-3萬包,提高伺服器TCP-IP整體安全性能(效果等於軟體防火牆,節約了系統資源)
6、伺服器安全設置之--IP安全策略 (僅僅列出需要屏蔽或阻止的埠或協議)

協議 IP協議埠 源地址 目標地址 描述 方式
ICMP -- -- -- ICMP 阻止
UDP 135 任何IP地址 我的IP地址 135-UDP 阻止
UDP 136 任何IP地址 我的IP地址 136-UDP 阻止
UDP 137 任何IP地址 我的IP地址 137-UDP 阻止
UDP 138 任何IP地址 我的IP地址 138-UDP 阻止
UDP 139 任何IP地址 我的IP地址 139-UDP 阻止
TCP 445 任何IP地址-從任意埠 我的IP地址-445 445-TCP 阻止
UDP 445 任何IP地址-從任意埠 我的IP地址-445 445-UDP 阻止
UDP 69 任何IP地址-從任意埠 我的IP地址-69 69-入 阻止
UDP 69 我的IP地址-69 任何IP地址-任意埠 69-出 阻止
TCP 4444 任何IP地址-從任意埠 我的IP地址-4444 4444-TCP 阻止
TCP 1026 我的IP地址-1026 任何IP地址-任意埠 灰鴿子-1026 阻止
TCP 1027 我的IP地址-1027 任何IP地址-任意埠 灰鴿子-1027 阻止
TCP 1028 我的IP地址-1028 任何IP地址-任意埠 灰鴿子-1028 阻止
UDP 1026 我的IP地址-1026 任何IP地址-任意埠 灰鴿子-1026 阻止
UDP 1027 我的IP地址-1027 任何IP地址-任意埠 灰鴿子-1027 阻止
UDP 1028 我的IP地址-1028 任何IP地址-任意埠 灰鴿子-1028 阻止
TCP 21 我的IP地址-從任意埠 任何IP地址-到21埠 阻止tftp出站 阻止
TCP 99 我的IP地址-99 任何IP地址-任意埠 阻止99shell 阻止

以上是IP安全策略里的設置,可以根據實際情況,增加或刪除埠
7、伺服器安全設置之--本地安全策略設置

安全策略自動更新命令:GPUpdate /force (應用組策略自動生效不需重新啟動)

開始菜單—>管理工具—>本地安全策略

A、本地策略——>審核策略

審核策略更改 成功 失敗
審核登錄事件 成功 失敗
審核對象訪問 失敗
審核過程跟蹤 無審核
審核目錄服務訪問 失敗
審核特權使用 失敗
審核系統事件 成功 失敗
審核賬戶登錄事件 成功 失敗
審核賬戶管理 成功 失敗
B、本地策略——>用戶許可權分配

關閉系統:只有Administrators組、其它全部刪除。
通過終端服務拒絕登陸:加入Guests、User組
通過終端服務允許登陸:只加入Administrators組,其他全部刪除

C、本地策略——>安全選項

互動式登陸:不顯示上次的用戶名 啟用
網路訪問:不允許SAM帳戶和共享的匿名枚舉 啟用
網路訪問:不允許為網路身份驗證儲存憑證 啟用
網路訪問:可匿名訪問的共享 全部刪除
網路訪問:可匿名訪問的命 全部刪除
網路訪問:可遠程訪問的注冊表路徑 全部刪除
網路訪問:可遠程訪問的注冊表路徑和子路徑 全部刪除
帳戶:重命名來賓帳戶 重命名一個帳戶
帳戶:重命名系統管理員帳戶 重命名一個帳戶

還有很多設置!你可以多找找資料!
以上回答你滿意么?

㈢ 如何通過php頁面執行shell腳本

exec裡面,a.bash前面有sh這個bin文件么,就把bin文件路勁加在a.sh前。try下

㈣ 域名後加shell.php是什麼意思

訪問伺服器的時候可以在域名後面加上指引性文件,可以用於適應 單個項目工程服務 給多個終端提供服務的情況,比如:一個伺服器需要向Web網頁、計算機應用程序、APP應用、微信小程序......但又不想使用同一個服務埠,這種情況就可以用指引性文件替代埠,比如:域名/shell.php 作為計算機應用程序端服務的訪問入口、域名/index.php 作為web網頁端的服務入口......(每種指引性地址 都需要在伺服器注冊,否則直接使用是無法識別的)
此種方式 並不一定 用於指引,還有其他用途,主要看使用者的目的。有的使用者會用此方式 切換不同的資料庫、數據轉接服務、業務分發......

linux 下寫 shell kill掉運行時間超過5分鍾的PHP進程

可以的,能根據Cpu累積耗時殺掉程序。
相關進程名字要知道哈。
假設以php進程為名字。
p_name=php
while true
do
sleep 3
#每3秒檢查一次。
pro="$(ps -A|grep "$p_name"|head -n1)"
time="$(echo $pro|awk '{
split($3,tab,/:/); if (tab[2]+tab[1]*60>=5) {print 1}else{print 0}
}')"
#上面那句利用awk判斷時間是不是大於5分鍾。是則輸出1,否則輸出0.
pid="$(echo $pro|awk '{print $1}')"
#如果為1 就殺掉那個進程。
if [ $time = '1' ]
kill -9 $pid
fi
done

㈥ linux如何用shell運行一個php腳本

在 Linux 下執行 php 腳本時通常是使用以下命令(視php安裝路徑而定):

/usr/local/php/bin/phptest.php


另外,為簡化輸入可把此php執行程序 到系統命令目錄下:

cp/usr/local/php/bin/php/usr/sbin/


驗證:輸入以下命令,如正確獲取 php 版本,說明操作成功。

php-v

參考:

http://www.360doc.com/content/10/1124/15/4330887_72030254.shtml

㈦ 想讓PHP執行shell腳本,如何安裝apache和PHP

一、安裝PHP
-------------------------------------------------------
第1步:下載
下載PHP安裝程序,並解壓縮。(下載頁面為http://www.php.net/ downloads.php,下載地址為http://www.php.net/get/php-5.2.1-Win32.zip/from/a/mirror)當前最新版本是php-5.2.1。
第2步:安裝
把下載下來的PHP安裝包解壓到你的C盤根目錄(這里選擇C根目錄盤是為了以後修改調試方便用,你也可以選擇不同的目錄),解壓後應該能得到一個類似於"php-5.1.2-Win32"的目錄,把目錄名稱改成"PHP"。
第3步:添加php.ini到系統目錄
打開剛才解壓後生成的PHP目錄,找到PHP配置文件「php.ini-dist」,把它改名為「php.ini」,然後復制到系統目錄中。如果操作系統安裝在C盤,那麼系統目錄在 Windows XP下就是"C:\windows",在Windows 2000下是"C:\winnt")。
第4步:設置環境變數
設置以下環境變數:PHP_HOME=C:\PHP;C:\PHP\ext,保存退出後。
第5步:修改PHP配置文件
修改php.ini中的register_globals=on,這樣在取得請求表單時可以直接使用表單名稱$name,而不用使用$_REQUEST["name"]。
二、配置Apache支持PHP
-------------------------------------------------------
第1步:打開Apache 2 的配置文件
打開Apache 2的配置文件「http.conf」,可以通過「開始->程序->Apache->configure Apache server->edit the Apache httpd.conf configuration file」打開該配置文件。默認情況下,該文件存放在C:\Program Files\Apache Group\Apache2\conf\httpd.conf,我們也可以通過「我的電腦」直接打開該文件進行編輯。
第2步:配置Apache載入PHP模塊
在「http.conf」文件中找到LoadMole字樣的信息,然後在LoadMole段信息的最下方添加一行信息:
LoadMole php5_mole C:/PHP/php5apache2_2.dll
這里要解釋一下,「php5_mole」是模塊的名稱,後面跟的路徑則隨PHP安裝目錄而變,這三個字串之間是用空格分隔的。
第3步:使Apache解析PHP文件
接下來再查找addtype字樣的信息,在addtype信息段的最下方添加如下幾行信息:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5

這時就可以在Apache下的htdocs目錄中創建一個php測試文件:
<?
phpinfo();
?>

三、配置PHP支持MySQL
-------------------------------------------------------
第1步:設置 php.ini中的extension_dir = "C:/php/ext"。
第2步:將「C:\PHP\libmysql.dll」復制到「C:\WINDOWS\system32」。
第3步:將「C:\PHP\ext\php_mysql.dll」復制到「C:\WINDOWS\system32」。
第4步:修改C:\WINDOWS\下的php.ini文件,去掉extension=php_mysql.dll之前的「;」。
這樣在PHP的程序里就可以使用MySQL擴展庫的函數了,即PHP+MySQL的應用程序才能夠正常運行。

㈧ shell腳本做文本解析同php和python比哪個效率更高

shell比較快,因為shell很多用的命令都是C寫的。

題外話:
我也是做運維的,我說說我的看法,不喜勿噴
腳本這一塊的話,我覺得順序跟腳本要實現的功能、復雜度有關系。
一般來說我會根據要實現的功能來決定使用哪門語言,比如說:如果我的腳本只是簡單的操作一下文件,創建一下目錄,或者只是臨時解決一些小問題或事件,那shell無論是開發效率和運行效率,都是其它語言沒法比的。
稍微大點的場景會使用python:比如,一個系列的工具集,有各種跟運維有關的方法,而且還要持續性往裡加功能的,那shell就沒法弄了(維護成本非常高)。
其他語言我不考慮,因為我主要的都是centos,自帶有python,其它語言還要另外裝環境。。我懶 :D

㈨ 如何讓php執行shell

php給我們提供了system(),exec(),passthru()這三個函數來調用外部的命令.
雖然這三個命令都能執行linux系統的shell命令,但是其實他們是有區別的:
system() 輸出並返回最後一行shell結果。
exec() 不輸出結果,返回最後一行shell結果,所有結果可以保存到一個返回的數組裡面。
passthru() 只調用命令,把命令的運行結果原樣地直接輸出到標准輸出設備上。
相同點:都可以獲得命令執行的狀態碼

例子:system("/usr/local/bin/webalizer/webalizer");

閱讀全文

與shelldetectphp相關的資料

熱點內容
dd命令u盤 瀏覽:568
單片機生日快樂程序 瀏覽:891
安卓手機連車載的叫什麼 瀏覽:223
怎麼讓自己的手機鍵盤變得好看app 瀏覽:53
能看qq的文件夾 瀏覽:515
android二維碼生成代碼 瀏覽:567
焦爐氣壓縮機 瀏覽:402
imap接收郵件伺服器地址 瀏覽:291
小喬肖恩解壓密碼 瀏覽:645
php網頁網盤源碼 瀏覽:181
簽到任務源碼 瀏覽:814
母親節的文案怎麼寫app 瀏覽:984
加密協議aes找不到 瀏覽:250
java伺服器端開發源碼 瀏覽:551
編譯器編譯運行快捷鍵 瀏覽:333
住房app怎麼快速選房 瀏覽:174
怎麼在電腦上編譯成功 瀏覽:214
單片機可調時鍾設計方案 瀏覽:192
qq文件夾密碼忘記怎麼找回 瀏覽:683
php擴展插件 瀏覽:608