2.IOS
解题链接:http://ctf4.shiyanbar.com/web/IOS/index.php
这题页面中提示系统升级到了ios99,我们可以想到修改User-Agent进行欺骗。
关于User-Agent,大家参考我的这篇博文加以了解。User Agent是一个特殊字符串头,是一种向访问网站提供我们所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。我们访问网页的时候,会自动提交这个参数。通过这个标识,我们访问的网站可以显示不同的排版从而适应我们的浏览器,提供更好的体验。
我们可以在网上搜索一个IOS99的User-Agent值示例,也可以自己构造,比如
Mozilla/5.0 (iPhone; CPU iPhone OS 99 like Mac OS X) AppleWebKit/0 Safari/536
我们根据要求,提交信息之后,即可获得flag。
这里检测了浏览器标识 、操作系统标识、渲染引擎标识、版本信息。顺带提一下,最后的浏览器字段,只能使用Safari,你改成其他浏览器就不行,
因为Safari是苹果研发的浏览器,也是iPhone手机、iPodTouch、iPad平板电脑中iOS指定默认浏览器。
但是,我测试的时候发现有的会出现flag,有的却不会。我很郁闷,当时还是教学弟来着,一下子打了自己的脸,回宿舍后,做了以下测试
ios6 Mozilla/5.0 (iPhone; CPU iPhone OS 99 like Mac OS X) AppleWebKit/534.46 (Khtml, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3
ios5 Mozilla/5.0 (iPhone; CPU iPhone OS 99 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A405 Safari/7534.48.3
ios4 Mozilla/5.0 (iPhone; U; CPU iPhone OS 99 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5
ios3 Mozilla/5.0 (iPhone; U; CPU iPhone OS 99 like Mac OS X; ja-jp) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7E18 Safari/528.16
这是我在网上找的几个user-agent。burp抓包,然后发送到repeater后改user-agent,我刚测试了上面几个,发现上面ios6,ios5回显出现flag,ios4,ios3不能回显flag.对比后发现
发现如果iphone后有U;的话就不会回显flag。所以在网上随便找ios的user-agent把版本号修改为99.有U;的话删掉,没有的话直接就可以。
注意:删U;时注意空格,空格该删也要删,不然也不回显