博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[SUCTF 2019]Pythonginx
阅读量:2065 次
发布时间:2019-04-29

本文共 879 字,大约阅读时间需要 2 分钟。

  • 题目给的源码
@app.route('/getUrl', methods=['GET', 'POST'])def getUrl():    url = request.args.get("url")    host = parse.urlparse(url).hostname    if host == 'suctf.cc':        return "我扌 your problem? 111"    parts = list(urlsplit(url))    host = parts[1]    if host == 'suctf.cc':        return "我扌 your problem? 222 " + host    newhost = []    for h in host.split('.'):        newhost.append(h.encode('idna').decode('utf-8'))    parts[1] = '.'.join(newhost)    #去掉 url 中的空格    finalUrl = urlunsplit(parts).split(' ')[0]    host = parse.urlparse(finalUrl).hostname    if host == 'suctf.cc':        return urllib.request.urlopen(finalUrl).read()    else:        return "我扌 your problem? 333"
  • 前面两个if用来判定host是否时suctf.cc如果是则报错
for h in host.split('.'):       newhost.append(h.encode('idna').decode('utf-8'))
  • 将域名部分先进行idna编码再进行utf-8解码
  • 之后再进行去空格的操作
  • 如果此时host的值还是suctf.cc则可以读取文件
  • 完全不会啊!!!!看wp了

转载地址:http://rfwmf.baihongyu.com/

你可能感兴趣的文章
Prometheus hang 住问题定位解决
查看>>
别看 DNS 污染闹得欢,现在我用 CoreDNS 将它拉清单
查看>>
百度为什么掉队了
查看>>
Containerd 中的 Snapshot 到底是个什么鬼?
查看>>
Dockerd 资源泄露怎么办
查看>>
高性能 Nginx HTTPS 调优 - 如何为 HTTPS 提速 30%
查看>>
在 Kubernetes 中部署高可用 Harbor 镜像仓库
查看>>
容器网络一直在颤抖,罪魁祸首竟然是 ipvs 定时器
查看>>
阿里宣布拆中台,首当其冲就是优化数据中台架构?
查看>>
Cilium 源码解析:Node 之间的健康探测(health probe)机制
查看>>
前几天是谁说 WireGuard 不香的?看我今天怎么怼你
查看>>
配置 containerd 镜像仓库完全攻略
查看>>
iTerm 2 使用触发器和 expect 实现 ssh 自动登录
查看>>
Kubernetes Pod 突然就无法挂载 Ceph RBD 存储卷了。。
查看>>
解决 Kubernetes 部署 Metrics Server 无法访问 Apiserver 问题
查看>>
AWS 容器三大新品:K8s 发行版,免费镜像库和 “Game Changer”AWS Proton
查看>>
多平台容器镜像构建就看这一篇
查看>>
macOS Big Sur 使用全新虚拟化框架创建超轻量虚拟机!
查看>>
16 岁高中生成功在 iPhone 7 上安装 Ubuntu 20.04 桌面!
查看>>
两个程序都要用同一个端口,怎么解?
查看>>