W3AF FuzzableRequest 处理流程札记

标签(空格分隔): web扫描器


  • FuzzableRequest 处理流程概述
  • _input和output的关联处理详细流程图
  • FuzzableRequest _input处理详细流程图
  • FuzzableRequest output处理详细流程图

FuzzableRequest 处理流程概述

FuzzableRequest的处理过程通过queue实现,即生产者消费者模式,生产者队列list为:

_input = [self._seed_producer, self._discovery_consumer,
self._bruteforce_consumer]

消费者队列list为:
output = [self._audit_consumer, self._discovery_consumer,
self._bruteforce_consumer]
通过函数 _route_one_fuzzable_request_batch(_input, output, finished, consumer_forced_end)
_input = [self._seed_producer, self._discovery_consumer,
self._bruteforce_consumer]
output = [self._audit_consumer, self._discovery_consumer,
self._bruteforce_consumer]
进行FuzzableRequest的处理,接下来分从_input、output以及_input和output的关联进行阐述。

_input和output的关联处理详细流程图

Created with Raphaël 2.1.0 Start start() _fuzzable_request_router() _route_one_fuzzable_request_batch() End

1、进入strategy.py的start函数,开启整个扫描策略
2、_fuzzable_request_router,这个函数主要是把fuzzable_request写入_input以及从ouput取数据,并进入audit、crawl等插件进行处理
3、_route_one_fuzzable_request_batch,这个函数主要是是协调_input和output两个queue list

注释:

set_consumers_to_none
位置:/w3af/w3af/core/controllers/core_helpers/strategy.py
seed

FuzzableRequest _input处理详细流程图

_input以self._seed_producer为例。

Created with Raphaël 2.1.0 Starts set_consumers_to_none() seed_output_queue() End

1、set_consumers_to_none函数,通过seed(self._w3af_core)根据初始用户输入的url进行配置;
2、seed函数,通过seed_output_queue根据target_urls(初始用户指定url)获取第一批需要检测的url,然后通过_out_queue.put(),压入_out_queue队列。

注释:

set_consumers_to_none
位置:/w3af/w3af/core/controllers/core_helpers/strategy.py
seed
位置:/w3af/w3af/core/controllers/core_helpers/consumers/seed.py
seed_output_queue位置:在seed类

FuzzableRequest output处理详细流程图

_input以self._audit_consumer为例。

Created with Raphaël 2.1.0 Start _setup_audit() audit() _consume_wrapper() End

1、_setup_audit函数初始化用户配置的audit插件
2、base_consumer,audit调用其基类base_consumer.py的_consume_wrapper方法,该方法调用_consume(work_unit),消费in_queue队列的FuzzableRequest

注释:

_setup_audit
位置:/w3af/w3af/core/controllers/core_helpers/strategy.py
audit
位置:/w3af/w3af/core/controllers/core_helpers/consumers/audit.py
_consume_wrapper:
位置:/w3af/w3af/core/controllers/core_helpers/consumers/base_consumer.py

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值