复健,从头开始刷,一样的题直接放一起了。
[SWPUCTF 2021 新生赛]gift_F12
按照题目提示f12,搜索flag,找到flag所在地
[SWPUCTF 2021 新生赛]jicao
php代码审计
$id=$_POST['id'];
$json=json_decode
给出两个需要上传的参数
发现get是用了json解码,所以我们需要上传json编码,post就正常上传,exp如图
[SWPUCTF 2021 新生赛]easy_md5
知识点如下:
关于php弱类型比较之md5碰撞_md5弱类型比较-CSDN博客
简述来说就是找两个原本值不同,但md5后值相同的数比较,也就是这句:
($name != $password && md5($name) == md5($password))
而这个很巧合的md5后相同的数就是0,这类给的?a=QNKCDZO&b=s878926199a就是这样的数
[SWPUCTF 2021 新生赛]include
知识点:给了file,给了文件在flag.php自然想到php伪协议
?file=php://filter/read=convert.base64-encode/resource=flag.php
字段解释,用的以前写过的wp的:
再补充一下php://filiter 格式:
php://filiter是固定格式: /read=是可选参数,有read和write两种,如果不写网站会自动匹配一个合适的read或write
convert.base64-encode/是过滤器,有四种:字符串过滤,转换过滤器,压缩过滤器,加密过滤器,filter里可以使用一个或多个过滤器,中间用 | 管道符隔开就行,这里的过滤器是把flag.php里面的代码转换(convert)为base64(encode),至于为什么先编码后解码则是因为flag在注释里面,直接显示源码的话你比较秀,我还不会。
/resource=xxx.php是必选参数,接需处理的文件名
把这里给出的base64码解一下就是flag了
[SWPUCTF 2021 新生赛]easyrce
无回显RCE,url之后直接接个phpinfo();是个好习惯
看到回显后,直接system('ls /')直接看根目录,唯手熟耳。
找到flag文件名后玩花的,tac 防止cat禁止, < 防止空格过滤,当然事后发现我在第三层。
虽然看起来像在地下一层就是了。
好了,该run了,再不跑要和别人挤电梯了。
这里是很菜的WL。
感谢你的收看,希望能够帮到你.
那么我们下一集再见!