内容简介:RCTF 2017 web writeup
强撸两道半,noxss栽在了自己的单线程脑回路上。
总的来说,蓝猫师父出题是很有诚意的。
=================================================================
rBlog
最简单的一道web
但是最后也只有11个解出,可能是因为有一点脑洞吧
在源码审计中其实发现了一个SSTI,并不是完全没洞,但是因为是后台利用所以也比较鸡肋
根据提示,发现了view里的feed,生成了一个rss订阅页
但是删除文章后,这个rss也是会改变的
所以这就需要用到自带缓存功能的阅读器了
我使用了feedly,获得了flag
rCDN
比较符合正常思路/但是最后的验证方式有点不合理,单纯作为题目可以理解
最后是2个解出(手贱用小号交了二血)
登录注册后得到hint no xss或者sqli
那么来看业务逻辑
/base/new 可以添加一个基础的混合8位字母数字域名
而/pro 则允许你添加一个自定义的域名
但是所有pro相关的功能都是不允许的,毕竟普通用户
那么这时候看到了ticket功能
尝试提交一个普通域名,直接提示 免费账户无权进行这个操作
那么应该就是要提交pro域名(6位以下)
但是过一段时间后提示closed,因为域名不存在
一开始的思路是不是跑一下子域名呢
dns域传送利用失败,想想也不可能嘛
于是上一波subDomainbrute
是爆出来了东西,但是提交后,没卵用,仍然提示不存在
后来感觉这个校验应该仍然是在数据库里做的
所以问题就变成了:
域名<=6位 且 在数据库里
这时候只能想到浏览器里的unicode字符判断问题了
比如这样的mm数学符号,虽然长度为1,直接访问的话是等效于两个m的
那么这思路其实也是最早mramydnei,m锅发的
通过这个方法拿到了flag
但是说实话,这个验证比较不合理,从实际出发来说,后台客服不大可能用浏览器去验证
noxss
用非预期方法做出了csp-bypass xss
大概思路是unpkg里的url处于csp允许范围内
因此找到一个可控点引发xss就可以了
然而还是栽在了自己的单线程脑回路上
以为phpinfo页只是给个版本提示罢了,其实它是用来泄露http only的cookies的
正解的思路来自这篇文章
http://blog.innerht.ml/cross-origin-css-attacks-revisited-feat-utf-16/
利用css对标识符的宽泛编码限制来进行了跨域css加载和信息泄露
但是这个漏洞在新版webkit浏览器中,对跨域的css做出了,如果mimetype不对则不予加载的限制
本题则是利用了phpinfo.php来实现了同域css的加载与攻击
以上所述就是小编给大家介绍的《RCTF 2017 web writeup》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Compilers
Alfred V. Aho、Monica S. Lam、Ravi Sethi、Jeffrey D. Ullman / Addison Wesley / 2006-9-10 / USD 186.80
This book provides the foundation for understanding the theory and pracitce of compilers. Revised and updated, it reflects the current state of compilation. Every chapter has been completely revised ......一起来看看 《Compilers》 这本书的介绍吧!