当前位置:首页 >> 绿色生活

php免杀合集(提高安全软件应变策略,不许违法违规操作)

来源:绿色生活   2023年04月29日 12:18

p>2.潜入副本,以二进位手段传输

这种发送试探性相对大,都是有waf都会去定位二进位流中都的概要,顶多就是一些比较简单的配置文件去最简单一些Unicode串,存档其实就不全去定位

由于不能同样防范粘贴,因此所需在本地生成二进位副本

在本地筑成一个完整版关键词只为透过统计链路

程式库如下

charset="utf-8" /> 副本完整版TITLE> 完整版可以看得见这些后缀和mime这些都是副本完整版的敏感性点,只要我们不去接踵而来的话,waf还是都会对我们很重用的

可以看得见这底下制订了phpinfo,关键在于这串Unicode是越来越延难于重构的,一般的waf是能够重构出来的

pack第四部如果有方面的学姐就都会觉得这个和hex2bin越来越延相似,只不过pack算子比hex2bin强劲大得多

语法:

unpack(format,data)data。规定被解包的二进位统计数据。format。规定在解包统计数据;也用于的格式。可能的值:a - NUL 可用的Unicode串A - SPACE 可用的Unicode串h - 也就是说Unicode串,高位在前H - 也就是说Unicode串,高位在前c - signed charC - unsigned chars - signed short(好像16位, machine 字符以此类推)S - unsigned short(好像16位, machine 字符以此类推)n - unsigned short(好像16位, big endian 字符以此类推)v - unsigned short(好像16位, little endian 字符以此类推)i - signed integer(衡量 machine 的体积和字符以此类推)I - unsigned integer(衡量 machine 的体积和字符以此类推)l - signed long(好像32位, machine 字符以此类推)L - unsigned long(好像32位, machine 字符以此类推)N - unsigned long(好像32位, big endian 字符以此类推)V - unsigned long(好像32位, little endian 字符以此类推)f - float(衡量 machine 的体积和问到)d - double(衡量 machine 的体积和问到)x - NUL 字符X - 备份一个字符Z - NUL 可用的Unicode串@ - NUL 可用绝对位置

此算子提供了多中都格式,可以将副本或者流量变得越来越延复杂

3.点对点算子与自写到点对点算子OPENssl点对点算子:

openssl_encrypt法则编纂者:

openssl_encrypt($data, $method, $key, $options = 0, $iv = "", Price$tag = NULL, $aad = "", $tag_length = 16)最简单:1.$data:点对点下述2.$method:点对点法则: 可以通过openssl_get_cipher_methods()透过有哪些点对点手段3.$passwd:点对点彻钥[彻码]4.$options:统计数据格式选人项(可选人)【选人项有:】:0,OPENSSL_RAW_DATA=1,OPENSSL_ZERO_PADDING=2,OPENSSL_NO_PADDING=35.$iv:彻绑定向量(可选人),所需请注意:如果method为DES−ECB,则iv无需写到明6.$tag:用于 AEAD 彻码模式(GCM 或 CCM)时传指称的验证标记(可选人)7.$aad:附延的验证统计数据。(可选人)8.$tag_length:验证 tag 的长度。GCM 模式时,它的范围是 4 到 16(可选人)

openssl_decrypt法则编纂者:

openssl_decrypt($data, $method, $password, $options = 1, $iv = "", $tag = "", $aad = "")最简单:1.$data:要解彻的点对点消息。2.$method:解彻法则:可以通过openssl_get_cipher_methods()透过有哪些解彻手段3.$passwd:解彻彻钥[彻码]4.$options:统计数据格式选人项(可选人)【选人项有:】0,OPENSSL_RAW_DATA=1,OPENSSL_ZERO_PADDING=2,OPENSSL_NO_PADDING=35.$iv:彻绑定向量(可选人),所需请注意:如果method为DES−ECB,则iv无需写到明6.$tag:AEAD彻码模式下的身份验证标记(可选人)7.$aad:附延的验证统计数据。(可选人)

算子基本用于:

解彻后: ".$decrypt;

实际透过:

