centos7系统做网站,企业网站优化系统,仿亿欧网wordpress,网站里面添加支付怎么做一#xff0c;简介
全称#xff1a;Server-Side Request Forgery#xff08;中文#xff1a;服务器端请求伪造#xff09;
攻击者从服务端发起请求#xff0c;让服务器连接任意外部系统#xff0c;从而泄露敏感数据。主要利用各种协议的请求伪造#xff0c;例如php协…一简介
全称Server-Side Request Forgery中文服务器端请求伪造
攻击者从服务端发起请求让服务器连接任意外部系统从而泄露敏感数据。主要利用各种协议的请求伪造例如php协议gopher协议ssrf中最强的 二原理。
1.服务端允许从其他服务器应用获取数据但没有对目标地址做过滤与限制从而导致在服务端可以访问内网而丢失关键信息。这样做可以绕过防火墙因为是从内部攻击而非外部
2.攻击者主动使应用通过127.0.0.1或localhost向服务器发出 HTTP 请求原本直接访问admin/url并不会出问题但是当该请求来自本地时访问控制就会被绕过攻击者就可以随便浏览想要的内容了。 三细节
1.可用的协议包括但不限于
file:/// 从文件系统中获取文件内容如file:///etc/passwd dict:// 字典服务器协议访问字典资源如dict:///ip:6739/info sftp:// SSH文件传输协议或安全文件传输协议 ldap:// 轻量级目录访问协议 tftp:// 简单文件传输协议 gopher:// 分布式文档传递服务可使用gopherus生成payload
2.可以攻击的漏洞包括但不限于
提供url分享可以收藏图片视频提供在线转码和翻译等可以发送请求同时可以人为控制地址的位置都有可能
3.防范意见——不完全
最好的办法避免用户在代表服务器发出请求的函数中输入
黑白名单控制能够获取内网信息的ip防止应用被用于攻击内网
端口限制将端口号限制为常见的808080等
协议禁用仅允许http和https等协议生效防止其他协议带来的不必要的麻烦
过滤返回信息以免关键信息被有心值人利用
4.ssrf绕过——不完全
1没有限制请求ip为内网ip 短网址 eg百度短地址https://dwz.cn/ 进制转换 将ip地址转换为8,16进制等 特殊域名
2域名限制 利用 不同的函数对的解析有不同的方式
3限制请求方式仅为http 302跳转 暂时性跳转 短地址
4其他 符号 包括但不限于 。 1 【】 将其插入或包裹ip地址即可 编码 CRLF 编码将ip地址转换为crlf编码 ctfhub
一内网访问
1.打开题目上面有提示尝试访问位于127.0.0.1的flag.php 2.构造url 二伪协议读取文件
1.打开环境有提示尝试去读取一下Web目录下的flag.php 2.构造url/?urlfile:///var/www/html/flag.php出现 3.查看源码即可 三端口扫描工具bp
1.打开环境提示说端口范围是8000-9000dict协议探测开放的端口——payload: ?urldict://127.0.0.1:8000 2.用bp截取后在开头构造GET /?urlhttp://172.0.0.1:8000 HTTP/1.1 3.发送至inturder板块修改payloads中的内容扫了以后就可以得到flag 四post请求
1.打开环境提示说发一个HTTP POST请求ssrf是用php的curl实现的.并且会跟踪302跳转。
2.构造伪协议因为要通过172.0.0.1访问我们需要bp抓包来修改先访问一下302.php没有什么再访问flag.php有一个key值但是不是我们想要的东西。
3.看一下flag.php的源码上面说使用gopher://协议进行传输修改一下
4.放包以后发现我们的url符号被转换进行二次编码就可以得到flag