어떻게 IRC(인터넷 채팅)의 CHANOP에 침투하는가?
로빈아빠
본문
IRC로부터 떨어져 나온 sever를 찾아서 원하는 이름으로 channel을 만들어라.
sever가 net에 다시 접속할 때 실제적인 channel이 있는 ChanOp를 소유하게 될 것이다.
sever에서 ServerOp 를 가지고 있다면 의도적으로 분리시킬 수 도 있다.
15.나의 사용자 이름을 숨기려면 IRC클라이언트를 어떻게 수정하는가?
cs.bu.edu /irc/clients에 있는 irc.c 와 ctcp.c 의 내용을 변경하면 된다.
irc.c에서는 사용자이름,ctcp.c에서는 개인정보 부분을 수정한 후에 컴파일을 하여 실행하면 된
다.
예:
*** ctcp.c.old Wed Feb 10 10:08:05 1993
--- ctcp.c Fri Feb 12 04:33:55 1993
***************
*** 331,337 ****
struct passwd *pwd;
long diff;
int uid;
! char c;
/*
* sojge complained that ircII says 'idle 1 seconds'
--- 331,337 ----
struct passwd *pwd;
long diff;
int uid;
! char c, *fing;
/*
* sojge complained that ircII says 'idle 1 seconds'
***************
*** 348,354 ****
if (uid != DAEMON_UID)
{
#endif /* DAEMON_UID */
! if (pwd = getpwuid(uid))
{
char *tmp;
--- 348,356 ----
if (uid != DAEMON_UID)
{
#endif /* DAEMON_UID */
! if (fing = getenv("IRCFINGER"))
! send_ctcp_reply(from, ctcp->name, fing, diff, c);
! else if (pwd = getpwuid(uid))
{
char *tmp;
*** irc.c.old Wed Feb 10 06:33:11 1993
--- irc.c Fri Feb 12 04:02:11 1993
***************
*** 510,516 ****
malloc_strcpy(&my_path, "/");
if (*realname == null(char))
strmcpy(realname, "*Unknown*", REALNAME_LEN);
! if (*username == null(char))
{
if (ptr = getenv("USER"))
strmcpy(username, ptr, NAME_LEN);
--- 510,518 ----
malloc_strcpy(&my_path, "/");
if (*realname == null(char))
strmcpy(realname, "*Unknown*", REALNAME_LEN);
! if (ptr = getenv("IRCUSER"))
! strmcpy(username, ptr, NAME_LEN);
! else if (*username == null(char))
{
if (ptr = getenv("USER"))
strmcpy(username, ptr, NAME_LEN);
sever가 net에 다시 접속할 때 실제적인 channel이 있는 ChanOp를 소유하게 될 것이다.
sever에서 ServerOp 를 가지고 있다면 의도적으로 분리시킬 수 도 있다.
15.나의 사용자 이름을 숨기려면 IRC클라이언트를 어떻게 수정하는가?
cs.bu.edu /irc/clients에 있는 irc.c 와 ctcp.c 의 내용을 변경하면 된다.
irc.c에서는 사용자이름,ctcp.c에서는 개인정보 부분을 수정한 후에 컴파일을 하여 실행하면 된
다.
예:
*** ctcp.c.old Wed Feb 10 10:08:05 1993
--- ctcp.c Fri Feb 12 04:33:55 1993
***************
*** 331,337 ****
struct passwd *pwd;
long diff;
int uid;
! char c;
/*
* sojge complained that ircII says 'idle 1 seconds'
--- 331,337 ----
struct passwd *pwd;
long diff;
int uid;
! char c, *fing;
/*
* sojge complained that ircII says 'idle 1 seconds'
***************
*** 348,354 ****
if (uid != DAEMON_UID)
{
#endif /* DAEMON_UID */
! if (pwd = getpwuid(uid))
{
char *tmp;
--- 348,356 ----
if (uid != DAEMON_UID)
{
#endif /* DAEMON_UID */
! if (fing = getenv("IRCFINGER"))
! send_ctcp_reply(from, ctcp->name, fing, diff, c);
! else if (pwd = getpwuid(uid))
{
char *tmp;
*** irc.c.old Wed Feb 10 06:33:11 1993
--- irc.c Fri Feb 12 04:02:11 1993
***************
*** 510,516 ****
malloc_strcpy(&my_path, "/");
if (*realname == null(char))
strmcpy(realname, "*Unknown*", REALNAME_LEN);
! if (*username == null(char))
{
if (ptr = getenv("USER"))
strmcpy(username, ptr, NAME_LEN);
--- 510,518 ----
malloc_strcpy(&my_path, "/");
if (*realname == null(char))
strmcpy(realname, "*Unknown*", REALNAME_LEN);
! if (ptr = getenv("IRCUSER"))
! strmcpy(username, ptr, NAME_LEN);
! else if (*username == null(char))
{
if (ptr = getenv("USER"))
strmcpy(username, ptr, NAME_LEN);
관련링크
댓글목록
등록된 댓글이 없습니다.