打开题目发现啥都无,就只有一个计算器,没什么头绪,抓个包看一下。
到时抓到了不错的的东西
Calc.php,拉到题目里看一下
给了源码和相应的限制条件,可以见到,题目将”\”屏蔽了,抓包看到的上边有WAF,想着试试让num=phpinfo()试试能不能行
结果是被ban掉了,后想起可以利用PHP字符串解析的特性来尝试着绕过。
WAF检测url中输入的变量和内容是否符合规定,若不合规定,则会出现上访的Forbidden,但是如果我们在输入的变量前面加上一个 空格 ,则,相应的waf便找不到我们这个变量,默认为空。
尝试着输入? num=phpinfo().可以看到phpinfo被正常打开,其中还包含着system。Exec等一些指令函数同样也被ban了。
所以使用
PHP语句var_dump函数作用是判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型.、即输出变量的信息
而在上方我们发现/被题目所禁止了,那么我们尝试着使用 chr47 来替代 / 从而实现绕过
http://node4.buuoj.cn:29775/calc.php?%20num=var_dump(scandir(chr(47)))
%20 是空格
输入,反应,我们发现题目中有着么一个东西。
上payload吧
------------- file_get_contents() 把整个文件读入一个字符串中。
该函数是用于把文件的内容读入到一个字符串中的首选方法。,后方的chr多少多少其实都是对应了“f1agg”的字母,最后得出flag。
flag{893356ba-a979-46bd-a4c2-4ac2e51013dc}
下面附一些chr表对应图
Chr("0") 为0的字符
Chr("1")
Chr("2")
Chr("3")
Chr("4")
Chr("5")
Chr("6")
Chr("7") 响铃
Chr("8") 回格
Chr("9") tab(水平制表符)
Chr("10") 换行
Chr("11") tab(垂直制表符)
Chr("12") 换页
Chr("13") 回车 chr(13)&chr(10) 回车和换行的组合
Chr("14")
Chr("15")
Chr("16")
Chr("17")
Chr("18")
Chr("19")
Chr("20")
Chr("21")
Chr("22")
Chr("23")
Chr("24")
Chr("25")
Chr("26") 结束 End
Chr("27") 脱离 Pause break
Chr("28")
Chr("29")
Chr("30")
Chr("31")
Chr("32") 空格 SPACE
Chr("33") !
Chr("34") "
Chr("35") #
Chr("36") $
Chr("37") %
Chr("38") &
Chr("39") ’
Chr("40") (
Chr("41") )
Chr("42") *
Chr("43") +
Chr("44") ,
Chr("45") -
Chr("46") .
Chr("47") /
Chr("48") 0
Chr("49") 1
Chr("50") 2
Chr("51") 3
Chr("52") 4
Chr("53") 5
Chr("54") 6
Chr("55") 7
Chr("56") 8
Chr("57") 9
Chr("58") :
Chr("59") ;
Chr("60") <</p>
Chr("61") =
Chr("62") >
Chr("63") ?
Chr("64") @
Chr("65") A
Chr("66") B
Chr("67") C
Chr("68") D
Chr("69") E
Chr("70") F
Chr("71") G
Chr("72") H
Chr("73") I
Chr("74") J
Chr("75") K
Chr("76") L
Chr("77") M
Chr("78") N
Chr("79") O
Chr("80") P
Chr("81") Q
Chr("82") R
Chr("83") S
Chr("84") T
Chr("85") U
Chr("86") V
Chr("87") W
Chr("88") X
Chr("89") Y
Chr("90") Z
Chr("91") [
Chr("92") /
Chr("92") /
Chr("93") ]
Chr("94") ^
Chr("95") _
Chr("96") `
Chr("97") a
Chr("98") b
Chr("99") c
Chr("100") d
Chr("101") e
Chr("102") f
Chr("103") g
Chr("104") h
Chr("105") i
Chr("106") j
Chr("107") k
Chr("108") l
Chr("109") m
Chr("110") n
Chr("111") o
Chr("112") p
Chr("113") q
Chr("114") r
Chr("115") s
Chr("116") t
Chr("117") u
Chr("118") v
Chr("119") w
Chr("120") x
Chr("121") y
Chr("122") z
Chr("123") {
Chr("124") |
Chr("125") }
Chr("126") ~
Chr("127")
Chr("128")
Chr("129")
Chr("130")
Chr("131")
Chr("132")
因篇幅问题不能全部显示,请点此查看更多更全内容