这是我的目标网站:http://www.rapid7.com/db/我希望在那里进行搜索,让我们说字符串“Symphony”来检查它的漏洞。
检查输入表单的元素我看到它的名称是“q”,到目前为止一直很好,但按钮没有值,而我需要提交查询的按钮是:<span id="run_search" class="vbsearchBtn"></span>
没有值字段。
我的代码:
$client = new Client();
$crawler = $client->request('GET', 'http://www.rapid7.com/db/');
$form = $crawler->selectButton('????')->form();
$crawler = $client->submit($form, array('q' => 'Symphony'));
print $crawler->html();
有谁知道如何进行此操作?
答案 0 :(得分:3)
据我所知,你的问题是获取表单元素,为什么你需要按钮来执行此操作?您可以按<form id="search_form" ...>
的ID查询表单。您可能还希望提交t
参数,该参数是您要查询的数据库类型(a
,所有m
用于模块v
的漏洞)。您的代码应该是这样的(您需要安装CssSelector组件):
$client = new Client();
$crawler = $client->request('GET', 'http://www.rapid7.com/db/');
$form = $crawler->filter('#search_form')->first()->form();
$crawler = $client->submit($form, array('q' => 'Symphony', 't' => 'a'));
print $crawler->html();