예제 #1
0
def init_scan(site_url):
	site= Site.from_mongo_domain(site_url)
	site[0].scan_speed
	subprocess.Popen(["python3.5","/var/www/py/armoredware.com/infosec/blackops/wig.py","-u",site_url,"&"],stdout = subprocess.PIPE,stderr = subprocess.PIPE, shell = True)
	get_osInfo.wait()
	time.sleep(60)
	osInfo = get_osInfo.communicate()[0]
	get_osInfo.wait()
예제 #2
0
def start_scan():
    site_url = 'http://www.rolfny.com'
    #return jsonify({'site':str(site_url)})
    site= Site.from_mongo_domain(site_url)
    try:
        site[0].scan_ip()
        #return jsonify({'scan_ip':'success'})
    except Exception as e:    
        return jsonify({'scan_ip':str(e)})
    try:
        site[0].scan_speed()
        #return jsonify({'scan_speed':'success'})
    except Exception as e:
        return jsonify({'scan_speed':str(e)})
    return jsonify({'scan':'success'})
예제 #3
0
def get_site_details(site_url):
    user_id = current_identity
    site_url = site_url.replace("12___21","://")
    #look up sites for this user and site
    site_details= Site.from_mongo_domain(site_url)
    return jsonify({'user_id': str(user_id), 
        'site_url': site_details[0].verified,
        'name': site_details[0].name, 
        'domain': site_details[0].domain,
        'uptime': site_details[0].uptime,
        'alerts': site_details[0].alerts,
        'verbosity': site_details[0].verbosity,
        'alias': site_details[0].alias,
        'os': site_details[0].os,
        'middleware': site_details[0].middleware,
        'database': site_details[0].database,
        'platform': site_details[0].platform,
        'cms': site_details[0].cms,
        'appfirewall': site_details[0].appfirewall,
        'loadspeed': site_details[0].loadspeed,
        'vulnerabilities': site_details[0].vulnerabilities,
        'adacompliance': site_details[0].adacompliance,
        'virus': site_details[0].virus,
        'malware': site_details[0].malware,
        'pagerank': site_details[0].pagerank,
        'backlinks': site_details[0].backlinks,
        'ipaddress': site_details[0].ipaddress,
        'ports': site_details[0].ports,
        'bruteforce': site_details[0].bruteforce,
        'traceroute': site_details[0].traceroute,
        'price': site_details[0].price,
        'seal': site_details[0].seal,
        'paid': site_details[0].paid,
        'verified': site_details[0].verified,
        'html': site_details[0].html,
        'js': site_details[0].js,
        'title': site_details[0].title,
        'thumbnail': site_details[0].thumbnail,
        'scanned': site_details[0].scanned,
        'resources': site_details[0].resources, 
        'pages': site_details[0].pages, 
        'timestamp': site_details[0].timestamp,
        'isLatest': site_details[0].isLatest})
