水木清華BBS集錦:怎樣去掉Solaris系統登錄時的逆向解析
2024-07-26 00:29:36
供稿:網友
發信人: cirrus (望眼欲穿), 信區: Unix
標 題: Re: 我該怎樣去掉Solaris系統登錄時的逆向解析
發信站: BBS 水木清華站 (Tue Oct 26 11:33:54 1999)
我在linux和FreeBSD下做過,改inetd、telnetd、login
之類的程序,把里面用到gethostbyaddr()去掉就可以了。
Solaris沒有源代碼,估計是很難搞定的。
或許可以自己寫一個dll,用LD_PRELOAD屏蔽掉gethostbyaddr()
的功能?
【 在 Elale (虎子) 的大作中提到: 】
: 關于Solaris系統登錄的問題
: 我現在用的是Solaris2.5.1操作系統,每次登錄的時候都需要
: 逆向解析我的登錄地址。但是因為有時候我是撥號上來的,所以
: 地址一般都不知道是什么,所以就顯得特別的慢。我不能通過向
: /etc/hosts添加一條記錄來修正這個問題,因為我根本不知道地址
: 是什么?
: 我該怎樣去掉Solaris系統登錄時的逆向解析?
: 多謝!
--
發信人: hellguard (小四), 信區: Unix
標 題: Re: 我該怎樣去掉Solaris系統登錄時的逆向解析
發信站: BBS 水木清華站 (Tue Oct 26 17:28:55 1999)
【 在 cirrus (望眼欲穿) 的大作中提到: 】
: 或許可以自己寫一個dll,用LD_PRELOAD屏蔽掉gethostbyaddr()
: 的功能?
這招比較黑,可是我覺得也是理論上的吧。
gethostbyaddr之外的那些庫函數你打算怎么
提供,一般都在同一個so中的呀。有沒有辦法
用什么bin編輯器把這個函數的return語句提前
到進入點上,就是無論如何都返回失敗,不要
做無謂等待,不過咱對so很不熟悉,不敢動刀,
也是理論上說說
--
發信人: cirrus (望眼欲穿), 信區: Unix
標 題: Re: 我該怎樣去掉Solaris系統登錄時的逆向解析
發信站: BBS 水木清華站 (Tue Oct 26 20:44:51 1999)
【 在 hellguard (小四) 的大作中提到: 】
: 這招比較黑,可是我覺得也是理論上的吧。
: gethostbyaddr之外的那些庫函數你打算怎么
: 提供,一般都在同一個so中的呀。有沒有辦法
這是WindowsDLL的想法吧。
Unix下用LD_PRELOAD可以只替換感興趣的函數,
其余的還是調用原來的。
我試過用LD_PRELOAD加載自己寫的一個幾行的dll,
然后程序里的puts()不管什么參數統統輸出helloworld,嘿嘿。
我試試看改一下gethostbyaddr()吧。不過我對solaris下
做dll一點經驗都沒有,嘿嘿。
: 用什么bin編輯器把這個函數的return語句提前
: 到進入點上,就是無論如何都返回失敗,不要
: 做無謂等待,不過咱對so很不熟悉,不敢動刀,
: 也是理論上說說
--
發信人: cirrus (望眼欲穿), 信區: Unix
標 題: 去掉solaris登錄時的反向域名解析
發信站: BBS 水木清華站 (Tue Oct 26 22:23:38 1999)
/* rdns.c */
#include <netdb.h>
struct hostent *gethostbyaddr(const char * a, int s, int t)
{
return NULL;
}
用gcc -o rdns.so -Wl,-G rdns.c
得到rdns.so,放到/usr/lib/下。kill掉inetd,然后
LD_PRELOAD=/usr/lib/rdns.so /usr/sbin/inetd -s
這一句可以考慮放到/etc/init.d/inetsvc里