CG-CTF-Web-MYSQL
MYSQL
1.題目
2.我們打開題目地址
3.看來有個robots.txt,我們來訪問一下,出現下圖所示
4.那我們接下來分析代碼:
5.根據以上代碼分析,這里是利用intval()函數來繞過,輸出flag。因此,url傳入id=1024.3,實現繞過if判斷,輸出flag
注:
- 代碼主要函數語法
intval() 函數用于獲取變量的整數值。
intval() 函數通過使用指定的進制 base 轉換(默認是十進制),返回變量 var 的 integer 數值。intval()
不能用于object,否則會產生 E_NOTICE 錯誤并返回 1。
PHP 4, PHP 5, PHP 7
語法 int intval ( mixed $var [, int $base = 10 ] )
參數說明: $var:要轉換成 integer 的數量值。 $base:轉化所使用的進制。(默認是十進制)
如果 base 是 0,通過檢測 var 的格式來決定使用的進制: 如果字符串包括了 “0x” (或 “0X”) 的前綴,使用 16 進制
(hex);否則, 如果字符串以 “0” 開始,使用 8 進制(octal);否則, 將使用 10 進制 (decimal)。 返回值
成功時返回 var 的 integer 值,失敗時返回 0。 空的 array 返回 0,非空的 array 返回 1。
最大的值取決于操作系統(tǒng)。 32 位系統(tǒng)最大帶符號的 integer 范圍是 -2147483648 到
2147483647。舉例,在這樣的系統(tǒng)上, intval(‘1000000000000’) 會返回 2147483647。64
位系統(tǒng)上,最大帶符號的 integer 值是 9223372036854775807。
字符串有可能返回 0,雖然取決于字符串最左側的字符。
特別注意:除非 var 是一個字符串,否則 base 不會起作用。也就是說如果第一個參數不是字符串,那么第二個參數的進制就無效,即默認取整后,讓取整后的數當做10進制數轉換成10進制數,也就是本身了…
但有特例,正如上面所說,如果base為0,就自動檢測var參數,0開頭,當做8進制數,0x開頭當做16進制數
- 舉例:
記住一點,以指定進制轉換后,最后選擇的結果數都是10進制數,例:
因為非字符串無效,這里,我就選擇字符串
總結
以上是生活随笔為你收集整理的CG-CTF-Web-MYSQL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CG-CTF-Web-COOKIE
- 下一篇: 吸引人的餐饮广告词194个