利用网站的“站内搜索”功能采集数据
- 格式:pdf
- 大小:1.07 MB
- 文档页数:5
利用网站的“站内搜索”功能采集数据V1.0四川大学电子信息学院信息安全文档编写与整理:liyawei 2014/9/26
概述
●本文描述利用网站的“站内搜索”功能采集数据、以制作一个迷你的搜索引擎的原理和思路。
关于站内搜索
很多网站都有“站内搜索”功能来帮助用户检索站内信息。
举例:
站内搜索功能的工作原理
●以乌云网为例:
●在乌云站内搜索功能中搜索“XSS”时,返回以下页面:
●用HTTP报文截获工具观察这个过程,当在站内搜索的文本框内输入“XSS”并点击搜索时。
浏览器向服务
器发送以下报文:
清晰的发现我们输入的数据在POST数据的参数q中。
●返回报文中一般包含html源码
这个源代码就是搜索结果返回页面的源代码
●我们需要采集的数据就在这源代码当中可以找到
如何在源码中提取数据
●假设现在需要采集的数据如下
●通过审查html代码,我们发现每个漏洞标题在以下标签中
<a target=“_blank” class=“atitle” href=“/bugs/wooyun-漏洞年份-漏洞编号”>漏洞标题</a>
而且html中其他内容没有类似的格式。
●那么就可以编写正则表达式
<a\starget=“_blank”\sclass=“atitle” href=“\/bugs\/wooyun-\d{4}-\d*”>[^<]*<\/a>
来匹配
<a target=“_blank” class=“atitle” href=“/bugs/wooyun-漏洞年份-漏洞编号”>漏洞标题</a>
并把匹配后的结果放入一数据结构中,该数据结构中的内容就包含我们需要提取的数据,在此处的“漏洞标题”
目标网站的搜索结果被分页时
●
●当点击第二页的链接时,浏览器发出以下http请求报文:
●同理,服务器返回带有html源码的http响应报文,根据先前所说的思路提取出需要的数据
编程思路
●手动截获http报文了解目标网站中站内搜索的工作,依照截获的报文构造很多http请求报文,根据相应的
响应报文的固定特点,使用正则表达式匹配出需要的内容。
当然,以上只完成了数据收集过程,作为一个搜索引擎,还需要将采集的数据整理,并向用户显示。
●软件的整体工作流程如下:
●一概括:但用户使用搜索功能时,程序即时利用目标网站上的站内搜索功能采集数据,经过整理排序后立即
返回给用户,以构成一个迷你的搜索引擎。
●全文结束~~~~~~~~~~~~~~~~~~~~~
写在后面
●时间仓促,如有错误敬请谅解。
任何意见和批评请发邮件至:root@
鸣谢
●鸣谢liuzixi同学先前在web方向的刻苦努力与实践!他勇敢探索的精神值得所有人学习!。