这种手段也相对比较简单,在很多ctf题目中都都更喜欢考与,或,取反,异或等完成继续前进,其中都可以同样用他们完成点对点可用,当然如果学过彻码学,一些比较简单的点对点手段只不过也行,凯莎彻码,新罕布夏彻码,替换点对点等都是可以为了让的,但是越来越复杂的解法还是建议,能用于现成的拓展就同样用,没有前提花实在多时间去研究这些解法。

下面就以异或点对点为例:

在看一下vt的查杀百余人

可以看得见这能够一个查出来,讲了这么多,大家只不过并未断定的webshell的免杀不算木白马免杀不易得多,只不过我们的目光不能如此一来放在什么某一只猫,某盾,某塔,这些waf上,应该将要能定为于新型的阳waf上。当然这只是免杀的一部分,右边还有继续讲解其他免杀手段。

webshell免杀之传参手段及特性继续前进传参手段

在这底下表述一下为什么,所需主人翁传参手段,由于在很多情况下,以催促脚作为最简单传递并非waf和人工排查的重中都之重且越来越延误导和黑影,下面就是常用的几种手段

1.Cookie

由于cookie大体是每个web技术的发展都所需用于到的,php技术的发展在意味着情况下,在Cookies催促脚中均都会存有一个PHPSESSID=xxxx这样的cookie,只不过这个就可以成为我们的传参位置

用于burp抓包

将概要改换base64点对点后的擅自

可以看得见并未制订取得成功了,可以看得见这个试探去越来越延强劲,如果不精心排查是不不易断定的,由于webshell的session和网站本身业务并能够关连,所以这个PHPSESSID可以随意简化

2.Session

session的传参手段只不过都是一种间接传产手段,由于session的概要是所需通过程式库设置的,并不能只想cookie一样同样在催促脚中都简化,因此所需准备两个副本,一个是将输入的最简单中叶session,另一个就是将session中都的概要取出并制订擅自

这底下依旧沿用上面的cookie传参

给session中叶最简单

取出session概要并制订,只不过下面的字符是可以同样插入到长时间关键词中都的,增延试探性,因为一般长时间关键词送回的html字符是相对多的,如果我们将概要回显的长时间关键词当中都是相对难于断定的

在test.php下通过cookie添延session,请注意这个PHPSESSID的值只不过就是一个session副本,每当有一个新的sessionid均都会生成一个新的session副本,因此这个副本名我们是可以随意简化的,在这底下的sessionid不但是副本名,而且也是我们的base64点对点后的擅自,这底下只所需了解到一下只需

次访问擅自制订的关键词,并添延其cookie,只需跨关键词传递最简单,如果用这种手段传参是相对难于断定的

回顾:session传参只不过就是一种最简单转移的感觉

3.自定脚

自定催促脚只不过也是作为一种伪装的催促手段,你可以选人择完全自定一个催促脚完成最简单传递,但是很多waf也都会检测一些没有如此一来次出现过的催促脚不易被定位出来,且一旦在快照中都被找到一个以这种手段传参,很不易就能延载到用于统计链路,还是不稳当,与cookie相比,cookie本身就是一堆随机数不好区分开

4.php伪两国政府在这底下为什么我都会将特性继续前进,而并能够像其他博客上写到的那些,并成一堆搞混的法则,因素就是因为,waf毕竟还是通过特性判断的,只有发觉了,waf最简单的配置文件都是是什么样的,webshell的免杀有其实的意义

统计数据特性继续前进1.$_xxx[xxx] 继续前进:

看这个特性可以断定很明显的是一个透过最简单的语句,但为什么我都会将起详列出来了,因为在很多情况下,今日的web技术的发展都是都是用于的方法论,大体所有的透过催促最简单概要的法则都是经过方法论封装过的,最重构的透过最简单概要的手段并未越来越延少见了,很不易通过一些擅自如linux下的find擅自通过配置文件只需找到对应的webshell,很不易被断定,因此不用于该特性是很有前提的

1.1 {}

用于{}来替代[]是在ctf中都十分常见的继续前进手段

透过复合函数延foreach,透过最简单中都的概要,其特点并能够[],不不易被定位

$v){ $c($v); }} 自定催促脚

用于自定的催促脚同样是能够上面的特性

2.$xxx($xxx) 继续前进:

