Python XMLRPC Nessus Error

629 views Asked by At

Anyone know why I am getting this error?

I am using http://code.google.com/p/nessusxmlrpc/wiki/HowTo

root@bt:~/NessusXMLRPC-0.21# python newnessusscan.py 
Traceback (most recent call last):
  File "newnessusscan.py", line 6, in <module>
    scan = x.quickScan("MyXMLTestSCan", "192.168.1.100", "Internal Network Scan")
  File "/root/NessusXMLRPC-0.21/NessusXMLRPC.py", line 280, in quickScan
    if type(policies['policy']) is dict:
TypeError: list indices must be integers, not str

I tried passing an integer aswell but no such luck.

Attached is the code from the actual module which is having the problem:

 if type(policies['policy']) is dict:
            # There appears to be only one configured policy
            policy = policies['policy']
            if policy['policyName'] == policy_name:
                policy_id = policy['policyID']

Included is a link to the pastebin of newnessusscan.py: http://pastebin.com/Bd2Zsw49

1

There are 1 answers

1
phihag On BEST ANSWER

This is caused by an error in nessusxmlrpc-py.

You can apply the patch or download the corrected version of NessusXMLRPC.py.