进入网站是一个论坛
先注册个账号
利用账号登陆
随便点一个文章查看
发现传递参数post=
尝试各种可能有的漏洞
发现路径穿越漏洞
传递参数…/ 或…\ 获取源码
ctrl+f
查找flag关键字
将代码格式化
<html>
<head>
<link rel="stylesheet" type="text/css" href="/css/std.css" >
</head>
$ if contains 'user' ${!URL_PARAMS[@]} && file_exists "users/${URL_PARAMS['user']}"
$ then
$ local username=$(head -n 1 users/${URL_PARAMS['user']});
$ echo "<h3>${username}'s posts:</h3>";
$ echo "<ol>";
$ get_users_posts "${username}" | while read -r post;
do
$ post_slug=$(awk -F/ '{print $2 "#" $3}' <<< "${post}");
$ echo "<li><a href=\"/post.wtf?post=${post_slug}\">$(nth_line 2 "${post}" | htmlentities)</a></li>";
$ done
$ echo "</ol>";
$ if is_logged_in && [[ "${COOKIES['USERNAME']}" = 'admin' ]] && [[ ${username} = 'admin' ]]
$ then
$ get_flag1
$ fi
$ fi
</html>
看到了一段关键代码
$ if is_logged_in && [[ “${COOKIES[‘USERNAME’]}” = ‘admin’ ]] && [[ ${username} = ‘admin’ ]]
$ then
$ get_flag1
使用admin登陆就能得到flag1
去看看users目录
传参post=…/users
可以看到里面有我们的账号信息和admin的信息,看到这些字符串如果经验丰富的话可以猜测是cookie或者是代表我们身份的令牌
老套路 抓包伪造cookie使用admin登陆
这里需要了解一下token,菜狗表示第一次见,贴一个大佬的博客链接
https://www.cnblogs.com/menyiin/p/token.html
作者:守正
把USERNAME参数改一下,
TOKEN改一下
拿到一部分flag
服务器使用了WTF架构
代码审不动
以后更新