标签:用户名 url 编码 题解 设置 默认值 als 绝对路径 djang
CURLOPT_SAFE_UPLOAD
为 true 时,如果在请求前面加上@的话phpcurl组件是会把后面的当作绝对路径请求,来读取文件。当且仅当文件中存在中文字符的时候,Django 才会报错导致获取文件内容。
把它作为html打开,可以看到Django的报错页面,其中settings项目中:
注:(django项目下一般有个settings.py文件是设置网站数据库路径(django默认使用的的是sqlites数据库),如果使用的是其它数据库的话settings.py则设置用户名和密码。除此外settings.py还会对项目整体的设置进行定义。)
这里面可以看到此项目的数据库目录所在/opt/api/database.sqlite3。
通过任意文件读取:
访问?url=@/opt/api/database.sqlite3。
搜索ctf得到:
解出!
标签:用户名 url 编码 题解 设置 默认值 als 绝对路径 djang
原文地址:https://www.cnblogs.com/wenjiananquan/p/12019328.html