PHP一句话后门过狗姿势万千之理论篇
写在前面:
过狗相关的资料网上也是有很多,所以在我接下来的文章中,可能观点或者举例可能会与网上部分雷同,或者表述不够全面。
但是我只能说,我所传达给大家的信息,是我目前所掌握或者了解的,不能保证所有人都会有收获,但是个人水平有限,可能您觉得文章水平过低,或者并无太大营养。但是跳出文章本身,无论何种技术,重在交流,分享与总结。
另外,希望年轻人不要有太多戾气,更多的是需要保持一个谦逊态度对待技术,尤其是这个浮躁的安全界。
以上是我的开场白(没办法,这是我的一贯风格)
写php后门连载的目的。
希望大家能够暂缓日站的脚步,静下心来想一想,我们在用菜刀做一些除(sang)暴(jin)安(tian)良(liang)的事的时候,php做了些什么,安全狗又蜷缩在门后目睹了些什么。
其实我更愿意传授安全之道,而非渗透之术。
参考过网上很多种已有的php后门的写法,总之思路各种奇葩与新奇,但是衡量一个优秀的php后门并不是单单的看代码多少,过狗怎么样,而是一种基于实际场景的一种变通,所以,php后门这是一门艺术。
连接后门时发生了什么
所以当我在菜刀中双击连接的时候到底发生了什么,安全狗又是如何发现后门并拦截的?
php后门原理很简单,当我们连接时,实际上我们会向php文件post数据,这个数据的内容为我们需要php去执行的代码,当php获取到数据并执行后,将返回一个response。
那么waf能够识别到什么层次?
其实waf最多获取到tcp数据,也就是说,可以获取到我们所post的数据,与服务器所返回的数据,至于php执行命令的过程,用了什么对象,走了什么函数,大部分waf是无法得知的,只能检测敏感字符的提交与返回,与特征查杀。
所以即使是eavl()这个最原始的函数php如何去执行,waf是不管的,但是实际情况你可能还没到那一步,后门就被和谐了。
因为在此之前waf肯定要对后门文件进行特征分析,这关过了,才到数据层,最后才到返回层,那么接下来第二章与第三章将从后门构造与数据提交角度来探讨过狗的方式。
由于waf软件众多,防护机制不尽相同,我的一系列文章全部以安全狗为例。
WAF如何查杀
首先,后门写入的方式有很多,比如程序本身的move函数,远程包含,数据库导出等等方式,在这里就不详细展开了,
在后门写入过程中,waf首先会对文件的格式进行一个黑白名单检测,如一律不允许php文件上传。
如果上传这一步可以过,那么接下来就是对上传的文件内容进行被动查杀。
而后门特征的查杀一般在后门上传的过程与访问的过程,waf会使用相关的正则与代码预编译来判断是否为危险代码。
以前还经常有用字符串叠加或者加注释来躲避字符串匹配,但是现在很难单纯靠这种方式来绕过了。
当我们的代码本身可以过狗,加工post数据后门执行也没有问题后,最后就是WAF对返回的敏感信息进行检测与过滤了。
除此之外WAF可能会对特殊上传的文件进行权限控制,例如无法执行某些命令等等。
理论篇其实本身并没有太多的东西可说,更多的是希望大家对于WAF有个初步的认识,不要盲(qiang)目(xing)过狗,滥用菜刀。
那么下面两篇文章会分别从后门构造篇与数据传输篇来阐述过狗的来龙去脉。
其实狗狗还是很可耐的额。
文章转自漏洞人生
PHP一句话后门过狗姿势万千之理论篇的更多相关文章
- php一句话后门过狗姿势万千之传输层加工(1)
写在前面:过狗相关的资料网上也是有很多,所以在我接下来的文章中,可能观点或者举例可能会与网上部分雷同,或者表述不够全面.但是我只能说,我所传达给大家的信息,是我目前所掌握或者了解的,不能保证所有人都会 ...
- php一句话后门过狗姿势万千之传输层加工【三】
既然木马已就绪,那么想要利用木马,必然有一个数据传输的过程,数据提交是必须的,数据返回一般也会有的,除非执行特殊命令. 当我们用普通菜刀连接后门时,数据时如何提交的,狗狗又是如何识别的,下面结合一个实 ...
- php一句话后门过狗姿势万千之后门构造与隐藏【二】
第二章节主要带给大家一些后门构造思路,与安全狗文件特征检测的机制. 另外强调一下,这篇文章需要大家对于php有一定的认识. 本章节分为三大部分,第一部分针对初级,分析菜刀php代码的执行过程,较基础: ...
- PHP一句话后门过狗姿势万千之传输层加工
既然木马已就绪,那么想要利用木马,必然有一个数据传输的过程,数据提交是必须的,数据返回一般也会有的,除非执行特殊命令. 当我们用普通菜刀连接后门时,数据时如何提交的,狗狗又是如何识别的,下面结合一个实 ...
- PHP一句话后门过狗姿势万千之后门构造与隐藏
第二章节主要带给大家一些后门构造思路,与安全狗文件特征检测的机制. 另外强调一下,这篇文章需要大家对于php有一定的认识. 本章节分为三大部分,第一部分针对初级,分析菜刀php代码的执行过程,较基础: ...
- 那些强悍的PHP一句话后门
强悍的PHP一句话后门这类后门让网站.服务器管理员很是头疼,经常要换着方法进行各种检测,而很多新出现的编写技术,用普通的检测方法是没法发现并处理的.今天我们细数一些有意思的PHP一句话木马.利用404 ...
- 一些变态的PHP一句话后门收集
这类后门让网站.服务器管理员很是头疼,经常要换着方法进行各种检测,而很多新出现的编写技术,用普通的检测方法是没法发现并处理的.今天我们细数一些有意思的PHP一句话木马. 利用404页面隐藏PHP小马 ...
- 强大的PHP一句话后门
强悍的PHP一句话后门 这类后门让网站.服务器管理员很是头疼,经常要换着方法进行各种检测,而很多新出现的编写技术,用普通的检测方法是没法发现并处理的. 今天我们细数一些有意思的PHP一句话木马. 1 ...
- 9. 那些强悍的PHP一句话后门
强悍的PHP一句话后门 这类后门让网站.服务器管理员很是头疼,经常要换着方法进行各种检测,而很多新出现的编写技术,用普通的检测方法是没法发现并处理的.今天我们细数一些有意思的PHP一句话木马. 利用4 ...
随机推荐
- C++中volatile及编译器优化
首先看一下单词"volatile"的释义: volatile [ˈvɑlətl] adj. 易变的,不稳定的; (液体或油)易挥发的; 爆炸性的; 快活的,轻快的; 下边是&qu ...
- [Selenium] 如何使 InternetExplorerDriver 每次启动的端口不会随机变化
InternetExplorerDriver 在不指定任何参数的情况下,启动监听端口会随机变化.如果需要保证其端口固定不变,可通过InternetExplorerDriverService 达到目的. ...
- 整合ssh的时候出现空指针java.lang.NullPointerException
转自:https://blog.csdn.net/koudailidexiaolong/article/details/9468857 HTTP Status 500 - type Exception ...
- MyEclipse10.0的破解过程详细图解
1 首先下载破解软件包:http://pan.baidu.com/s/1pLB6xEb 并解压: 2 按照百度经验操作即可http://jingyan.baidu.com/article/cbf0e5 ...
- 用文件作为Swap分区
用文件作为Swap分区 1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小).# dd if=/dev/zero ...
- centos7用lvm扩展xfs文件系统的根分区
centos7中默认使用的是xfs文件系统,此文件系统的特点,可以另外查找资料,这里说一下对文件系统的扩容: 1.先看一下没扩容之前的分区大小 2.添加一块新磁盘,并进行分区.格式化(格式化的时候用m ...
- DateTime.Now.ToString("yyyy/MM/dd") 输出的结果是 2006-03-16(转)
今天我在使用 DateTime.Now.ToString("yyyy/MM/dd") 输出的结果是 2006-03-16 而不是我想要的 2006/03/16,都快把我郁闷的不行了 ...
- KDotAlert
一个iPhone X的适配让楼主受尽了自定义的苦,使用系统API多好,所以在楼主不懈的努力下,终于和组长达成一致:逐步用系统控件替换代码里面的自定义控件,第一个挨刀的就是 BlockAlertsAnd ...
- IBATIS sql 小于(<) 写法 特殊符号写法
SELECT * FROM XXX where column1 <![CDATA [ < 100 ]]> ************************************ ...
- poj1564
dfs判重 #include<stdio.h> #include<iostream> #include<cstdio> #include<queue> ...