Example #1
0
def xor_searcher(request, sample_md5):
    """
    Generate xor search results for a sample. Should be an AJAX POST.

    :param request: Django request object (Required)
    :type request: :class:`django.http.HttpRequest`
    :param sample_md5: The MD5 of the sample to use.
    :type sample_md5: str
    :returns: :class:`django.http.HttpResponse`
    """

    if request.method == "POST" and request.is_ajax():
        form = XORSearchForm(request.POST)
        if form.is_valid():
            try:
                string = request.POST['string']
            except:
                string = None
            try:
                if request.POST["skip_nulls"] == "on":
                    skip_nulls = 1
            except:
                skip_nulls = 0
            try:
                if request.POST["is_key"] == "on":
                    is_key = 1
            except:
                is_key = 0
            if is_key:
                try:
                    result = {"keys": [int(string)]}
                except:
                    result = {"keys": []}
            else:
                results = xor_search(md5=sample_md5,
                                    string=string,
                                     skip_nulls=skip_nulls)
                result = {"keys": results}
            return HttpResponse(json.dumps(result),
                                mimetype='application/json')
        else:
            return render_to_response('error.html',
                                      {'error': "Invalid Form."},
                                      RequestContext(request))
    else:
        return render_to_response('error.html',
                                  {'error': "Expected AJAX POST."},
                                  RequestContext(request))
Example #2
0
File: views.py Project: vsbca/crits
def xor_searcher(request, sample_md5):
    """
    Generate xor search results for a sample. Should be an AJAX POST.

    :param request: Django request object (Required)
    :type request: :class:`django.http.HttpRequest`
    :param sample_md5: The MD5 of the sample to use.
    :type sample_md5: str
    :returns: :class:`django.http.HttpResponse`
    """

    if request.method == "POST" and request.is_ajax():
        form = XORSearchForm(request.POST)
        if form.is_valid():
            try:
                string = request.POST['string']
            except:
                string = None
            try:
                if request.POST["skip_nulls"] == "on":
                    skip_nulls = 1
            except:
                skip_nulls = 0
            try:
                if request.POST["is_key"] == "on":
                    is_key = 1
            except:
                is_key = 0
            if is_key:
                try:
                    result = {"keys": [int(string)]}
                except:
                    result = {"keys": []}
            else:
                results = xor_search(md5=sample_md5,
                                    string=string,
                                     skip_nulls=skip_nulls)
                result = {"keys": results}
            return HttpResponse(json.dumps(result),
                                content_type="application/json")
        else:
            return render_to_response('error.html',
                                      {'error': "Invalid Form."},
                                      RequestContext(request))
    else:
        return render_to_response('error.html',
                                  {'error': "Expected AJAX POST."},
                                  RequestContext(request))