安洵杯2018-WebN出题记录


出题思路

考点,同源代码执行(Some攻击),一个jsonp接口,搞不了xss,获取不了信息,但是能回调调用js函数,这样就可以Bypass csrf token了~

漏洞点:

礼品中心处:
image_1cs6hv2drb3k1sgfrop6u419699.png-251.8KB
怎么购买 怎么充值都是失败的。

分析js代码:
image_1cs6i2efa1qol641htss81lh7m.png-68kB
在reward.php中点击富萝莉后,会用iframe加载confirm.php的文件

跟进confirm.php
一个jsonp的回调接口,
image_1cs6i8oo4b045a2ejo1tb8e9j13.png-74.2kB

跟进接口jsonp接口,字符实体编码,搞不了反射型xss。
image_1cs6ic666kbbvu7pv8e6nknn1g.png-28.6kB

回过头来看reward.php,这里有一个提示:
image_1cs6iei2i1n5616081kh1q4fjte1t.png-416.3kB

点击之后,怎么也提示钱不够,而且还有token的验证。
image_1cs6ihh498mk5o31fmv116o6m2a.png-497.5kB

这里思路就很清晰了,csrf 绕token,配合首页的富萝莉客服,让客服点击链接,帮你购买商品
image_1cs6ikkns17jqtba16p41q1j1okn37.png-346.6kB
image_1cs6il75t43efc660pgdbr3k.png-94.5kB

不难想到,肯定就是some攻击调用reward.php中的pay()函数了
image_1cs6ip4581v9a1hsjvpt1lsb29941.png-72.9kB

exp:
exp.zip-1.1kB

自动测试爬虫:
1.py-0.3kB

视频demo:
demo.mp4-2923.9kB