检测点:客户端与Web服务器交互的接口
一.检测点提取
根据Web网页中的标签,提取其中的表单信息以及以GET方式提交的URL信息,然后通过这些检测点,向Web服务器提交攻击向量,实施渗透测试
(1)表单信息提取
表单组成:
1)表单标签:包含处理表单数据的目的URL以及向Web服务器提交数据的方法
2)表单域:包含文本框、隐藏域、口令框、多行文本框、下拉选择框、单选框、复选框和文件上传框等
3)表单按钮:包括提交按钮、复位按钮等,用于将向Web服务器发送数据
在Web网页中,表单的形式为:
<form action="URL" method="GET|POST" enctype="MIME" target="...">...</form>
属性元素:name为表单的名称,method定义了提交表单信息的方法,即POST或GET,action定义了表单处理网页的位置
标签元素:input、textarea、select、option
input标签表现形式为
<input type="type_name" name="field_name" value="value_name">
对于type属性:
在hidden中的信息用户不可见
表单提取流程:
(2)URL检测点提取
通过分析页面中的标签,将其中“a”、“link”、“base”、“frame”、“img”、“script”等标签内所对应的URL转化为绝对路径后,获取其中包含“?name=value”的URL信息,可采用正则表达式对这样的URL进行提取
二.检测点过滤
检测点过滤处理可采用布隆过滤器算法
检测点过滤处理主要过滤两类检测点:
1.重复的检测点,从而可以提高检测效率
2.不满足检测要求的检测点,如检测点中没有可以提供文本注入的文本框(无法向服务器端提交攻击向量)、参数不符合规范等