9
战胜过滤器
因为某些程序在接受输入时会过滤不良数据,所以编写缓冲区溢出的破解时,可能会碰到一些问题;比如说,目标程序可能只接受字母和数字:从A到Z,a到z,0到9。在这种情况下,我们需要绕过两个障碍。第一,我们写的破解必须符合过滤器的要求;第二,必须找到合适的值来改写保存的返回地址或函数指针,而这又要看是破解何种溢出,而且这个值也需要被过滤器接受。假如碰到不太苛刻的过滤器,比如说,接受可打印的ASCII或Unicode字符,那我们通常可以解决第一个问题;但要解决第二个问题,在一定程度上要看运气、毅力和技巧了。
BTW:在圣诞前夕,感谢那些为我们提供学习资料的外国友人。虽然他们看不到我的祝福
- 标 题: 《The Shellcoder's handbook》第九章_战胜过滤器
- 作 者:arhat
- 时 间:2006-12-24 21:43:43
- 链 接:http://bbs.pediy.com/showthread.php?t=36885