我如何弄清黑客如何将file upload到我的服务器?

所以我只是被黑客攻击,通过在我的服务器上创build一个“up.php”文件,然后上传一个可以访问的x99.php来查找各种信息,如DB密码等。

我的主要问题是弄清楚用户如何设法上传“up.php”文件。 看着apache日志,用户发送了一个反馈脚本(处理表单提交),据我所知,脚本本身不容易被SQL注入,但是让我们假设它是。

用户使用黑客脚本发送反馈脚本(大概),然后在5分钟内什么也没做,此时他们只是请求服务器上的“up.php”脚本。 现在,他们到底是如何设法在服务器上获得up.php的呢?

我已经查询过mysql-binlog文件,看看在这个时候是否有奇怪的查询,但我可以看到垃圾邮件反馈查询。 SQL注入会出现在mysql-bin文件中吗? 即如果他们设法运行在服务器上创build一个文件的查询(“进入outfile”)等等,当然我会看到它在日志中?

我不知道他们是如何设法做到这一点,所以我希望对弱点有所build议。

检查'最后'没有login到服务器未知的IP

更多信息:

  1. CMS是自编码的,不能用于常见的wordpress / drupal /任何攻击

  2. up.php上传/创build在一个全球图像目录,但据我所知,没有上传机制,通常会在这个目录下创build文件,因为它不是用于上传用户,只有全局文件(图像)

  3. 我的反馈脚本是在virtuals / atlas / feedback.php和全局图像目录是虚拟/ bilder – 所以不在同一个目录

  4. feedback.php是100%自写的,并具有正常的SQL注入预防(它唯一的事情就是logging反馈),它不处理或保存任何文件。 但是,每个脚本都有一些支持文件可以加载,而其中一个可能存在问题的可能性很小。

从up.php创build时转储:

93.182.168.6 0,359 - [30/Jul/2017:11:26:32 +0200] "POST /atlas/feedback.php HTTP/1.1" 200 1817 "http://www.opennet.se/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21" 93.182.168.6 - - [30/Jul/2017:11:26:32 +0200] "POST /atlas/feedback.php HTTP/1.1" 302 20 "http://www.opennet.se/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21" 93.182.168.6 - - [30/Jul/2017:11:31:43 +0200] "GET //bilder/up.php HTTP/1.1" 200 131 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0" 93.182.168.6 - - [30/Jul/2017:11:31:54 +0200] "POST //bilder/up.php HTTP/1.1" 200 58 "http://www.opennet.se//bilder/up.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0" 93.182.168.6 - - [30/Jul/2017:11:32:00 +0200] "GET //bilder/x99.php HTTP/1.1" 200 122 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0" 

feedback.php在此之前被请求(POST:ed)多次,但是这是请求up.php的请求。 正如你所看到的,在feedback.php垃圾邮件和up.php请求之间有5分钟的停顿。

目录的chmod:

 drwxr-sr-x 33 atlas sandman 4096 Jul 25 19:23 atlas drwxr-xr-x 44 atlas sandman 4096 Jul 31 11:09 bilder