• 练习链接

  • http://google-gruyere.appspot.com/

  • 点开是纯英文的 直接点翻译即可

  

  • 一 .part1

    http://google-gruyere.appspot.com/part1

    看下 使用介绍:Using Gruyere

    按照主页上的“所有代码段”链接查看其他用户的代码段。 还要看看他们的主页设置为什么。
    注册一个帐户供自己在黑客使用时使用。 您的Gruyere帐户不要使用与您使用任何实际服务相同的密码。
    填写您的帐户的个人资料,包括一个私人片段和一个将显示您的名字的图标。
    创建一个包含你喜欢的笑话的片段(通过“新片段”)。
    上传文件(通过“上传”)到您的帐户。
    这涵盖了格鲁耶尔提供的基本功能。 现在让我们来打破它们!

    第一阶段没有什么营养 就是正常熟悉一个网站的业务

    二 第二阶段 Cross-Site Scripting (XSS)

    第二阶段就是熟悉XSS

    no.1 文件上传xss  找到文件上传的地方

    直接上传一个HTML,然后在我们的HTML里面加入相应的弹cookie的JS代码即可 然后上传

    

  • no.2 反射型 XSS

    测试样例 直接在URL后  这是直接在URL后面输入的反射型XSS

    全是<> 检查是否过滤

    /%3e%3c
    /%253e%253c
    /%c0%be%c0%bc
    /%26gt;%26lt;
    /%26amp;gt;%26amp;lt;
    /\074\x3c\u003c\x3C\u003C\X3C\U003C
    /+ADw-+AD4-

    这会尝试>和<以许多不同的方式,可能能够通过网址,并得到不正确的渲染使用:逐字(URL%-encoding),双%编码,错误的UTF-8编码,HTML和编码,双 编码和C风格编码的几种不同的变化。 查看结果来源,看看是否有任何工作。 (注意:在URL中输入> <与%3e%3c是一样的,因为浏览器会自动%编码这些字符,如果你想要一个literal或者>,那么你需要使用curl这样的工具来发送 URL中的那些字符)

    最终结果直接访问URL:
    http://google-gruyere.appspot.com/618797293401537791985845103200180401152/%3Cscript%3Ealert(document.cookie)%3C/script%3E 成功弹窗


  • No.3 留言处的存储XSS

    留言的框处有XSS 点击New Snippet 直接输入paload

    " ><img src=x onerror =prompt(1)> <" OK 
    


  • NO.4 html via 属性中的存储XSS

    也可以通过向HTML属性注入值来执行XSS。 通过设置配置文件中的颜色值来注入脚本。
    在profile配置界面的颜色属性输入payload即可 成功弹窗

    red' onload='alert(3)' onmouseover='alert(4)

  • Internet Explorer的动态CSS属性(又名CSS表达式)使这种攻击特别容易。
    expression(alert(1))

    NO.5 ajax属性中的存储XSS( 失败)

    To exploit, Put this in your snippet:
    all "

    • (alert(1),"")
    • "your base

    no.6 ajax中的反射XSS

    直接在分段的uid中直接插入XSS即可 uid是一个AJAX参数

  • 首先,确保你了解问题。
    只要有可能,请通过模板功能进行清理,而不是在源代码中调用转义函数。这样,所有的转义都在一个地方完成,您的产品可以受益于为模板系统设计的安全技术,以验证其正确性或实际上为您逃脱。另外,请熟悉模板系统的其他安全功能。
    采用与XSS相关的良好测试规范。
    不要写你自己的模板库:)

