首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一句话免杀编写思路

前言

在渗透测试时,我们向网站服务器写入一句话webshell时,往往会被某狗,某锁,某卫士拦截,导致我们拿不下shell。

一句话webshell 的工作原理:当前PHP脚本会去读取并执行变量中的内容。

文章我介绍两种方法:

1.eval/assert花式变形

2.写入缓存,执行webshell

eval/assert 花式变形

这是最常见的一句话webshell,当然这是不免杀的,一些常见的waf 是基于特定规则查杀文件,当我们绕过这些规则就实现了所谓的免杀。

废话不多说只直接上免杀一句话

当然这个webshell 也可以绕过某锁,首先我们先在网站目录下写入最简单的一句话webshell

不用尝试就知道肯定会被拦截

但是这里一句话是免杀的

下面是一些不常用的PHP函数,可以利用这些函数编写免杀一句话,函数用法自行百度。

写入缓存,执行webshell

这种方法用到两个函数

tempnam() : 建立一个具有唯一文件名的文件

sys_get_temp_dir() : 返回用于临时文件的目录

首先介绍一个概念:定界符,PHP定界符的作用是按照原样,包括换行格式什么的,输出在其内部的东西;

举个栗子:

那么我们可以在定界符内写入php代码,利用前面提到的两个函数构造webshell。

代码如下:

这种方法同样也可以绕过某锁

小小总结

文章提供了两种编写免杀一句话的思路,当然还有更多编写免杀一句话的奇淫技巧。免杀就是在不断尝试的基础上玩转的,欢迎和大家一起探讨更多姿势。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180306B12GVD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券