Buuctf Easy Calc

打开该靶机,发现为一个计算器

尝试写一个xss的payload测试一下

再尝试一下SQL注入

两次尝试都不行,该网页应该存在waf,查看该网页的源代码

发现有一个网页,访问一下该网页

发现为网页所过滤的一些规则,而且该网页应该是由calc.php对其进行传参

尝试看一下该网页有没有phpinfo页面

报了个403的错误,服务器上文件或目录拒绝访问

应该存在waf,尝试绕过一下waf,这里有两种绕过waf的方法

在num前添加%20(空格)绕过对num的检测

HTTP走私之重复Content-Length绕过

 查看一下disable_functions,看看禁用哪些函数 

虽然很多函数都用不了了,但是还有个scandir()函数可以用

但是又因为waf存在,使很多字符都无法使用,这里百度了一下(看了一下大佬的wp),我们可以利用chr函数对其进行绕过,但是在php里我们不能直接输出,要用var_dump或者print_r,这两个函数都可以把flag打印出来,print_r和var_dump都能输出数组和对象,但print_r对布尔型的输出不太明显;var_dump输出比较详细,一般调试时用得比较多

构造payload

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

 在这里看到了f1agg,应该为本题的flag所在

利用file_get_contents()进行读取

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

 得到该题的flag

flag{208301f8-9995-4bce-905c-150c1a94dcb2}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值