HardXss复现
[QWB]HardXss复现
登陆(sql注入)
拿到页面后只有一个登陆框和一个提交反馈的页面,提交反馈界面需要登陆
登陆框的话,肯定先测试注入
发现过滤了空格,空格绕过常规操作admin'or(1)#
登陆成功,但是发现response包含Set-Cookie,并且设置了domain
只能手动设置cookie并登陆
登陆进去是一个/admin/界面,并且只有一个头像上传功能,并且带预览,发现允许上传的类型中包含svg
在源码里还发现一个display:none标签
<a href="https://flaaaaaaaag.cubestone.com?secret=demo" style="display:none">内网管理中心</a>
而在我们刚刚登陆之前的界面里还有一个提交反馈功能点
里面有链接参数框,经检测,会有robot去访问我们的链接
看了大佬的文章,发现很多非预期都是利用低版本的chrome_1day,这里的chrome版本在–no-sanbox下的确可以成功,但是这种思路并不是作者的预期解
根据上面这几点我们可以很容易的联想到利用xss来ssrf,我们先尝试获取管理员cookie
利用xss.pt平台接收cookie
但是下面一个问题,该如何让robot去访问https://flaaaaaaaag.cubestone.com/?secret=demo
因为存在跨域问题,这样我们的js就无法实现去访问
看了大佬的文章,知道这里可以利用xxe来实现
构造xxe的dtd放到vps上,svg配合xxe的payload的在PayloadsAllTheThings上面有
1 | <!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=https://flaaaaaaaag.cubestone.com/?secret=demo"> |
再将svg的xml上传
1 |
|
我们成功拿到源码
1 | <script > |
我们尝试去访问一下loader.php?callback=pageload&secret=demo
1 | pageload('Control center access require a vaild secret key. You entered a invaild secret!') |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 f4l1k_blog!
评论