☆ rwall、spray服务 这两个服务与rusers服务同在/usr/lib/netsvc/目录下: /usr/lib/netsvc/rusers/rpc.rusersd /usr/lib/netsvc/rwall/rpc.rwalld /usr/lib/netsvc/spray/rpc.sprayd 参看rpc.rwalld(1M)、rwall(1M)、rpc.sprayd(1M)、spray(1M)手册页。 $ rpcinfo -p program vers proto port service 100002 2 udp 32774 rusersd 100002 3 udp 32774 rusersd 100002 2 tcp 32771 rusersd 100002 3 tcp 32771 rusersd 100012 1 udp 32775 sprayd 100008 1 udp 32776 walld 与其他服务不同,这两个服务只由UDP承载,这使得请求报文可以轻易伪造源IP,结 合下面的事,真是很糟。 rwall服务无需任何认证,即可远程访问之,即任意客户端在没有用户名、口令的情 况下可以访问一台Solaris的rwall服务,向当前登录该Solaris的所有用户广播。严 格说来,这是一件很危险的事。无数的\n广播出去后,收到广播的终端会被一片空白。 用curl下载一个二进制文件时忘了指定-o,或者用cat显示一个二进制文件,此时有 控制字符向stdout输出,所发生的事想必都清楚吧。如果攻击者自己写rwall服务的 客户端程序,调用WALLPROC_WALL广播控制字符,收到广播的终端就危险了。 spray服务也挺无聊的。怎么看怎么像是等着别人来DoS的。攻击者伪造源IP调用远程 过程SPRAYPROC_SPRAY,尽管.x中限制了SPRAYMAX,但仍像是udp flood攻击。 Solaris缺省开着这俩服务,真是没事找事,去/etc/inetd.conf中关了算了。其它系 统要是开着这俩服务,也不是啥好事。