- 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)