CTF web题总结--SSRF
SSRF(Server-Side Request Forgery:服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内网。(正因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内网)
SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤和限制。即SSRF漏洞就是通过篡改获取资源的请求发送给服务器,但是服务器并没有发现这个请求是非法的,然后服务器以他的身份来访问其他服务器的资源。
利用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 {echo '<a href="' . $filename . '">' . $filename . '</a>';}} else {echo '<p>Protocol Not Supported!(:◎)≡</p>';}
} else {?>
审计代码发现开头必须是 http[s]
CTF web题总结--SSRF相关推荐
- CTF Web题 部分WP
1.web2 听说聪明的人都能找到答案 http://123.206.87.240:8002/web2/ CTRL + u 查看源代码 2.计算器 http://123.206.87.240:8002 ...
- i春秋python_i春秋CTF web题(1)
之前边看writeup,边做实验吧的web题,多多少少有些收获.但是知识点都已记不清.所以这次借助i春秋这个平台边做题,就当记笔记一样写写writeup(其实都大部分还是借鉴其他人的writeup). ...
- hxp 36C3 CTF Web题 WriteupBin Writeup (Selenium模拟点击+Content Security Policy+Nonce+Parsley.js触发错误提示)
WriteupBin – A web challenge from hxp 36C3 CTF https://ctftime.org/event/825 题目部署 本地搭建: 解压WriteupBin ...
- mysql 南邮ctf_南邮ctf web题记录(上)
1.签到题 f12看源码就行了. md5 collision 题目贴出了源码,按照题意,a不等于QNKCDZO但是md5与QNKCDZO的md5相等时就可以获得flag. 如果两个字符经MD5加密后的 ...
- CTF web题总结--LFI
本地文件包含漏洞(Local File Include),是php的include()函数存在设计缺陷,学习链接:php文件包含漏洞总结 题目的url都是类似这种: http://127.0.0.1/ ...
- CTF web题 wp:
1.签到题 火狐F12查看源码,发现注释: 一次base64解码出flag 2.Encode 在这里插入图片描述 和第一题界面一样?? 轻车熟路f12: 发现编码: 格式看上去是base64,连续两次 ...
- 四个有关文件传输的CTF WEB题(深育杯FakeWget、极客大挑战where_is_my_FUMO、2021陇原战疫CheckIN、N1CTF-curl trick)
文章目录 深育杯FakeWget 极客大挑战where_is_my_FUMO 2021陇原战疫CheckIN N1CTF-curl trick wp来自官方发布和个人想法,觉得这四个题挺有意思的所以整 ...
- CTF Web题部分PHP魔术方法总结(Magic Methods)
几个常见的PHP魔术方法 简单介绍 详细介绍 __sleep() __wakeup() __get() __set() __isset() __unset() __construct() __dest ...
- CTF web题总结--爆破用户名密码
1.burp爆破用户名密码 2.id,userid,useId多试几次 3.爆破后台目录,index.php,users.php,login.php,flag.php 4.脚本: # -*- codi ...
最新文章
- 华为视觉研究路线图:三大挑战,六项计划
- Gartner:2018年十大科技趋势与其对IT和执行的影响
- 云计算基础设施智能运维的下一段征程,你们准备好了吗?
- svm硬间隔与软间隔
- LoaderManager使用详解(一)---没有Loader之前的世界
- javascript 强制类型转换
- 深度学习中用到的一些函数
- java 最大公约数和最小公倍数
- 单向链表反转(逆置)
- 锐捷校园网使用python登录
- 软考高项笔记 | 软技能
- 程序员电脑屏保画面,显示时间
- 基于FPGA的LED全彩图形显示控制器设计
- bem css_CSS体系结构:块元素修饰符(BEM)和原子CSS
- 2019区块链概念股龙头
- HTML Hover 的巧用。
- Oracle 分析函数(Analytic Functions) 说明
- dell 服务器面板显示屏,Dell服务器面板错误码详解
- PCB相关知识-元器件+原理图
- 客服人员如何摆脱工作上的负面情绪
热门文章
- python在中国的发展-为什么Python发展这么快,有哪些优势?
- python基础教程第三版怎么样-Python基础教程(第三版)(七)再谈抽象
- python代码教程-【Python】Python3纯代码极简教程
- 如何用python计算工资-手把手用Python教你分析运筹学薪资状况
- python程序设计报告-《Python程序设计》 实验报告.doc
- Opengl-基本概念-纹理(单纯的颜色太单调弄张图显示不是更好)
- codeforces D. Palindrome Degree(hash)
- LeetCode 16 3Sum Closest
- LeetCode Implement Trie (Prefix Tree)(字典树)
- 调试兼容性该注意的的点