写在前面:php
过狗相关的资料网上也是有不少,因此在我接下来的文章中,可能观点或者举例可能会与网上部分雷同,或者表述不够全面。数据库
可是我只能说,我所传达给你们的信息,是我目前所掌握或者了解的,不能保证全部人都会有收获,可是我的水平有限,可能您以为文章水平太低,或者并没有太大养分。可是跳出文章自己,不管何种技术,重在交流,分享与总结。安全
另外,但愿年轻人不要有太多戾气,更多的是须要保持一个谦逊态度对待技术,尤为是这个浮躁的安全界。服务器
以上是个人开场白(没办法,这是个人一向风格)tcp
写php后门连载的目的。函数
但愿你们可以暂缓日站的脚步,静下心来想想,咱们在用菜刀作一些除(sang)暴(jin)安(tian)良(liang)的事的时候,php作了些什么,安全狗又蜷缩在门后目击了些什么。post
其实我更愿意传授安全之道,而非渗透之术。对象
参考过网上不少种已有的php后门的写法,总之思路各类奇葩与新奇,可是衡量一个优秀的php后门并非单单的看代码多少,过狗怎么样,而是一种基于实际场景的一种变通,因此,php后门这是一门艺术。blog
因此当我在菜刀中双击链接的时候到底发生了什么,安全狗又是如何发现后门并拦截的?字符串
php后门原理很简单,当咱们链接时,实际上咱们会向php文件post数据,这个数据的内容为咱们须要php去执行的代码,当php获取到数据并执行后,将返回一个response。
那么waf可以识别到什么层次?
其实waf最多获取到tcp数据,也就是说,能够获取到咱们所post的数据,与服务器所返回的数据,至于php执行命令的过程,用了什么对象,走了什么函数,大部分waf是没法得知的,只能检测敏感字符的提交与返回,与特征查杀。
因此即便是eavl()这个最原始的函数php如何去执行,waf是无论的,可是实际状况你可能还没到那一步,后门就被和谐了。
由于在此以前waf确定要对后门文件进行特征分析,这关过了,才到数据层,最后才到返回层,那么接下来第二章与第三章将从后门构造与数据提交角度来探讨过狗的方式。
因为waf软件众多,防御机制不尽相同,个人一系列文章所有以安全狗为例。
首先,后门写入的方式有不少,好比程序自己的move函数,远程包含,数据库导出等等方式,在这里就不详细展开了,
在后门写入过程当中,waf首先会对文件的格式进行一个黑白名单检测,如一概不容许php文件上传。
若是上传这一步能够过,那么接下来就是对上传的文件内容进行被动查杀。
然后门特征的查杀通常在后门上传的过程与访问的过程,waf会使用相关的正则与代码预编译来判断是否为危险代码。
之前还常常有用字符串叠加或者加注释来躲避字符串匹配,可是如今很难单纯靠这种方式来绕过了。
当咱们的代码自己能够过狗,加工post数据后门执行也没有问题后,最后就是WAF对返回的敏感信息进行检测与过滤了。
除此以外WAF可能会对特殊上传的文件进行权限控制,例如没法执行某些命令等等。
理论篇其实自己并无太多的东西可说,更多的是但愿你们对于WAF有个初步的认识,不要盲(qiang)目(xing)过狗,滥用菜刀。
那么下面两篇文章会分别从后门构造篇与数据传输篇来阐述过狗的前因后果。
其实狗狗仍是很可耐的额。
文章转自漏洞人生