9  
战胜过滤器


因为某些程序在接受输入时会过滤不良数据,所以编写缓冲区溢出的破解时,可能会碰到一些问题;比如说,目标程序可能只接受字母和数字:从A到Z,a到z,0到9。在这种情况下,我们需要绕过两个障碍。第一,我们写的破解必须符合过滤器的要求;第二,必须找到合适的值来改写保存的返回地址或函数指针,而这又要看是破解何种溢出,而且这个值也需要被过滤器接受。假如碰到不太苛刻的过滤器,比如说,接受可打印的ASCII或Unicode字符,那我们通常可以解决第一个问题;但要解决第二个问题,在一定程度上要看运气、毅力和技巧了。

BTW:在圣诞前夕,感谢那些为我们提供学习资料的外国友人。虽然他们看不到我的祝福 

上传的附件 9.战胜过滤器.rar