导航:首页 > 编程语言 > 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相关的资料

热点内容
最美壁纸安卓叫什么 浏览:476
达虎电影网最新官网 浏览:877
python就业形势 浏览:433
自制解压游戏手工 浏览:498
m1代码编译 浏览:678
华为怎么安装安卓app 浏览:552
福昕阅读器打印pdf 浏览:788
python中mean函数 浏览:404
《消失的眼角膜》简介 浏览:420
男主是纳粹军官,弟弟是苏联 浏览:799
韩国小电影网站 浏览:936
有没有没有赌场广告的影视网 浏览:125
51单片机测量电容 浏览:153
有床戏的爱情电影 浏览:374
大陆激情大尺度露点电影 浏览:652
欢乐斗地主比例算法 浏览:871
韩国电影美京和仁奎在线 浏览:760
午马电影 浏览:271
下巴上长了两个睾丸 美国电影 浏览:902
电影gl 浏览:34