攻防世界 web 进阶 wtf.sh

进入网站是一个论坛
先注册个账号
利用账号登陆
随便点一个文章查看
发现传递参数post=

尝试各种可能有的漏洞
发现路径穿越漏洞
传递参数…/ 或…\ 获取源码
攻防世界 web 进阶 wtf.sh_第1张图片
ctrl+f
查找flag关键字
攻防世界 web 进阶 wtf.sh_第2张图片
将代码格式化


 
 
 
$ if contains 'user' ${!URL_PARAMS[@]} && file_exists "users/${URL_PARAMS['user']}" 
$ then 
$ local username=$(head -n 1 users/${URL_PARAMS['user']}); 
$ echo "

${username}'s posts:

"; $ echo "
    "; $ get_users_posts "${username}" | while read -r post; do $ post_slug=$(awk -F/ '{print $2 "#" $3}' <<< "${post}"); $ echo "
  1. $(nth_line 2 "${post}" | htmlentities)
  2. "; $ done $ echo "
"; $ if is_logged_in && [[ "${COOKIES['USERNAME']}" = 'admin' ]] && [[ ${username} = 'admin' ]] $ then $ get_flag1 $ fi $ fi

看到了一段关键代码

$ if is_logged_in && [[ “${COOKIES[‘USERNAME’]}” = ‘admin’ ]] && [[ ${username} = ‘admin’ ]]
$ then
$ get_flag1

使用admin登陆就能得到flag1
去看看users目录

传参post=…/users
攻防世界 web 进阶 wtf.sh_第3张图片
 可以看到里面有我们的账号信息和admin的信息,看到这些字符串如果经验丰富的话可以猜测是cookie或者是代表我们身份的令牌
 老套路 抓包伪造cookie使用admin登陆
 
 这里需要了解一下token,菜狗表示第一次见,贴一个大佬的博客链接
 https://www.cnblogs.com/menyiin/p/token.html
 作者:守正

把USERNAME参数改一下,
TOKEN改一下

攻防世界 web 进阶 wtf.sh_第4张图片
拿到一部分flag

服务器使用了WTF架构
代码审不动

以后更新

你可能感兴趣的:(ctf)