一句话木马原理
什么是一句话木马?
Webshell:webshell就是以网页文件形式存在的一种命令执行环境,也可以将其称之为一种网页后门,顾名思义,web的含义是显然需要服务器开放web服务,shell的含义是取得对服务器某种程度上的操作权限。
Webshell通常被叫做入侵者通过网站端口对网站服务器的某种程度上操作的权限,由于webshell大多数是以动态脚本的形式出现,也有人称之为网站的后门工具,一句话木马、大马、小马都可以叫webshell。
而我们的一句话木马只需要一行代码的木马,短短的一行代码,配合webshell工具使用就会有很强大的效果。
一句话木马讲解类型
PHP一句话木马讲解
以PHP为例,代码形式:
首先存在一个名为shell的变量,shell的取值为HTTP的POST方式,web服务器对shell取值以后,然后通过eval()函数来执行shell的内容。
使用:eval使用需要加上system(),sytem函数执行外部程序,并且显示输出,或者蚁剑连接。
ASP一句话木马讲解
代码形式:
<%ebal request(“cmd”)%>
上面的asp一句话和php一句话,通过eval函数执行request中的cmd的内容,原理与php一句话类型类似。
JSP一句话木马讲解
代码形式:
<%Runtime.getRuntime().exec(request.getParameter(“cmd”));%>
Runtime类封装了运行时的环境,每个java应用程序都有一个Runtime类实例,使用应用程序能够与其运行的环境相连接,使用getRuntime()构建Runtime类实例,getRuntime()返回与当前java应用程序相关的运行时对象,获取实例后调用exec()方法执行系统命令,request为JSP内置对象,getRuntime()方法获取请求参数cmd的值构建命令。
我们还是重点以php来做这样的一个研究,因为现在目前百分之七八十的网站都是通过php这门脚本语言去编写的网站。