# 배너프린팅 (banner grabbing) 


 - 웹서버에 노출되는 정보를 수집하는 것.

 - 웹서버 종류에 따라 생각보다 많은 정보가 노출되기도 함 ( 운영체제 버전까지 노출되기도 함 )

 - 웹서버마다 설정법, 예방법은 모두 다르며 경우에 따라 컴파일을 다시 해주어야 하기도 함



# 자동화 소스


banner.py

 #-*- encoding:utf8 -*-

import sys,urllib
import urllib2
import socket

InfoHeader = ['Server','Set-Cookie','X-Powered-By']
print "Banner Grabbing..."
curl = "http://www.targetdomain.com/"
f = urllib.urlopen(url=curl)
banner = f.info()
print "#### [%s] Infomation ####" % curl
for line in str(banner).split('\n'):
	if line.split(':')[0] in InfoHeader:
		if line.split(':')[0] == 'Set-Cookie':
			if ('asp' in line.lower()) or ('php' in line.lower()) or ('jsession' in line.lower()):
				print line
				continue
			else:
				continue
		print line


# 실행결과


 Banner Grabbing...

#### [http://www.****.org/] Infomation ####

Server: Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.5.1 mod_ssl/2.2.8 OpenSSL/0.9.8g

X-Powered-By: PHP/5.2.4-2ubuntu5.26


+ Recent posts