'In this case we provide a sample implementation since most
vulnerabilities will have this template. If the specific vulnerability
needs other params then it should override this implementation.'

def get_options(self):

    ol = OptionList()
    d = 'Vulnerability    name    (eg.    SQL    Injection)'
    o = opt_factory('name', self.name, d, 'string')
    ol.add(o)
    d = 'URL    (without    query    string    parameters)'
    o = opt_factory('url', self.url, d, 'url')
    ol.add(o)
    d = 'Query    string    or    postdata    parameters    in    url-encoded    form'
    h = 'If    the    HTTP    method    is    GET,    the    data    will    be    sent    in    the    query-string    otherwise    it    will    be    sent    using    the    HTTP    request\'s    body.    If    the    vulnerability    requires    the    request    to    be    sent    using    multipart-forms,    the    exploit    will    convert    this    url-encoded    data    into    that    format.\n\nEnter    the    original    parameter    value,    not    the    one    which    triggers    the    vulnerability.    Correct    input    looks    like    "id=2"    not    like    "id=2;cat    /etc/passwd".'
    o = opt_factory('data', self.data, d, 'string', help=h)
    ol.add(o)
    d = 'HTTP    method'
    o = opt_factory('method', self.method, d, 'string')
    ol.add(o)
    d = 'Vulnerable    parameter    (needs    to    be    one    of    the    entered    in    the    data    field).'
    o = opt_factory('vulnerable_parameter', self.vulnerable_parameter, d, 'string')
    ol.add(o)
    return ol
