手机上怎么买彩票双色球 微信上有人推荐买彩票 能合买彩票的平台 夫妻买彩票狂中30亿 买彩票心态 买彩票就买大乐透开奖结果 哪个平台买彩票安全吗 买彩票有买一个号的吗 怎么看走势图买彩票 如何在电脑上买彩票 美国几岁可以买彩票? 福彩工作人员买彩票 彩客网买彩票 能在微信上买彩票吗 怎么买彩票容易中

安全扫描调度系统实践

来源:本站整理 作者:佚名 时间:2019-07-08 TAG: 我要投稿

0×01 需求背景
日常扫描行为是一个常见的需求,同时我们希望,可以更方便的进行定制自动化扫描任务制定与执行。我们不具体要求实用的扫描工具系统是什么,开源与商业看具体自己的实际需求情况,我们只是用 AWVS 举一个例子。
AWVS 本身提供了方便的 REST API 对外服务,如何通过设?#21697;?#35013;,让 AWVS 执行的高效简单,这篇要完成的一个任务。
如果把 AWVS 换成其它的安装扫描工具,可否按同样的思?#26041;?#20302;工具使用的流程复杂度,让安全工具的使用更自动化遍历,最初构建这个项目时考虑的,这次我们通过 AWVS 这个例子,来实践这种可能性。有一个这个基础的设计可以延伸扩展到其它工具,按?#26223;?#26041;法进行扩展驱动其功能。  
下面是整体的设计,将 REST API 与 RPC 结合方式,对整个扫描工具进行封装自动化。

?#25191;?#22312;一个大家?#19981;?#35752;论的问题是 RPC 和 REST 那个好,在我们这里不讨论那个好,按应用场景同时使用了两个?#38469;酰琑EST 做业务逻辑和数据合法性检查,PRC 做功能封装驱动。在做规模的横向扩展的时候,我们可以通过负载的形式,扩大 REST 和 RPC 服务的并性数和可用性。将混?#31995;?#19994;务逻辑用 REST 和 RPC 分层的方式时行简化,当然除了?#20040;?#19968;定也有基于这种设计产生的其它问题。  

本次代码层底核心是,封装了 AWVS 的 auth ?#29616;?#21644;指定扫描特定域名的处理过程,两个主要的「mocker」就是 auth 和 scan, 时序?#24049;?#26174;示的就是这些。
0×02 功能实现
具体的实现部分,将 Django Command、Django RPC、Django REST API、PyTEST、FSWatch 的部分进行介绍,会基于整套?#38469;?#26041;案,产生其它的驱动方法,?#26223;?#23601;是基于 AWVS 展开。最后达到的目地,就将 AWVS ?#38405;?#26631;域名的操作扫描任务指定,简化成了一条命令。如果之前还是说部署环?#24120;?#29616;在就是具体的业务动作。
1. 功能使用
AWVS 本身提供了 REST API 的接口, 通过进一步的抽象,简化和隐藏了复杂的调用过程。为了便于简单实现对 AWVS 的操作,最后就变成了简单的一条命令调用。
python manage.py dsl -d lua.ren
Django Command 的功能实现,是整个调用时序的入口,假设扫描的需求和设置很简答,只有一个扫描域名的设定。
2. 功能函数
扫描功能实现,是靠整个时序链调用来完成的,如果直接从 Django Command 调用 Django RPC,参于的调用数据总体会比再加入一层 REST API 调用更简单,而整个调用层级的构建,让一个复杂的 API 调用,分层解耦简单化。
对于 AWVS 最核心的驱动函数:一个是授权 auth,另一个就是添加测试任务。
2.1 授权
meta 数据结构中存放的是基本的授权用户信息, email 和 password。
    def auth(self, meta):
        import urllib2
        import ssl
        import json
        ssl._create_default_https_context = ssl._create_unverified_context
        url_login="https://localhost:3443/api/v1/me/login"
       
        send_headers_login={
                'Host': 'localhost:3443',
                'Accept': 'application/json, text/plain, */*',
                'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
                'Accept-Encoding': 'gzip, deflate, br',
                'Content-Type': 'application/json;charset=utf-8'
                }
        data_login='{"email":"' +meta['email'] + '",' + '"password":"'+ meta['password']+'","remember_me":false}'
        req_login = urllib2.Request(url_login,headers=send_headers_login)
        response_login = urllib2.urlopen(req_login,data_login)
        xauth = response_login.headers['X-Auth']
        COOOOOOOOkie = response_login.headers['Set-Cookie']
        print COOOOOOOOkie,xauth
        return True
2.2 添加扫描任务
用 Auth 取回的 Cookie 信息,再进行 API 的调用,来完玘任务注册。
    def addTarget(self, formaturl):
        url="https://localhost:3443/api/v1/targets"
        send_headers2={
        'Host':'servers:3443',

[1] [2] [3] [4]  下一页

  • 最新更新
    • 相关阅读
      • 本类?#35753;?/li>
        • 最近下载
        购买彩票权威网址
        手机上怎么买彩票双色球 微信上有人推荐买彩票 能合买彩票的平台 夫妻买彩票狂中30亿 买彩票心态 买彩票就买大乐透开奖结果 哪个平台买彩票安全吗 买彩票有买一个号的吗 怎么看走势图买彩票 如何在电脑上买彩票 美国几岁可以买彩票? 福彩工作人员买彩票 彩客网买彩票 能在微信上买彩票吗 怎么买彩票容易中
        快乐赛车摩托 天天斗地主百人牛牛有什么规律 冒险丛林送彩金 魔兽世界2 北京快三开奖就是牛 山西11选5开奖走势图 1.13尼克斯vs黄蜂 积家那不勒斯皇后 曼联吧百度贴吧贴吧 山西快乐10分视频开奖直播