Cat
-
题目描述
抓住那只猫!
-
解题过程
看这个提示,让输入域名,猜测是php下的命令执行,先试试
看了下请求头,是ubuntu
-
测试规则
- 不能包含
|
- 不能包含
&
- 可以用十进制/十六进制/二进制ip
- 不能包含
-
去看了官方wp
-
使用
%80
得到报错信息- 因为url编码使用的是16进制,x 80==d 128,ascii码的范围是0-127,所以会报错
把报错信息渲染一下,可以看到这是django的错误页面,里面包含了数据库配置信息
DATABASES {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.sqlite3', 'HOST': '', 'NAME': '/opt/api/database.sqlite3', 'OPTIONS': {}, 'PASSWORD': u'********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': ''}}
-
使用@来传输文件内容
- php(<5.5)的curl中,可以使用@前缀+绝对路径来发送文件
-
访问
@/opt/api/database.sqlite3
,得到报错信息,内容是数据库内容,在里面有flag
-
-
-
参考