2013년 12월 17일 화요일

[Pyhon] MX 호스트 찾기

import os,sys,popen2,re

resolver = "/usr/bin/nslookup -query=mx "             # for Linux
#resolver = "/usr/sbin/nslookup -query=mx "          # for Solairs
#C:\WINDOWS\SYSTEM32\NSLOOKUP -query=mx "  # for M$

def queryMX(host):
    mx = []
    addr = {}

    fout,fin = popen2.popen2(resolver + host)

    line = fout.readline()
    while line <> '':
        m = re.search(
            'preference\s*=\s*(\d+),\s*mail\sexchanger\s*=\s*([\w\.]+)',
            line)
        if m:
            mx.append((eval(m.group(1)),m.group(2)))
        else:
            m = re.search(
                '([\w\.]+)\s*internet\saddress\s*=\s*([\d\.]+)',
                line)
            if m: addr[m.group(1)] = m.group(2)

        line = fout.readline()

    if mx == []: return mx

    mx.sort()
    result = []
    for i,k in mx:
        try:
            result.append((k,addr[k]))
        except:
            pass

    return result

Reentrancy Attack: 블록체인 스마트 컨트랙트의 치명적인 취약점

블록체인 기술이 전 세계적으로 주목받으면서 스마트 컨트랙트(Smart Contract)의 사용이 급격히 증가하고 있습니다. 하지만 그만큼 보안 취약점도 함께 늘어나고 있는데, 그 중에서도 Reentrancy Attack(재진입 공격)은 매우 치명적이고...