谷歌在线appspot平台教你学Hacker(由浅如深)-XSS篇的更多相关文章

  1. jQuery Text-to-Speech 谷歌在线语音

    <!DOCTYPE html> <html> <head> <meta content="text/html; charset=utf-8" ...

  2. python解析谷歌在线表格链接,转化为数组形式,图片转化为链接

    在线表格已成为趋势,传统的表格导入导出已经不能满足现在企业的发展. 必须支持在线表格的导入,只需要输入在线表格的链接,就能将数据读取出来. 而且相比相传表格,能够将图片信息一块读取.在线表格中的图片也 ...

  3. 小白学数据分析--聚类分析理论之K-means理论篇

    小白学数据分析--聚类分析理论之K-means理论篇 聚类分析是一类广泛被应用的分析方法,其算法众多,目前像SAS.Splus.SPSS.SPSS Modeler等分析工具均以支持聚类分析,但是如何使 ...

  4. 跟我一起学.NetCore之MVC过滤器,这篇看完走路可以仰着头走

    前言 MVC过滤器在之前Asp.Net的时候就已经广泛使用啦,不管是面试还是工作,总有一个考点或是需求涉及到,可以毫不疑问的说,这个技术点是非常重要的: 在之前参与的面试中,得知很多小伙伴只知道有一两 ...

  5. 一步一步学EF系列【4、升级篇 实体与数据库的映射】live writer真坑,第4次补发

    前言 之前的几篇文章,被推荐到首页后,又被博客园下了,原因内容太少,那我要写多点呢,还是就按照这种频率进行写呢?本身我的意图这个系列就是想已最简单最容易理解的方式进行,每篇内容也不要太多,这样初学者容 ...

  6. 【小白学C#】浅谈.NET中的IL代码

    一.前言 前几天群里有位水友提问:”C#中,当一个方法所传入的参数是一个静态字段的时候,程序是直接到静态字段拿数据还是从复制的函数栈中拿数据“.其实很明显,这和方法参数的传递方式有关,如果是引用传递的 ...

  7. 一步一步学EF系列【5、升级篇 实体与数据库的映射】live writer真坑,第4次补发

    前言 之前的几篇文章,被推荐到首页后,又被博客园下了,原因内容太少,那我要写多点呢,还是就按照这种频率进行写呢?本身我的意图这个系列就是想已最简单最容易理解的方式进行,每篇内容也不要太多,这样初学者容 ...

  8. 阿里云学生机——Mysql配置---教小白入门篇

    首先,我的学生机默认配置为:CentOS 7.2 64位 + Tomcat 8 + Jdk8 + MySQL5.7.16 扩展:Linux 如何查看 MySQL 版本号----使用命令 mysql - ...

  9. Flutter 即学即用系列博客总结篇

    前言 迟到的总结篇,其实大家看我之前发的系列博客最后一篇,发文时间是 3 月 29 日.距离现在快两个月了. 主要是因为有很多事情在忙,所以这篇就耽搁了. 今天终于可以跟大家会面了. 系列博客背景 F ...

随机推荐

  1. jquery源码解析:代码结构分析

    本系列是针对jquery2.0.3版本进行的讲解.此版本不支持IE8及以下版本. (function(){ (21, 94)     定义了一些变量和函数,   jQuery = function() ...

  2. python的数据结构分类,以及数字的处理函数,类型判断

    python的数据结构分类: 数值型 int:python3中都是长整形,没有大小限制,受限内存区域的大小 float:只有双精度型 complex:实数和虚数部分都是浮点型,1+1.2J bool: ...

  3. 2,ThreadGroup 概念以及用法

    当一个任务需要多个子线程去处理业务,这时候不希望这些子线程杂乱无章, 就需要把这些线程统一管理起来,这时候线程组就产生了. ThreadGroup  常用方法讲解 activeCount()   返回 ...

  4. DHCP应用案列

    环境:centos7 需求:让员工实现0配置即可接入网络,但公司内部的若干文件服务器和打印机服务器需要使用固定的ip 部署dhcp服务很简单,首先安装dhcp,yum -y install dhcp. ...

  5. Easyui里面动态设置输入框的可见性

    JQuery EasyUI 动态隐藏   一.隐藏datagrid某一列 $('#dg').datagrid('hideColumn', 'field'); 二.隐藏html的lable.input标 ...

  6. 进阶篇:2)DFMA方法的运用

    本章目的:DFMA方法运用,引导后面的章节.(运用比只理解重要!) 1.DFMA概述 1.1 DFMA的由来 工艺粗略可分为装配工艺和制造工艺.在这里,我们所讲的“制造”是指产品或部件的某个零件的制造 ...

  7. 论文阅读 | FoveaBox: Beyond Anchor-based Object Detector

    论文阅读——FoveaBox: Beyond Anchor-based Object Detector 概述 这是一篇ArXiv 2019的文章,作者提出了一种新的anchor-free的目标检测框架 ...

  8. 腾讯地图添加多个Marker

    //重置地图 init(){ var self = this; this.wSize = { wHeight: window.innerHeight-, wWidth: window.innerWid ...

  9. (转)shell变量及扩展

    1.shell变量 shell变量赋值语句为”name=[value]“,等号两边不能有空格,可以给shell变量追加内容”name+=value“,取消shell变量的设置使用”unset name ...

  10. Oracle rownum

    本问参考自Oracle中ROWNUM的使用技巧.纯属读书笔记,用于加深记忆 rownum是oracle中的一种伪列,它会根据返回的记录生成一个序列化的数字,利用rownum,我们可以得到一些原先难以得 ...