模版¶
为了节省重复工作而提供的模版。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | #! /usr/bin/env python
# -*- coding: utf-8 -*-
from modules.exploit import TSExploit
class TangScan(TSExploit):
def __init__(self):
super(self.__class__, self).__init__()
self.info = {
"name": "",
"product": "",
"product_version": "",
"desc": """
""",
"license": self.license.TS,
"author": [""],
"ref": [
{self.ref.wooyun: ""},
],
"type": self.type.sql_injection,
"severity": self.severity.medium,
"privileged": False,
"disclosure_date": "2014-09-17",
"create_date": "2014-09-17",
}
self.register_option({
"url": {
"default": "",
"required": True,
"choices": [],
"convert": self.convert.url_field,
"desc": "目标 url"
},
"host": {
"default": "",
"required": True,
"choices": [],
"convert": self.convert.str_field,
"desc": "目标 host"
},
"port": {
"default": "",
"required": False,
"choices": [],
"convert": self.convert.int_field,
"desc": "端口"
}
})
self.register_result({
"status": False,
"data": {
},
"description": "",
"error": ""
})
def verify(self):
pass
def exploit(self):
pass
if __name__ == '__main__':
from modules.main import main
main(TangScan())
|