Hack Redis via Python urllib HTTP Header Injection

阅读: 评论:0

Hack Redis via Python urllib HTTP Header Injection

Hack Redis via Python urllib HTTP Header Injection

本篇文章带来的是python低版本的urllib 头部注入,攻击目标为局域网内的Redis,结合着一道CTF实例,演示整个攻击过程

  • 0x01 简介
  • 0x02 环境搭建
  • 0x03 题目分析
    • 0x1 ssrf
    • 0x2 python urllib 注入
      • docker 1
      • docker 2
    • 0x3 redis攻击方式
      • webshell
      • 利用redis写恶意命令
      • 接收反弹的shell

0x01 简介

2016年6月BLINDSPOT披露了Python urllib http头注入漏洞:.html
通过这个漏洞,如果使用了Python的urllib库,并且请求的url为用户可控,那么就可能存在内网被探测的风险,如果本机或内网服务器中装有未授权访问的redis,那么服务器则有被getshell的风险。

0x02 环境搭建

利用2016hctf ATfeild 源码搭建

主机ip配置
本机172.17.0.1Ubuntu:16.04
docker1172.17.0.2Ubuntu:16.04 python2.7.6(源码编译)
docker2172.17.0.4centos:6 redis2.4.3

0x03 题目分析

整个题目只有一个输入框

要求输入图片的url ,后台的访问过程因该是直接去请求文件
打印出来的image地址很可疑 怀疑是ssrf

下一步就是寻找内网主机

0x1 ssrf

这里我们测试能发现,并不允许ip的请求,也就是描述中所说的,请求必须符合.tld标准并且包含域名,如果想要请求127.0.0.1,我们这里有两种绕过方式

1、

这种方式可以自动把域名指向中间的ip,在一些特殊情况下非常好用

2、 xxxxx/?u=127.0.0.1

在有域名的vps上写一个跳转页面实现,事实上,只有第二种做法可以顺利继续做下一题

这里采用两种方法结合的方式
构造.php?u=127.0.0.1

0x2 python urllib 注入

该漏洞的前提python版本为python3 < 3.4.3 || python2 < 2.7.9 (ps 这里python版本必须是自己编译的,虽然不知道为什么???)

首先我们了解一下什么是python urllib 注入

1. docker 1

是对外开放的web服务器端
编写请求脚本

本文发布于:2024-02-02 02:22:52,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170681470140775.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Python   Redis   Hack   urllib   Injection
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23