'00./04. Python'에 해당되는 글 4건

  1. 2014.03.17 [python] Google SMTP를 이용하여 E-mail 전송
  2. 2013.11.20 python개발 Post MySQL Injection Tool v.01
  3. 2013.09.04 포트 스캐너
  4. 2013.09.04 SQL Injection을 위한 자동화 도구 (개발 중)

Python E-mail 전송


Google SMTP를 이용하여 E-mail을 전송하는 python 스크립트


mail.py



※ 참고자료

http://www.pythonforbeginners.com/google/sending-emails-using-google

http://docs.python.org/2/library/email-examples.html


저작자 표시
신고

Post MySQL Injection Tool v.01


mysqlhack_post.py




저작자 표시
신고

포트 스캐너

00./04. Python 2013.09.04 15:00

포트 스캐너



 개발 언어

 Python 

 버 전 

 v0.1 

 기 타

 nmap 사용이 더 용이함






import optparse

from socket import *

from threading import *

screenLock = Semaphore(value=1)

def connScan(tgtHost, tgtPort):

    try:

        connSkt = socket(AF_INET, SOCK_STREAM)

        connSkt.connect((tgtHost, tgtPort))

        connSkt.send('ViolentPython\r\n')

        results = connSkt.recv(100)

        screenLock.acquire()

        print '[+]%d/tcp open'%tgtport

        print '[+] ' + str(results)

    except:

        screenLock.acquire()

        print '[-]%d/tcp closed'% tgtPort

    finally:

        screenLock.release()

        connSkt.close()

def portScan(tgtHost, tgtPorts):

    try:

        tgtIP = gethostbyname(tgtHost)

    except:

        print "[-] Cannot resolve '%s': Unknown host"%tgtHost

        return

    try:

        tgtName = gethostbyaddr(tgtIP)

        print '\n[+] Scan Results for: ' + tgtName[0]

    except:

        print '\n[+] Scan Results for: ' + tgtIP

    setdefaulttimeout(1)

    for tgtPort in tgtPorts:

        t = Thread(target=connScan, args=(tgtHost, int(tgtPort)))

        t.start()

def main():

    parser = optparse.OptionParser('usage%prog -H <target host> -p <target port>')

    parser.add_option('-H', dest='tgtHost', type='string', help='specify target host')

    parser.add_option('-p', dest='tgtPort', type='string', help='specify target port[s] separated by cmma')

    (options, args) = parser.parse_args()

    tgtHost = options.tgtHost

    tgtPorts = str(options.tgtPort).split(',')

    if(tgtHost == None) | (tgtPorts[0] == None):

        print parser.usage

        exit(0)

    portScan(tgtHost, tgtPorts)

if __name__ =='__main__':

    main()



저작자 표시
신고

SQL Injection 공격의 취약성을 쉽게 발견하기 위한 자동화 도구


 개발 언어

 Python 

 버전

 v0.1

 기타

 개발 단계 



특정 파라미터에 다양한 특수 문자를 삽입하여 HTTP 패킷을 해당 공격 서버에 전송한다.

응답 받은 HTTP 패킷의 코드번호가 200인지 500인지 확인한다.


Method : Get 방식

특수 문자 : text 파일에 개별 저장




import sys

import urllib2


fileNM = "C:\Users\User\Desktop\quarry.txt"



addr = "http://10.1.1.3:10001"

vuln = "/db_p/board/list.php"


para = "b_name"


quarryList = []



def helpFunc():

    print '[+] Usage : python sqlInjectionGet [option]\n\n'

    exit()


def sqlInjection():

fop = open(fileNM, 'r')

for line in fop:

line = line.strip()

quarryList.append(line)

fop.close()


c = 0

while c < len(quarryList):

   url = addr + vuln + "?" + para + "=" + quarryList[c]

   response = urllib2.urlopen(url)

   response = response.read()

   response = response.find('500')

   if int(response)<0:

       print "200 correct"

   else:

       print "500 Error"

   c = c + 1




def main():

    if len(sys.argv) < 2:

        print '[-] How to use this python program. help -h '

        exit()

    elif sys.argv[1]=="-h":

        helpFunc()

        

    elif sys.argv[1]=="-I":

        sqlInjection()

        

    else:

        exit()

        


if __name__ == '__main__':

    main()

 




저작자 표시
신고
1 

카운터

Total : 85,369 / Today : 1 / Yesterday : 31
get rsstistory!