web一共五道,我乱序分析
web1
看题目提示,PUT your heart into this page.
盲猜是个脑洞题用put传入参数heart
纠结了一下午,有时候萌新题就是看脑洞
web2
这个题是个代码审计题
查看源码,发现 extract($_GET) 一行将 get 参数转化为 php 变量.
下一行判断 $who 是 web1n,并且 $girlfriend 存在的话就输出 flag.
web3
F12看一下源代码
发现有个提示,好像是base64加密过的,我们解密后发现
我们将密码输入到密码框中发现密码框无法输入,我们查看密码框代码
将readonly="readonly"删除
在密码框中输入密码点击login
我们把浏览器的编码改一下
我们用burp suite抓包,加一个x-forwarded-for头文件
web4
又是一道代码审计题,其中我们只要符合pass1的值等于pass2即可
pass2为pass参数的md5形式,我们只需传给pass1变量pass变量的md5值即可得到flag
因为涉及到file_get_contenes()函数,所以我们用php://input伪协议进行传参
?user=php://input
用post方法传入想要file_get_contents()函数返回的值
方法二:
用data://伪协议绕过
将url改为:?user=data://text/plan;base64,想要file_get_contents()函数返回的base64编码
web5
xxe漏洞
我们试着用账户admin密码passwd登录一下
发现了flag文件的位置,这里说的根目录是网站根目录
我们构造payload即可找到flag