pyeti icon indicating copy to clipboard operation
pyeti copied to clipboard

http://localhost:5000/api/entity/ not working as expected

Open Kirtar22 opened this issue 6 years ago • 2 comments

I have tried to add entity using both pyet and curl -POST but neither of them worked. I am able to get_entity but if I add the function entity_add with the required parameters ( name, description & tags) - it doesnt work. Moreover, As one of your suggestions in one of the issues - that, this will add an entity but to add sub-object ( malware, threat actor etc) _cls needs to be set manually. Can you please explain this in bit detail?

The function that I added

def entity_add(self,name,description,tags=None, source="API"):

    if tags is None:
        tages = []
    json = {

        "name": name,
                    "description": description,
        "tags": tags,
        "source": source
    }
    return self._make_post('entity/', json=json)

When I call this function - I get followin error

results = api.entity_add("malware","malwaredescription",['tags1']) ERROR:root:An error occurred (500): http://localhost:5000/api/entity/

Same way, when I tried to add with curl

$$$curl -d '{"value":"malware","tags":['a','b']}' -H "Content-type: application/json" -X POST http://localhost:5000/api/entity/

400 Bad Request h1Bad Requesth1

The browser (or proxy) sent a request that this server could not understand.

$$$curl -d '{"value":"malware"}' -H "Content-type: application/json" -X POST http://localhost:5000/api/entity/

500 Internal Server Error h1Internal Server Error

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

Another Try using Curl

entity.json { "value":"malwre" "tags":['a','b'] }

$$$$curl -d "@entity.json" -H "Content-type: application/json" -X POST http://localhost:5000/api/entity/

400 Bad Request h1Bad Request

The browser (or proxy) sent a request that this server could not understand.

Can you please help ?

Kirtar22 avatar Nov 21 '19 04:11 Kirtar22

@tomchop @threathive - Can you please help? Appreciate your support. Thanks

Kirtar22 avatar Nov 28 '19 02:11 Kirtar22

http -vv --json POST localhost:5000/api/entity/ params:='{"name":"Malware","tags":"api-tag","family":"api-family","source":"api"}'

@tomchop @threathive

How to set _cls value - can you please share working example to add entity through API?

INFO:user_management:Default user logged in : yeti ERROR:app:Exception on /api/entity/ [POST] Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 2446, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1951, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1820, in handle_user_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1949, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1935, in dispatch_request return self.view_functionsrule.endpoint File "/usr/local/lib/python2.7/dist-packages/flask_classy.py", line 200, in proxy response = view(**request.view_args) File "/home/osboxes/yeti/core/web/helpers.py", line 39, in inner return f(*args, **kwargs) File "/home/osboxes/yeti/core/web/api/crud.py", line 143, in new obj = objectmanager(**params).save() File "/usr/local/lib/python2.7/dist-packages/mongoengine/base/document.py", line 93, in init raise FieldDoesNotExist(msg) FieldDoesNotExist: The fields "set([u'params'])" do not exist on the document "Entity"

Regards,

Kirtar

Kirtar22 avatar Nov 28 '19 03:11 Kirtar22