跨网站指令码(Cross-site scripting,通常简称为XSS)是一种网站应用程式的安全漏洞攻击,是代码注入的一种。它允许恶意使用者将程式码注入到网页上,其他使用者在观看网页时就会受到影响。这类攻击通常包含了HTML以及使用者端脚本语言。
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得到更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。
--Wiki
1.基本原理
1.xss攻击示意图
引用自XSS跨站脚本攻击剖析与防御
使用一段php代码示例
1 <html> 2 <head> 3 <title>XSS test</title> 4 </head> 5 <body> 6 <form action = "xss.php" method = "POST"> 7 Please input your name:<br> 8 <input type = "text" name = "name" value = ""></input> 9 <input type = "submit" value ="提交"></input> 10 </body> 11 </html>
后台php代码:
1 <html> 2 <head> 3 <title>test reply</title> 4 </head> 5 <body> 6 <?php 7 echo $_REQUEST[name]; 8 ?> 9 </body> 10 </html>
输入1:player
输出1:player
但是如果输入为:
<script>alert(/xss/)</script>
输出2:
说实话这本书读到这里我也很疑惑;
疑惑1:如果不能获取高权限修改html那么就算是往文本框里写入什么xss代码结果也只能自己看到。
疑惑2:如何做到窃取用户cookies,进一步扩大危害。
明天带着问题去找书。就先不看接下来的绕过xss筛选规则的方法了。
2016-08-22 22:12:15