BUUCTF [RoarCTF 2019] Easy calc

打开题目发现啥都无,就只有一个计算器,没什么头绪,抓个包看一下。

到时抓到了不错的的东西

Calc.php,拉到题目里看一下

给了源码和相应的限制条件,可以见到,题目将”\”屏蔽了,抓包看到的上边有WAF,想着试试让num=phpinfo()试试能不能行

结果是被ban掉了,后想起可以利用PHP字符串解析的特性来尝试着绕过。

WAF检测url中输入的变量和内容是否符合规定,若不合规定,则会出现上访的Forbidden,但是如果我们在输入的变量前面加上一个  空格  ,则,相应的waf便找不到我们这个变量,默认为空。

尝试着输入? num=phpinfo().可以看到phpinfo被正常打开,其中还包含着system。Exec等一些指令函数同样也被ban了。

所以使用

PHP语句var_dump函数作用是判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型.、即输出变量的信息

Scandir为扫描dir目录下面的所有内容。

而在上方我们发现/被题目所禁止了,那么我们尝试着使用 chr47 来替代 / 从而实现绕过

http://node4.buuoj.cn:29775/calc.php?%20num=var_dump(scandir(chr(47)))

%20 是空格

输入,反应,我们发现题目中有着么一个东西。

上payload吧

http://node4.buuoj.cn:29775/calc.php?%20num=file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103))

------------- 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")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值