首先掌握有关X-Forwarded-For和Referer的知识:
(1)X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。xff 是http的拓展头部,作用是使Web服务器获取访问用户的IP真实地址(可伪造)。由于很多用户通过代理服务器进行访问,服务器只能获取代理服务器的IP地址,而xff的作用在于记录用户的真实IP,以及代理服务器的IP。格式为:X-Forwarded-For: 本机IP, 代理1IP, 代理2IP, 代理2IP
(2)HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。referer 是http的拓展头部,作用是记录当前请求页面的来源页面的地址。服务器使用referer确认访问来源,如果referer内容不符合要求,服务器可以拦截或者重定向请求。
webshell
顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。webshell常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限。由于webshell其大多是以动态脚本的形式出现,也有人称之为网站的后门工具。
PHP代表,超文本预处理器(PHP: Hypertext Preprocessor)
<?php @eval($_POST['shell']);?>
这是一个典型的后门程序,首先我解释一下eval函数的作用,
//eval — 把字符串作为PHP代码执行 eval(‘echo 123;’);//输出123
也就是说,所有的字符串放入到eval当中,eval会把字符串解析为php代码来进行执行,那么结合$_POST[‘posha’]的话,只要使用post传输时在name为posha的值中写入任何字符串,都可以当做php代码来执行,这个时候就有点可怕了,比如写入一段循环删除整站代码等等。
这句话代码原理很简单,POST指的是客户端传送过去的数据,eval表示将这些数据当成代码执行。
对于黑客来说就是只需要在你网页上的对话框输入代码,提交以后就会被实际执行。
这只是表征,也就是最后留下的后门,但是黑客如何进来留后门的,那可能性就太多了,说不定上传功能有漏洞,ftp密码被破,管理员权限被获取,等等。最后留下这句木马只是下次使用方便而已。
屏蔽掉出错信息,有@时就算连接出错,也不会报错的