예제 #4
0
def add_site():
    site_url = request.json['site_url']
    user_id = str(current_identity)
    get_pageList = subprocess.Popen(["python3.5","/var/www/py/armoredware.com/infosec/get_pageList.py","--domain",site_url],stdout = subprocess.PIPE,stderr = subprocess.PIPE)
    pageList = get_pageList.communicate()[0]
    time.sleep(1)
    pageList = pageList.replace("'", '')
    pageList = pageList.replace('\n', '')
    pageList = pageList[:-1]
    pageList= pageList.split(",")

    #add page documents to mongodb here
    for page in pageList:
        domain = site_url
        timestamp = time.time()
        url = page    
        last_mod = None
        xss= None
        sqli= None
        sql= None
        csrf= None
        hash= None
        uptime= None
        loadspeed= None
        pagecontent= None
        externallinks= None
        scripts= None
        base64= None
        documenttype= None
        virus= None
        malware= None
        reputation= None 
        popups= None
        bruteforce= None
        title= None
        redirect= None
        sensitivedata= None
        emailaddresses= None
        adaissues= None
        accesscontrol= None
        vulenrability= None
        scanned= None
        new_page = Page(domain, user_id, last_mod, timestamp,
                   url,
                   xss,
                   sqli,
                   sql,
                   csrf,
                   hash,
                   uptime,
                   loadspeed,
                   pagecontent,
                   externallinks,
                   scripts,
                   base64,
                   documenttype,
                   virus,
                   malware,
                   reputation,
                   popups,
                   bruteforce,
                   title,
                   redirect,
                   sensitivedata,
                   emailaddresses,
                   adaissues,
                   accesscontrol,
                   vulenrability,
                   scanned)
        new_page.save_to_mongo()
    
    #object encoding error not sure why this is happening string maybe? happens in both edited_site and update_domain
    edited_site= Site.from_mongo_domain(site_url)
    edited_site[0].user_id= user_id
    #edited_site[0].pagecount= pagecount
    #edited_site[0].pageList= pageList
    edited_site[0].verified= "true"
    edited_site[0].paid= "true"
    edited_site[0].timestamp= time.time()
    edited_site[0].update_to_mongo()

    User.update_domains(user_id,site_url)
    
    
    
    return jsonify({'success':'yes'})
예제 #5
0
def get_quote():
    site_url = request.json['site_url']
    user_id = current_identity
    #quote = 39
    #pages = 50
    error = 'None'
    get_pageList = subprocess.Popen(["python3.5","/var/www/py/armoredware.com/infosec/get_pageList.py","--domain",site_url],stdout = subprocess.PIPE,stderr = subprocess.PIPE)
    pageList = get_pageList.communicate()[0]
    time.sleep(1)
    pageList = pageList.replace("'", '')
    pageList = pageList.replace('\n', '')
    pageList = pageList[:-1]
    pagecount = pageList.count("://")
    #does site exist in our database
    #count pages
    #give quote
    quote = 5+(.75 * pagecount)
    #site = Site.from_mongo(search_phrase, search_type, search_vintage, search_bottle, search_country, search_case)
    

    pageList= pageList.split(",")
    #if site with this domain does not exist create it else look up the site.
    name= None
    domain= str(site_url)
    user_id= str(user_id)
    uptime= None
    alerts= None
    verbosity= None
    alias= None
    os= None
    middleware= None
    database= None
    platform= None
    cms= None
    appfirewall= None
    loadspeed= None
    vulnerabilities= None
    adacompliance= None
    virus= None
    malware= None
    pagerank= None
    backlinks= None
    ipaddress= None
    ports= None
    bruteforce= None
    traceroute= None
    price= quote
    seal= None
    paid= 'false'
    verified= 'false'
    html= None
    js= None
    title= None
    thumbnail= None
    scanned= None
    resources= pagecount
    pages= pageList
    timestamp= time.time()
    isLatest= None
    
    #need to add if else site exists and is paid/verified do nothing
        
    if Site.site_exists(site_url):
        edited_site= Site.from_mongo_domain(site_url)
        edited_site[0].user_id= user_id
        #edited_site[0].pagecount= pagecount
        #edited_site[0].pageList= pageList
        edited_site[0].timestamp= time.time()
        edited_site[0].update_to_mongo()
    else:
        new_site = Site(name, domain, user_id,
                            uptime,
                            alerts,
                            verbosity,
                            alias,
                            os,
                            middleware,
                            database,
                            platform,
                            cms,
                            appfirewall,
                            loadspeed,
                            vulnerabilities,
                            adacompliance,
                            virus,
                            malware,
                            pagerank,
                            backlinks,
                            ipaddress,
                            ports,
                            bruteforce,
                            traceroute,
                            price,
                            seal,
                            paid,
                            verified,
                            html,
                            js,
                            title,
                            thumbnail,
                            scanned,
                            resources, pages, timestamp, isLatest)
        new_site.save_to_mongo()
    
    return jsonify({'user_id': str(user_id), 'site_url': str(site_url), 'quote': str(quote), 'pages': pageList, 'error': str(error)})