渗透测试步骤

(1)轮流针对每个请求参数进行测试,尝试使用各种语法添加一个新注入的参数。

img002 %26foo%3dbar —— URL编码的&foo=bar

img002 %3bfoo%3dbar —— URL编码的;foo=bar

img002 %2526foo%253dbar —— 双重URL编码的&foo=bar

(2)确定任何修改后不会改变应用程序的行为的参数实例(仅适用于在修改后会在应用程序的响应中造成某种差异的参数)。

(3)在上一步确定的每个实例都可以实施参数注入。尝试在请求的不同位置注入一个已知的参数,看这样做是否可以覆盖或修改现有的某个参数。例如:

img313a

(4)如果这样做会将现有值替换为新值,确定是否可以通过注入一个由后端服务器读取的值来避开任何前端确认机制。

(5)用其他参数名称替换注入的已知参数,如第4章介绍应用程序解析和内容查找时所述。

(6)测试应用程序是否允许在请求中多次提交同一个参数。在其他参数前后,以及请求的不同位置(查询字符串、cookie和消息主体中)提交多余的值。