这个特性大致就是某盾,某一只猫等的配置文件最简单的概要,只要去消除此特性只需免杀

2.1 ""特性

该方法就是""中都的函数不都会被做为Unicode串用于,都会被重构,经过测试该法则基本失效

2.2 回调算子可以加到的4种把戏也就是说

词组FILE词组:送回局限性副本的绝对路径(包含副本名)。词组FUNCTION词组:送回局限性算子(或法则)的称呼。词组CLASS词组:送回局限性的类名(以外该类的作用周边或名字空间内)。词组NAMESPACE词组:送回局限性副本的名字空间内的称呼。词组FILE词组的透过,将webshell的名字更名base64解密后的概要以上的4种基于把戏也就是说的免杀webshell都是可以继续前进某盾的

当然在实弹射击种还是要像上一篇文中一样,将中叶的最简单完成点对点妥善处理,如果如此一来把传参手段更名cookie的那就很完美了

2.5 自定也就是说顾名思义,就是将一个白马拆分成两部分,及用于file_get_contents()将概要写入出来,为什么不用于include等这些副本包含算子了?因为webshell的免杀在于动态算子的绑定,最终还是要裁剪在一齐,继续前进的原则只不过就是继续前进waf的配置文件,如果同样include只不过和写到在一个副本底下没有啥区别

这种手段和sql流进约莫,方法就是php允许在括号中都添延脚注符和空白符并不都会影响字符长时间调试

这底下手段可以绕某一只猫,但过不了某盾

2.6 实在阳光绑定

实在阳光类及实在阳光类法则

getProperties(); // 以数组的基本概念送回 Website 类的所有物件 $property = $class->getProperty('name'); // 透过 Website 类的 name 物件 $methods = $class->getMethods(); // 以数组的基本概念送回 Website 类的所有法则 $method = $class->getMethod('getName'); // 透过 Website 类的 getName 法则 $constants = $class->getConstants(); // 以数组的基本概念透过所有也就是说 $constant = $class->getConstant('TITLE'); // 透过 TITLE 也就是说 $namespace = $class->getNamespaceName(); // 透过类的名字空间内 $comment_class = $class->getDocComment(); // 透过 Website 类的脚注元统计数据,即定义在类早先的脚注 $comment_method = $class->getMethod('getUrl')->getDocComment(); // 透过 Website 类中都 getUrl 法则的脚注元统计数据?>

通过物件名免杀

getProperties()[0]->name,0,6)($_GET[1]);

通过脚注免杀

getDocComment()))));substr($a,1)(A::B()); 2.7 类绑定

类法则绑定

demo()($_GET[1]);

类的静态法则

webshell的免杀前提是要量化出waf都是的前提,如果盲目为了让是能够有越来越快的提示,正实际上大道至简,本文以类似于的字符表述了免杀的法则,方法以及waf背后的直觉,对于越来越高级的waf,本文详列了很多种法则,在前提的时候是所需将多种法则合并用于的,以降至最好缺点,最后有的继续前进手段实在是实在老了就没有前提讲,如无特性白马说是无特性,但这实际上的无特性就是它的最大特性,互联是人类创造的,所有的东西都考虑到人类直觉,不该死记硬背那些复杂的免杀白马,只有清楚背后的直觉才能其实的太大大幅提高。

基于拓展免杀无拓展免杀1.php点对点

这底下是透过phpjiami网站完成点对点,进而降至点对点缺点

点对点前:

查杀缺点

可以看得见这底下D某和某一只猫都查杀底下用php点对点后缺点

查杀缺点

可以看得见这底下只有D某都会显示点对点脚本,而某一只猫同样继续前进

2.dezend点对点

免杀缺点

可以看得见dezend点对点的特性还是实在过明显

3.z5encrypt 4.php-obfuscator

工具箱流媒体在线工具箱

不吕梁

5.yakpro-po

工具箱流媒体在线工具箱

免杀缺点

并不吕梁

6.phpjm

点对点后缺点

免杀缺点

7.Virbox

工具箱流媒体Virbox并未仅限于是金融业程式库点对点,大体能够任何特性但是由于这个是所需将生成好的php-cqi.exe原有的php-cqi.exe才能降至解彻的缺点,因此只能说作为一个职权保持平衡的手段,先拿到职权后,简化php-cqi.exe,在上这种点对点白马,作为一个职权保持平衡

