今天网站被攻击,通过分析网站日志,发现如下:
[17/Apr/2011:11:42:36 +0800] "POST /userface/123.jpg/1.php HTTP/1.0" 200 346 "http://www.wwwstandard.cn" "Mozilla/5.0 (Windows; Windows NT 5.1; en-US) Firefox/3.5.0"
经过多次post之后,网站里面多了一个php木马文件。123.jpg是用户头像,是黑客自己上传的,可以打开。
黑客又在后面加了一个“/1.php”
这个可能是系统漏洞,因为测试其他网站都不能在jpg图像后面加1.php,应该是报404错误,但我们网站可以正常访问,显示的是123.jpg图片。
现在做的是服务器禁止在图片后面加后缀访问。但我不明白黑客是怎么通过对图片post来实现上传一个php木马到网站的。难道他的图片里面有恶意代码?求解!
[17/Apr/2011:11:42:36 +0800] "POST /userface/123.jpg/1.php HTTP/1.0" 200 346 "http://www.wwwstandard.cn" "Mozilla/5.0 (Windows; Windows NT 5.1; en-US) Firefox/3.5.0"
经过多次post之后,网站里面多了一个php木马文件。123.jpg是用户头像,是黑客自己上传的,可以打开。
黑客又在后面加了一个“/1.php”
这个可能是系统漏洞,因为测试其他网站都不能在jpg图像后面加1.php,应该是报404错误,但我们网站可以正常访问,显示的是123.jpg图片。
现在做的是服务器禁止在图片后面加后缀访问。但我不明白黑客是怎么通过对图片post来实现上传一个php木马到网站的。难道他的图片里面有恶意代码?求解!
在下面放三个文件
xxx.jpg——正常图片
index.php——header或者载入上面这个jpg
1.php——木马http://xxx/path/123.jpg——实际是访问http://xxx/path/123.jpg/index.php,返回图片
http://xxx/path/123.jpg/1.php——访问木马不过如果你是本地检查(不通过http方式),就不是上面的情况了
更进一步的说,很多方法是判断16进制文件头部分,根据头部分来判断文件类型,这种方法更准确些,但是对于更厉害的人,他完全有可能伪装头文件,让这种判断文件头的方法失效,但是能这么做的意义不大了。毕竟到了服务器端权利已经被限制了。除非它能突破这个限制,那就是更高级别的较量了,那是黑客们谈论的问题了,不是不可能允许着类执行文件来操作!
例如判断最后的字母是否为 Jpg,gif 等.