继续web学习,打开网址链接。

 

Bugku:web矛盾

最开心的事情莫过于直接看到PHP代码Bugku:web矛盾Bugku:web矛盾Bugku:web矛盾因为不用去抓?

 

Bugku:web矛盾

 

可以看到意思是num不是numeric并且num需要等于1的时候才会展示出flag,这就是题目矛盾的来源。

 

所以要怎么样才能用get的方式直接输入1而不是1这个数字呢?

 

竟然有很多鸡贼方法!!!!!!!!

 

比如Bugku:web矛盾

 

Bugku:web矛盾

这个网上所谓的科学计数法,可是想不通,1*e*0.1,它不等于1啊?!啊?!您在逗我,这样都能行。

 

所以又尝试了各种姿势,比如:

 

Bugku:web矛盾

 

1xx,1xxx,1xxxxx,你XX?!

 

Bugku:web矛盾

 

符号:%00,这是经典的文件上传截断,截断是很神奇的东西。

例:filename=test.php%00.txt

常见:

1.上传时路径可控,使用00截断;

2.文件下载时,00截断绕过白名单检查;

3.文件包含时,00截断后面限制(主要是本地包含时);

4.其它与文件操作有关的地方都可能使用00截断。

小小题目,知识点是很多的。另一篇博主的说法是%00是被服务器解码成了0x00才发挥了截断作用。

 

原理:系统在对文件名读取时,如果遇到0x00,就会认为读取已结束。

但要注意是文件的16进制内容里的00,而不是文件名中的00 !!!就是说系统是按16进制读取文件(或者说二进制),遇到ascii码为零的位置就停止,而这个ascii码为零的位置在16进制中是00,用0x开头表示16进制,也就是所说的0x00截断。

这个知识点还需要在后续文件截断中继续实践,任重而道远啊。

 

可是又发现了:

 

Bugku:web矛盾

 

而且1'什么的都可以,所以......1后面加什么都可以!解码出来都是1!Bugku:web矛盾Bugku:web矛盾Bugku:web矛盾Bugku:web矛盾Bugku:web矛盾Bugku:web矛盾Bugku:web矛盾Bugku:web矛盾Bugku:web矛盾Bugku:web矛盾Bugku:web矛盾Bugku:web矛盾Bugku:web矛盾

 

欢迎大家关注我的微信公众号,一起学习,互相督促,一起玩耍呀!!!

 

Bugku:web矛盾

 

相关文章: