CTFweb题总结--SSRF

CTFweb题总结--SSRF
版权声明:本⽂为博主原创⽂章,遵循版权协议,转载请附上原⽂出处链接和本声明。
本⽂链接:
全自动文具盒SSRF(Server-Side Request Forgery:服务器请求伪造)是⼀种由攻击者构造形成由服务端发起请求的⼀个安全漏洞。⼀般情况
下,SSRF攻击的⽬标是从外⽹⽆法访问的内⽹。(正因为它是由服务端发起的,所以它能够请求到与它相连⽽与外⽹隔离的内⽹) SSRF形成的原因⼤都是由于服务端提供了从其他服务器应⽤获取数据的功能且没有对⽬标地址做过滤和限制。即SSRF漏洞就是通过篡改 获取资源的请求发送给服务器,但是服务器并没有发现这个请求是⾮法的,然后服务器以他的⾝份来访问其他服务器的资源。
ctf题:
php file_get_contents():
<?php
if (isset($_POST['url'])) {
$url = $_POST['url'];
if (preg_match('/^http[s]?:\/\/([(\w|\d)+\.]+[\/]?)*/', $url, $matches)) {
$content = file_get_contents($_POST['url']);
$filename = str_replace('/', '', $matches[1]);
管线电伴热
$filename = './chuoybinu/' . md5($filename) . $matches[1];
file_put_contents($filename, $content);
$image = getimagesize($filename);
$image_type = $image[2];
if(in_array($image_type, array(IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_BMP))) {
echo'<img src="' . $url . '">';
} else {
echo'<a href="' . $url . '">' . $url . '</a>';
}
} else if (preg_match('/^file:\/\/([\/\w\d\.]+)/', $url)) {
$content = file_get_contents($url);
readfile($file);
$filename = './chuoybinu/' . md5(time());
file_put_contents($filename, $content);
if (strpos($url, '_')) {
echo'<p>Flag is not such easy to get!(:◎)≡</p>';
} else {高温轴承shgbzc
echo'<a href="' . $filename . '">' . $filename . '</a>';
}酚醛模塑料
} else {
echo'<p>Protocol Not Supported!(:◎)≡</p>';空气过滤材料
}
} else {
>
发现开头必须是 http[s]:// 或者是 file:// 。
然后就可以进⾏SSRF攻击。⾸先读取index.php
file:///var/www/index.php
然后观察到flag在 flag_chunibyou.php 中,但是index限制读取的⽂⽂件不不能包含 _ ,所以只能从
另外⼀个⻆⾓度去看。根据提⽰,数据库⽂件是可以访问的。然后从index⽂件中可以看到数据库结构,因此可以下载ibd⽂⽂件。pm2.5治理
file://…/ctf/user.ibd
通过 strings user.idb 可以拿到password,进⽽⽽拿到flag。

本文发布于:2024-09-22 19:35:53,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/244898.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:请求   服务器   服务端   资源
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议