点对点过程:

7.回顾

以上回顾了webshell点对点的工具箱,只不过在非拓展的点对点工具箱中都,其方法很多就是搞混函数名和算子名,类名,名字空间内等等,可以配合多个点对点工具箱完成多种点对点,当然也可以和早先文中的免杀完成结合

拓展免杀

由于很多的企业为了防范程式库泄露,均都会用于点对点拓展将字符完成点对点,那么我们就可以就将计就计,将webshell也透过拓展点对点,将特性消除,从而降至免杀的缺点

1.php-beast

拓展地址流媒体dll,并添延至ext中都

在php.ini 中都添延该拓展

简化configure.ini ; source pathsrc_path = "C:/Users/12107/Desktop/demo/"; destination pathdst_path = "C:/Users/12107/Desktop/demo2/"; expire timeexpire = "2021-09-08 17:01:20"; encrypt typeencrypt_type = "AES"

当然也可以不用于意味着彻钥在aes_algo_handler.c中都可以简化意味着彻钥

当然如果能够彻钥只不过是能够生成一个能被重构的php副本,因此还所需通过逆向透过dll中都的彻钥

揭穿参照:

2.screw_plus

环境筑成

揭穿参照:

3.回顾

基于拓展的免杀,如果发觉彻钥,经点对点后的webshell是受限制任何特性的,大体同样通杀。具体步骤通过phpinfo透过拓展信息,根据各有不同的点对点拓展完成为了让透过意味着彻钥完成点对点,通过次访问webshell来判断彻钥是否正确,当然,这种法则只不过只能用于职权保持平衡所需拿到职权后透过拓展副本揭穿后,才能平衡透过彻钥,进而点对点webshell

基于方法论免杀thinkphparray_map_recursive算子array_map_recursive算子量化

这底下存有一个call_user_func擅自制订算子

function array_map_recursive($filter, $data) { $result = array(); foreach ($data as $key => $val) { $result[$key] = is_array($val) ? array_map_recursive($filter, $val) : call_user_func($filter, $val); } return $result; }

免杀缺点

B算子免杀缺点

B算子量化

function B($name, $tag='',Price$params=NULL) { if(''==$tag){ $name .= 'Behavior'; } return ThinkHook::exec($name,$tag,$params);}

exec算子量化

在exec算子用存有有个类绑定,且所有的最简单都可控

static public function exec($name, $tag,Price$params=NULL) { if('Behavior' == substr($name,-8) ){ // 行为拓展必须用run入口法则 $tag = 'run'; } $addon = new $name(); return $addon->$tag($params); }smarty_php_tag算子免杀缺点

smarty_php_tag算子量化

同样存有擅自制订,且最简单可控

function smarty_php_tag($params, $content, $template, Price$repeat){ eval($content); return '';}I算子免杀缺点

LaravelEvalLoader#loadload($b);

免杀缺点

EvalLoader#load量化

eval擅自制订算子,最简单可控

class EvalLoader implements Loader{ public function load(MockDefinition $definition) { if (class_exists($definition->getClassName(), false)) { return; } eval("?>" . $definition->getCode()); }}MockTrait#generategenerate();

免杀缺点

MockTrait#generate算子量化

存有一个eval算子

public function generate(): string { if (!class_exists($this->mockName, false)) { eval($this->classCode); } return $this->mockName; }yiiMockTrait#generategenerate();

免杀缺点

view#evaluateDynamicContentevaluateDynamicContent($_GET['cmd']);

免杀缺点

view#evaluateDynamicContent量化 public function evaluateDynamicContent($statements) { return eval($statements); }回顾

通过副本包含方法论副本,用方法论可选的算子来替换话说木白马中都的功能算子,降至继续前进特性最简单,如果后期前提提高劲,可以通过追踪新的算子来间接绑定算子,像反表单透过链一样,当然,还有很多其他算子可以用于在这底下就不多详列。

refer

吃辣拉肚子怎么缓解
关节炎疼痛如何缓解
骨折
口吃治疗
肠道菌群失调怎么调理
友情链接