攻防世界-高手进阶区web-CAT

题目

攻防世界-高手进阶区web-CAT_第1张图片

writeup

首先尝试输入例子:loli.club

攻防世界-高手进阶区web-CAT_第2张图片

发现,get方式传入url

尝试127.0.0.1

攻防世界-高手进阶区web-CAT_第3张图片

发现执行了ping 127.0.0.1的命令

考虑curl

但是,尝试ls、cat等命令,无法正常执行

攻防世界-高手进阶区web-CAT_第4张图片

转换思路(还是参考了大佬们的文章~

尝试输入url编码后的字符且是不常见的那种!

输入%8f,报错

攻防世界-高手进阶区web-CAT_第5张图片

查看报错信息:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-03kISo8H-1571227303503)(E:\CTF\小白学习总结\攻防世界\web\picture2\7.6.PNG)]

发现:Django

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-evG8ReoP-1571227303504)(E:\CTF\小白学习总结\攻防世界\web\picture2\7.7.PNG)]

debug

于是,尝试查找api有用信息:

攻防世界-高手进阶区web-CAT_第6张图片

发现api后有database

于是尝试访问该路径

但无法成功

参考资料发现:

攻防世界-高手进阶区web-CAT_第7张图片

于是有:

?url=@/opt/api/database.sqlite3

攻防世界-高手进阶区web-CAT_第8张图片

查找CTF:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wp5F8amK-1571227303507)(E:\CTF\小白学习总结\攻防世界\web\picture2\7.flag.PNG)]

得到flag~

知识点:

curl-@

CURLOPT_POSTFIELDS

全部数据使用HTTP协议中的 “POST” 操作来发送。
要发送文件,在文件名前面加上*@前缀并使用完整路径。
文件类型可在文件名后以 '
;type=mimetype*’ 的格式指定。
这个参数可以是 urlencoded 后的字符串,类似’para1=val1¶2=val2&…’,也可以使用一个以字段名为键值,字段数据为值的数组。
如果value是一个数组,Content-Type头将会被设置成multipart/form-data

从 PHP 5.2.0 开始,使用 @ 前缀传递文件时,value 必须是个数组。

从 PHP 5.5.0 开始, @ 前缀已被废弃,文件可通过 CURLFile 发送。
设置 CURLOPT_SAFE_UPLOADTRUE 可禁用 @ 前缀发送文件,以增加安全性。

你可能感兴趣的:(CTF之Web)