title
わたしの日記は日々の出来事の鬱憤晴らしの毒だし日記がメインです。 相当病んでいます。くだを巻いています。許容出来る方のみのアクセスをお願いします。 また、この日記へのリンクは原則自由にして頂いても結構ですが、 写真への直リンクを張るのはご遠慮下さい。内容に関しては、一切保証致しません。
カテゴリ一覧 Network, Internet, IPv6, DC, NTT, Comp, Linux, Debian, FreeBSD, Windows, Server, Security, IRC, 大学, Neta, spam, , 生活, 遊び, Drive, TV, 仕事,
過去日記:





2003年12月18日(木) [曇り] 物欲:すうどん 100円

[IRC] irc2.10.3p3 exploit

今更だが、ドキュメントを書こうとして調べていたところ、exploit について google で 検索すると、攻撃用のスクリプトが簡単に引っかかってしまう様子。
引っかかったスクリプトをgcc hogeとやると、a.out というファイルが生成される。 あとは、以下のような感じ。

tomo@VM-Ayu:~/ircd$ ./a.out -h 192.168.6.52 -p 6667
irc2.10.3p3 remote dos exploit delivered by ********
-----------------------------------------------------
[x] connected to 192.168.6.52:6667 ..
[x] trying to logon with nick cngcwpajn ..
[x] we're logged on, sending evil data ..

irc6.nara.wide.ad.jp が狙われなかったのは、このスクリプト自体がIPv6に対応していない為だと考えられる。

tomo@VM-Ayu:~/ircd$ ./a.out -h 3ffe:501:889:0:20c:29ff:fedc:d486 -p 6667
irc2.10.3p3 remote dos exploit delivered by ********
-----------------------------------------------------
[-] cant handle host ..
tomo@VM-Ayu:~/ircd$ ./a.out -h fe80::20c:29ff:fedc:d486 -p 6667
irc2.10.3p3 remote dos exploit delivered by ********
-----------------------------------------------------
[-] cant handle host ..

同様のことを、telnet でやってみると、鮮やかにサーバが落ちた。 要はバッファ一杯のチャンネル名をたくさんカンマ区切りで同時に接続すれば簡単に落ちると言うこと。 パケットキャプチャを撮って確認してみたけど、ココまでさくっと落ちる物なのかと感心(@_@ ← ガキらしい

これのexploitの修正パッチは、 ここに有る様子。

Please be advised, that it is strongly recommended to upgrade to
version 2.10.3p5, not only apply that patch. Thank you.

--- ../../cvs/irc2.10.3/ircd/channel.c	Fri Oct 10 22:34:05 2003
+++ channel.c	Sat Oct 11 00:03:40 2003
@@ -2001,7 +2001,7 @@
 	Reg	Link	*lp;
 	Reg	aChannel *chptr;
 	Reg	char	*name, *key = NULL;
-	int	i, flags = 0;
+	int	i, tmplen, flags = 0;
 	char	*p = NULL, *p2 = NULL, *s, chop[5];
 
 	if (parc < 2 || *parv[1] == '\0')
@@ -2150,10 +2150,20 @@
 					   parv[0]), name);
 			continue;
 		    }
+		tmplen = strlen(name);
+		if (i + tmplen + 2 /* comma and \0 */
+			>= sizeof(jbuf) )
+		{
+
+			break;
+
+		}
 		if (*jbuf)
-			(void)strcat(jbuf, ",");
-		(void)strncat(jbuf, name, sizeof(jbuf) - i - 1);
-		i += strlen(name)+1;
+		{
+			jbuf[i++] = ',';
+		}
+		(void)strcpy(jbuf + i, name);
+		i += tmplen;
 	    }
 
 	p = NULL;
@@ -2305,6 +2315,16 @@
 					   parv[0], name, chop);
 		else if (*chptr->chname != '&')
 		    {
+			/* ":" (1) "nick" (NICKLEN) " JOIN :" (7), comma (1)
+			** possible chop (4), ending \r\n\0 (3) = 16
+			** must fit in the cbuf as well! --B. */
+			if (strlen(cbuf) + strlen(name) + NICKLEN + 16
+				 >= sizeof(cbuf))
+			{
+				sendto_serv_butone(cptr, ":%s JOIN :%s",
+					parv[0], cbuf);
+				cbuf[0] = '\0';
+			}
 			if (*cbuf)
 				strcat(cbuf, ",");
 			strcat(cbuf, name);
みお  『irc6.nara を irc2.10.3p5+jp7 に上げました。ついでに TOPICLEN も 160 にしといた。 』
ともちゃ  『朝早くからお疲れ様ですぅ〜♪ パッチが役に立ったのかしら(謎) 』
[ コメントを読む(2) | コメントする ]

Diary for 1 day(s)
Powered by hns HyperNikkiSystem Project




(c) Copyright 1998-2014 tomocha. All rights reserved.