Bugku:web矛盾
繼續web學習,打開網址鏈接。
?
最開心的事情莫過于直接看到PHP代碼因為不用去抓?
?
?
可以看到意思是num不是numeric并且num需要等于1的時候才會展示出flag,這就是題目矛盾的來源。
?
所以要怎么樣才能用get的方式直接輸入1而不是1這個數字呢?
?
竟然有很多雞賊方法!!!!!!!!
?
比如:
?
這個網上所謂的科學計數法,可是想不通,1*e*0.1,它不等于1啊?!啊?!您在逗我,這樣都能行。
?
所以又嘗試了各種姿勢,比如:
?
?
1xx,1xxx,1xxxxx,你XX?!
?
?
符號:%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截斷。
這個知識點還需要在后續文件截斷中繼續實踐,任重而道遠啊。
?
可是又發現了:
?
?
而且1'什么的都可以,所以......1后面加什么都可以!解碼出來都是1!
?
歡迎大家關注我的微信公眾號,一起學習,互相督促,一起玩耍呀!!!
?
?
總結
以上是生活随笔為你收集整理的Bugku:web矛盾的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 毕业设计-电商秒杀系统
- 下一篇: 计算机网络常见缩略词