漏洞验证方法
在上面简单了解常见POC编写方式之后,我们还需要了解漏洞验证常见的几种方法,大致分为两大类:存在回显直接判断、无回显外带通道间接判断。
1. 存在回显直接判断¶
1.1 结果回显判断¶
最直接的漏洞存在的判定方法,受我们的输入控制影响,目标响应中完整输出了我们预期的结果。
1.2 报错回显判断¶
使目标处理我们输入的数据时内部错误,并在错误的输出中携带了受我们预期的结果。
1.3 文件写读判断¶
文件上传类漏洞,上传一个文件,访问获取预期的结果。
1.4 延时判断¶
通过控制在目标机器上执行的代码,让目标机器等待一段时间后再响应我们的请求。
在延时SQL注入、执行命令sleep、执行代码sleep等漏洞判定应用场景里常常会用到(注意网络延时的影响)。
2. 外带通道间接判断¶
通过控制目标向第三方发送信息,通过第三方是否接收到信息来判定目标是否存在漏洞。常见的例如DNSlog的方式,当目标可解析域名并允许请求外网DNS服务器时使用。
3. 漏洞验证优先级¶
结果回显判断 > 报错回显判断 > 写文件读取判断 > 延时判断 > 带外通道技术