web站点默认80为服务端口,关于它的各种安全问题不断的发布出来,这些漏洞中一些甚至允许攻击者获得系统管理员的权限进入站点内部,以下是Zenomorph对一些80端口攻击方式的痕迹的研究,和告诉你怎样从日志记录中发现问题。
这个请求在unix系统中列出/etc目录的所有文件
http://news.softhouse.com.cn/news/show/’http://host/cgi-bin/lame.cgi?page=cat%20access_log|grep%20-i%20\"lame\’"
这个请求cat命令的执行并且grep命令也将执行,查询出”lame\"
(5)\";\" 请求
在unix系统,这个字符允许多个命令在一行执行
Example:
# id;uname -a
(执行id命令后,紧跟着执行uname命令)
一些web程序用这个字符,可能导致在你的IDS日志中失败的警告,你应该仔细的检查你的web程序,让你的IDS警报失败的几率降低。
(6)\"<\" 和 \">\" 请求
应该检查你的日志记录中这两个字符,众多的原因中,首要的一个是这个字符表明了添加数据在文件中
Example 1:
# echo \"your hax0red h0 h0\" >> /etc/motd (请求写信息在motd这个文件中)
一个攻击者可以容易的用象上面的这个请求篡改你的web页面。比如著名的RDS exploit常被攻击者用于更改web主页面。
Example 2:
http://host/something.php=<b>Hi%20mom%20Im%20Bold!</b>
你会注意到这里html语言的标志,他同样用了“〈”,“〉”字符,这种攻击不能导致攻击者对系统进行访问,它迷惑人们认为这是个合法的信息在web站点中(导致人们在访问这个联结的时候访问到攻击者设定的地址,这种请求可能会被转变成16进制的编码字符形式,使攻击的痕迹不那么明显)
(7)\"!\"请求
这种字符请求常用语对SS(Server Side Include) I进行攻击,如果攻击者迷惑用户点击被攻击者设定的联结,和上面的一样。
Example:
http://news.softhouse.com.cn/news/show/’http://host1/something.php=<!%20--#include%20virtual=\"http://host2/fake-article.html\’"-->
这个列子是攻击者可能会做的,它让一个host2站点上的文件看起来是来自于 host1上面的(当然,需要访问者访问这个被攻击者设定的联结。这种请求可能被转化成16进制的编码伪装,不易发现)
同时,这种方式也可以以web站点的权限执行命令
Example:
http://news.softhouse.com.cn/news/show/’http://host/something.php=<!%20#<!--#exec%20cmd=\"id\’"-->
这个列子在远程的系统上执行“id\"的命令,它将显示这个web站点用户的id,通常是”nobody\"或者“www\"
这种形式也允许包含隐藏文件。
Example:
http://news.softhouse.com.cn/news/show/’http://host/something.php=<!%20--#include%20virtual=\".htpasswd\’"-->
这个隐藏文件.htpasswd不会被显示出来,Apache建立的规则会拒绝这种以.ht 形式的请求,而SSI标志会绕过这种限制,并导致安全问题
(8)\"<?\" 请求
这种攻击用于试图在远程的web应用程序中插入PHP程序,它可能允许执行命令,这取决于服务器的设置,和其他起作用的一些因素(比如php设置为安全模式)
Example: http://host/something.php=<? passthru(\"id\");?>
在某些简单的php应用程序中,它可能会在远程系统上以web站点用户的权限执行本地命令
(9)\"`\" 请求
这种字符后面常用在perl中执行命令,这个字符在web应用程序中不是经常的使用,所以,如果看到它在你的日志中,应该非常小心