今天咩,说一个关于php的题目,里面主要主要牵扯到截断的知识点,这让我多了解了一些机制。
1.截断
截断,简单来说就是16进制的00,代表空。其实,那些输出语句函数就是凭借语句后面这个我们看不见的16进制00终止读取完语句滴。
上题,源代码是这样滴

很明显知道,可以设置id=m,a=php://input,可是b呢?截断能满足它的条件,来一来看一看了。
2.截断应用
b应该满足的条件是

构造的b=%0011111(重点:url中的会在浏览器中解码,判断%00为空),它长度为6,第一个值不为4,也满足eregi的要求。
结果是这样的。

已知,在post中它不会被解码,需要人为解码,来看看操作。
3.截断-手工操作
bp抓一个,将%00解码。

编程方框,应该是不可识别字符,在16进制中看,是00 -。-
