渗透测试步骤

(1)轮流向每个目标参数提交包含大量格式化说明符%n与%s的字符串:

img498a

注意,基于安全考虑,一些格式化字符串操作可能会忽略%n说明符。相反,提交%s说明符将会使函数废弃栈上的每一个参数,如果应用程序易于受到攻击,就可能会导致非法访问。

(2)Windows FormatMessage函数以一种不同的方式使用printf系列函数中的说明符。为测试调用这个函数是否易于受到攻击,应该使用以下字符串:

img498b

(3)记得将%字符URL编码成%25。

(4)与上述查找缓冲区溢出漏洞时一样,应该监控应用程序响应中出现的反常事件。