知识点:
php cURL CURLOPT_SAFE_UPLOAD
django DEBUG mode
Fuzz URL,得到如下结果:
1、正常 URL,返回 ping 结果
2、非法 URL(特殊符号),返回 Invalid URL
3、%80,返回 Django 报错
通过第三种情况,判断出后端架构,猜测 PHP 层的处理逻辑。
当 CURLOPT_SAFE_UPLOAD 为 true 时,PHP 可以通过在参数中注入 @ 来读取文件。当且仅当文件中存在中文字符的时候,Django 才会报错导致获取文件内容。
通过 Django 报错调用栈中的信息,请求
@/opt/api/api/settings.py
@/opt/api/database.sqlite3