漏洞加固检测插件开发文档.pdfVIP

  • 2
  • 0
  • 约8.6千字
  • 约 9页
  • 2023-12-08 发布于上海
  • 举报

开发加固检测脚本

⼀、本地开发测试

1.继承基类

继承基类pepper/common/poclib.py中,内容

importimportlib

#加载第三⽅漏洞插件,并获取检测结果

classBase(object):

def__init__(self,info):

self.info=info

self.result={}

self.result[service]={}

self.result[service][status]=True

self.result[service][message]=服务正常

self.result[service][data]=[]

self.result[fix]={}

self.result[fix][status]=True

self.result[fix][message]=加固检测已通过

self.result[fix][data]=[]

#服务检测

defservice_check(self):

pass

#加固检测

deffix_check(self):

pass

#服务检测与加固检测同时进⾏

defrun(self):

self.service_check()

self.fix_check()

returnself.result

if__name__==__main__:

info={

host:127.0.0.1,

ports:[11211,2223]

}

t=Base(info)

print(t.run())

本地开发中过程中可新建该⽂件,引⼊后再编写Poc检测逻辑

2.重写检测⽅法

加固检测的函数为fic_check,检测逻辑写在该函数即可。

这⾥以rsync未授权访问检测为例

#本地开发测试中引⼊Base基类,实际提交插件中该引⼊可不写,系统会⾃动加载基类

#⾃定义实现的检测过程

importsocket

importre

importtime

importhashlib

fromitertoolsimportproduct

frombase64importb64encode

classRsyncCheck(object):

rsync_hello=@RSYNCD:31\n.encode()

rsync_list=\n.encode()

def__init__(self,host=,port=0,user_list=[],pass_list=[],timeout=5):

super(RsyncCheck,self).__init__()

self.host=host

self.port=port

self.user_list=user_list

self.pass_list=pass_list

self.timeout=timeout

self.sock=None

self.result={

hitted:False,

message:,

data:[]

}

def_rsync_init(self):

sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

socket.setdefa

文档评论(0)

1亿VIP精品文档

相关文档