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

题目

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

writeup

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

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

发现,get方式传入url

尝试127.0.0.1

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

发现执行了ping 127.0.0.1的命令

考虑curl

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

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

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

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

输入%8f,报错

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

查看报错信息:

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

发现:Django

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

debug

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

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

发现api后有database

于是尝试访问该路径

但无法成功

参考资料发现:

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

于是有:

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

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

查找CTF:

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

得到flag~

知识点:

curl-@

CURLOPT_POSTFIELDS

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

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

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

发布了54 篇原创文章 · 获赞 25 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wyj_1216/article/details/102593520